:root{--accent: #379fff;--accent-hover: #5eb3ff;--bg: #0a0a0a;--surface: #111111;--text: #e0e0e0;--text-muted: #888888;--input-text: #cccccc;--color-portfolio: #22c55e;--color-client: #379fff;--color-preview: #a855f7;--color-archive: #555555}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,sans-serif}.app{min-height:100vh;display:flex;flex-direction:column}header{padding:1rem;border-bottom:1px solid #222;display:flex;justify-content:space-between;align-items:center}header .brand{display:flex;align-items:center;gap:.5rem;cursor:pointer}header .header-logo{height:1.5rem;width:auto;object-fit:contain}header h1{margin:0;font-size:1.25rem}header nav{display:flex;align-items:center;gap:.5rem}header nav span{color:#888;font-size:.85rem}header nav button{background:#222;border:none;color:#fff;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}header nav button:hover{background:#333}main{display:flex;flex:1;overflow:hidden}.panel{background:#111;padding:1rem;overflow-y:auto}.sidebar{width:280px;border-right:1px solid #222;flex-shrink:0}.sidebar-card{background:#1a1a1a;border-radius:8px;padding:1rem;margin-top:1rem}.sidebar-card h3{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-card form{display:flex;flex-direction:column;gap:.5rem}.sidebar-card input{font-size:.9rem}.sidebar-card button[type=submit]{margin-top:.25rem}.main{flex:1;min-width:0}.placeholder{color:#555;text-align:center;padding:2rem}h2{margin:0 0 1rem;font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em}ul{list-style:none;padding:0;margin:0 0 1rem}li{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-radius:4px;cursor:pointer}li:hover{background:#1a1a1a}li.selected{background:#222}li span{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.9rem}li .actions{display:flex;gap:.25rem}li .actions button,.thumb-actions button{background:#333;border:none;color:#888;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center}li .actions button:hover,.thumb-actions button:hover{background:#444;color:#fff}li .actions button:last-child:hover,.thumb-actions button:last-child:hover{background:#c00}.thumb-actions button.active{background:var(--accent);color:#fff}.thumb-actions button svg{display:block}.badge{background:#333;color:#888;padding:.15rem .4rem;border-radius:3px;font-size:.65rem;text-transform:uppercase}.gallery-list li{flex-direction:row;align-items:flex-start;padding:.75rem .5rem;gap:.5rem;border-left:3px solid transparent}.gallery-item-content{flex:1;min-width:0}.gallery-item-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-item-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.status-badge{font-size:.7rem;text-transform:capitalize;padding:.15rem .4rem;border-radius:3px}.status-badge.draft{background:#2a2a2a;color:#888}.status-badge.published{background:#1a3a1a;color:#4a4}.status-badge.scheduled{background:#2a2a1a;color:#aa4}.settings-btn{background:transparent!important;border:none;color:#666;padding:.25rem;cursor:pointer;display:flex;align-items:center}.settings-btn:hover{color:var(--accent)!important;background:transparent!important}.delete-btn{background:#333;border:none;color:#666;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.9rem;align-self:flex-start;margin-top:.25rem}.delete-btn:hover{background:#c00;color:#fff}form{display:flex;flex-direction:column;gap:.5rem}form h3{margin:.5rem 0;font-size:.9rem;color:#888}input,textarea{background:#1a1a1a;border:1px solid #333;color:var(--input-text);padding:.5rem;border-radius:4px;font-family:inherit;font-size:16px}input:focus,textarea:focus{outline:none;border-color:#555}textarea{resize:vertical;min-height:80px}label{display:flex;align-items:center;gap:.5rem;color:#888;font-size:.9rem}label input[type=checkbox]{width:auto}button{background:#2a2a2a;border:none;color:#fff;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}button:hover{background:#333}button[type=submit]{background:#2a2a2a;border:none;color:#fff;padding:.5rem .75rem;border-radius:4px;cursor:pointer}button[type=submit]:hover{background:#333}.btn-row{display:flex;gap:.5rem;flex-direction:row-reverse}.btn-row button{flex:1}.btn-row button[type=submit]{background:transparent;border:1px solid var(--accent);color:var(--accent)}.btn-row button[type=submit]:hover{background:var(--accent);color:#fff}.gallery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.gallery-header h2{margin:0}.desc{color:#666;margin:.5rem 0 0;font-size:.9rem}.gallery-controls{display:flex;align-items:center;gap:1rem}.size-slider{display:flex;align-items:center;gap:.5rem}.size-slider input[type=range]{width:100px;height:4px;-webkit-appearance:none;background:#333;border-radius:2px;cursor:pointer}.size-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#666;border-radius:50%;cursor:pointer}.size-slider input[type=range]::-webkit-slider-thumb:hover{background:#888}.size-icon{color:#555}.upload input[type=file]{display:none}.upload-btn{background:#2a2a2a;border:none;color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;display:inline-block;font-size:.85rem;white-space:nowrap}.upload-btn:hover{background:#333}.upload-progress{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem}.upload-progress.complete{border-color:#4a4;background:#1a2a1a}.upload-progress.error{border-color:#a44;background:#2a1a1a}.upload-progress-content{display:flex;flex-direction:column;gap:.5rem}.upload-progress-info{display:flex;align-items:center;gap:.75rem}.upload-status{font-weight:500;color:#fff}.upload-progress.uploading .upload-status,.upload-progress.processing .upload-status{color:var(--accent, #4a9eff)}.upload-progress.complete .upload-status{color:#4a4}.upload-progress.error .upload-status{color:#c44}.upload-count{color:#888;font-size:.85rem}.upload-progress-bar{height:4px;background:#333;border-radius:2px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--accent, #4a9eff);border-radius:2px;transition:width .3s ease-out}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px;background:#1a1a1a;cursor:pointer}.thumb.loading{animation:pulse 1.5s infinite}.thumb.processing{cursor:default}.thumb-processing{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#555}.thumb-processing svg{animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.thumb img{width:100%;height:100%;object-fit:cover}.thumb.cover{box-shadow:0 0 0 2px #fff}.thumb-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px}.thumb-title{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background:linear-gradient(transparent,#000c);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000fa;z-index:1000;overflow:hidden}.lb-close{position:absolute;top:0;right:0;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:1rem;z-index:20;opacity:.7;transition:opacity .2s}.lb-close:hover{opacity:1}.lb-content{display:flex;flex-direction:column;height:100%;width:100%;position:relative}.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:1rem;z-index:10;opacity:.5;transition:opacity .2s}.lb-prev{left:0}.lb-next{right:0}.lb-prev:hover,.lb-next:hover{opacity:1}.lb-prev:disabled,.lb-next:disabled{opacity:.2;cursor:default}.lb-swiper{flex:1;width:100%;min-height:0}.lb-swiper .swiper-wrapper{align-items:center}.lb-swiper .swiper-slide{display:flex;align-items:center;justify-content:center}.lb-slide{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0 3rem;box-sizing:border-box}.lb-slide img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.lb-info{padding:.75rem 1rem;text-align:center;flex-shrink:0}.lb-info-inner{max-width:600px;margin:0 auto}.lb-info h3{margin:0 0 .25rem;font-size:.95rem}.lb-info p{margin:0 0 .5rem;color:#888;font-size:.85rem}.exif{display:flex;flex-wrap:wrap;gap:.25rem .75rem;justify-content:center;color:#666;font-size:.7rem;margin-bottom:.5rem}.lb-actions{display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:.5rem}.lb-counter{color:#666;font-size:.75rem}.download-btn{display:inline-block;background:#222;color:#fff;padding:.4rem .75rem;border-radius:4px;text-decoration:none;font-size:.8rem}.download-btn:hover{background:#333}.lb-favorite-btn{display:flex;align-items:center;gap:.3rem;background:#222;color:#888;border:none;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s}.lb-favorite-btn:hover{background:#333;color:#fff}.lb-favorite-btn.active{background:#c44;color:#fff}.lb-favorite-btn svg{flex-shrink:0;width:16px;height:16px}@media (max-width: 900px) and (orientation: landscape){.lb-content{flex-direction:row}.lb-swiper{flex:1;height:100%;width:auto}.lb-slide{padding:0 2.5rem}.lb-info{width:180px;flex-shrink:0;padding:.5rem;display:flex;align-items:center;border-left:1px solid #222;overflow-y:auto}.lb-info-inner{text-align:left}.lb-info h3{font-size:.85rem}.lb-info p{font-size:.75rem}.lb-actions{justify-content:flex-start;flex-direction:column;align-items:stretch}.lb-actions>*{justify-content:center}.lb-counter{text-align:left}.exif{justify-content:flex-start}.lb-prev,.lb-next{font-size:1.5rem;padding:.5rem}}.favorite-btn{position:absolute;top:4px;left:4px;background:#0009;border:none;color:#888;padding:.35rem;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,color .2s;display:flex;align-items:center;justify-content:center}.thumb:hover .favorite-btn{opacity:1}.favorite-btn:hover{color:#fff}.favorite-btn.active{opacity:1;color:#e55}.thumb.favorited{box-shadow:0 0 0 2px #c44}.lb-order-btn{display:flex;align-items:center;gap:.4rem;background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.lb-order-btn:hover{filter:brightness(1.1)}.lb-order-btn svg{flex-shrink:0}.cart-btn{display:flex;align-items:center;gap:.3rem;background:var(--accent);color:#fff;border:none;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.cart-btn:hover{filter:brightness(1.1)}.cart-count{background:#fff;color:var(--accent);padding:.1rem .4rem;border-radius:10px;font-size:.75rem;font-weight:700}.product-selector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem}.product-selector{background:#111;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;position:relative}.product-selector .close-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer;z-index:10}.product-selector .close-btn:hover{color:#fff}.ps-header{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid #222}.ps-image{width:80px;height:80px;flex-shrink:0}.ps-image img{width:100%;height:100%;object-fit:cover;border-radius:4px}.ps-title h2{margin:0 0 .25rem;font-size:1.1rem}.ps-title p{margin:0;color:#888;font-size:.85rem}.ps-content{flex:1;overflow-y:auto;padding:1rem}.ps-loading,.ps-empty{padding:2rem;text-align:center;color:#666}.ps-category{margin-bottom:1.5rem}.ps-category h3{margin:0 0 .5rem;font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.ps-product-list,.ps-variant-list{display:flex;flex-direction:column;gap:.5rem}.ps-product,.ps-variant{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;border:1px solid #333;padding:.75rem 1rem;border-radius:4px;cursor:pointer;color:#ccc;font-size:.9rem}.ps-product:hover,.ps-variant:hover{border-color:#555;color:#fff}.ps-product.selected,.ps-variant.selected{border-color:var(--accent);background:#4a90e21a;color:#fff}.ps-product .price,.ps-variant .price{color:#888}.ps-product.selected .price,.ps-variant.selected .price{color:var(--accent)}.ps-variants{margin-top:1rem;padding-top:1rem;border-top:1px solid #222}.ps-variants h3{margin:0 0 .5rem;font-size:.9rem;color:#888}.ps-quantity{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #222}.ps-quantity label{color:#888;font-size:.9rem}.qty-controls{display:flex;align-items:center;gap:.5rem}.qty-controls button{width:32px;height:32px;background:#222;border:1px solid #333;color:#fff;border-radius:4px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center}.qty-controls button:hover{background:#333}.qty-controls span{width:40px;text-align:center;font-size:1rem}.ps-footer{padding:1rem;border-top:1px solid #222;display:flex;justify-content:space-between;align-items:center}.ps-total{font-size:1.1rem;font-weight:600}.ps-add-btn{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500}.ps-add-btn:hover{filter:brightness(1.1)}.ps-add-btn:disabled{background:#444;color:#666;cursor:not-allowed;filter:none}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1100;display:flex;justify-content:flex-end}.cart-panel{background:#111;width:100%;max-width:450px;height:100%;display:flex;flex-direction:column;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #222}.cart-header h2{margin:0;font-size:1.2rem}.cart-header .close-btn{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer}.cart-header .close-btn:hover{color:#fff}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#666}.cart-empty button{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.cart-items{flex:1;overflow-y:auto;padding:1rem}.cart-item{display:grid;grid-template-columns:60px 1fr auto auto auto;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #222}.cart-item:last-child{border-bottom:none}.item-image{width:60px;height:60px}.item-image img{width:100%;height:100%;object-fit:cover;border-radius:4px}.item-details{min-width:0}.item-title{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-product{font-size:.8rem;color:#888;margin-top:.2rem}.item-price{font-size:.8rem;color:#666;margin-top:.2rem}.item-quantity{display:flex;align-items:center;gap:.3rem}.item-quantity button{width:24px;height:24px;background:#222;border:1px solid #333;color:#888;border-radius:4px;cursor:pointer;font-size:.9rem}.item-quantity button:hover{color:#fff;background:#333}.item-quantity span{width:28px;text-align:center;font-size:.9rem}.item-total{font-weight:500;font-size:.95rem;min-width:60px;text-align:right}.item-remove{background:none;border:none;color:#666;font-size:1.2rem;cursor:pointer;padding:.25rem}.item-remove:hover{color:#c44}.cart-footer{padding:1rem 1.25rem;border-top:1px solid #222}.cart-subtotal{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:1.1rem;font-weight:500}.checkout-btn{width:100%;background:var(--accent);color:#fff;border:none;padding:.9rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.checkout-btn:hover{filter:brightness(1.1)}.checkout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1200;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:1rem}.checkout-panel{background:#111;width:100%;max-width:900px;border-radius:8px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column}.checkout-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #222}.checkout-header .back-btn{background:none;border:none;color:#888;cursor:pointer;font-size:.9rem;padding:.3rem .5rem}.checkout-header .back-btn:hover{color:#fff}.checkout-header h2{margin:0;font-size:1.25rem}.checkout-content{flex:1;overflow-y:auto;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.checkout-shipping{grid-column:1}.checkout-shipping h3,.checkout-summary h3,.checkout-payment h3{margin:0 0 1rem;font-size:1rem;color:#888}.checkout-shipping input{width:100%;padding:.75rem;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#fff;font-size:.9rem;margin-bottom:.75rem}.checkout-shipping input:focus{border-color:var(--accent);outline:none}.checkout-shipping .row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checkout-summary{grid-column:2;grid-row:1 / 3}.summary-items{max-height:200px;overflow-y:auto;margin-bottom:1rem;border:1px solid #222;border-radius:4px}.summary-item{display:grid;grid-template-columns:50px 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border-bottom:1px solid #222}.summary-item:last-child{border-bottom:none}.summary-item img{width:50px;height:50px;object-fit:cover;border-radius:4px}.summary-item .item-info{min-width:0}.summary-item .item-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-item .item-variant{font-size:.75rem;color:#666}.summary-item .item-qty{font-size:.75rem;color:#888}.summary-item .item-price{font-size:.9rem;font-weight:500}.summary-totals{background:#1a1a1a;padding:1rem;border-radius:4px}.total-line{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.5rem}.total-line:last-child{margin-bottom:0}.total-line.grand-total{font-size:1.1rem;font-weight:600;border-top:1px solid #333;padding-top:.75rem;margin-top:.5rem}.checkout-payment{grid-column:1}.stripe-placeholder{background:#1a1a1a;border:2px dashed #333;border-radius:4px;padding:2rem;text-align:center;color:#666}.stripe-placeholder p{margin:.5rem 0}.stripe-placeholder .hint{font-size:.8rem;color:#555}.stripe-card-element{background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:1rem}.stripe-card-element .StripeElement--focus{outline:none;border-color:var(--accent)}.checkout-loading{padding:3rem;text-align:center;color:#666}.checkout-error{color:#c44;padding:0 1.5rem;font-size:.9rem}.checkout-footer{padding:1rem 1.5rem;border-top:1px solid #222}.place-order-btn{width:100%;background:var(--accent);color:#fff;border:none;padding:1rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600}.place-order-btn:hover{filter:brightness(1.1)}.place-order-btn:disabled{background:#444;color:#666;cursor:not-allowed;filter:none}@media (max-width: 768px){.checkout-content{grid-template-columns:1fr}.checkout-summary{grid-column:1;grid-row:auto}}.lb-counter{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);color:#666;font-size:.8rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:#111;padding:1.5rem;border-radius:8px;width:100%;max-width:400px}.modal h3{margin:0 0 1rem}.login-container{display:flex;align-items:center;justify-content:center;flex:1;padding:1rem}.login-form{background:#111;padding:1.5rem;border-radius:8px;width:100%;max-width:300px;text-align:center}.login-form .login-logo{max-width:120px;max-height:80px;object-fit:contain;margin-bottom:1rem}.login-form h2{margin:0 0 1rem;font-size:1.25rem}.login-form .error{color:#c00;margin:.5rem 0;font-size:.9rem}.login-form .toggle{color:#666;font-size:.85rem;text-align:center;cursor:pointer;margin-top:1rem}.login-form .toggle:hover{color:#888}.public-gallery-page{min-height:100vh;display:flex;flex-direction:column}.public-gallery-page .site-header{position:sticky;top:0;z-index:100;background:var(--bg);transition:transform .3s ease}.public-gallery-page .site-header.hidden{transform:translateY(-100%)}.public-gallery-page .site-header .brand{cursor:pointer}.public-gallery{padding:1rem;max-width:1400px;margin:0 auto;flex:1}.public-gallery .gallery-header{text-align:center;margin-bottom:1.5rem;border:none;padding:0;display:block;position:relative}.public-gallery .gallery-header .back-btn{position:absolute;left:0;top:50%;transform:translateY(-50%);background:transparent;border:1px solid #444;color:#888;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem}.public-gallery .gallery-header .back-btn:hover{border-color:#666;color:#fff}.public-gallery .gallery-header h1{font-size:1.5rem;margin-bottom:.5rem}.public-gallery .gallery-header p{color:#888;margin:0;font-size:.9rem}.admin-tabs{display:flex;gap:.25rem}.admin-tabs button{background:transparent;border:none;color:#666;padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.admin-tabs button:hover{background:#1a1a1a;color:#888}.admin-tabs button.active{background:#222;color:#fff}.single-panel{padding:1rem;max-width:800px}.admin-panel{background:#111;padding:1rem;border-radius:8px}.admin-panel h2{margin-top:1.5rem}.admin-panel h2:first-child{margin-top:0}.row{display:flex;gap:.5rem}.row>*{flex:1}select{background:#1a1a1a;border:1px solid #333;color:var(--input-text);padding:.5rem;border-radius:4px;font-family:inherit;font-size:16px;height:2.5rem}select:focus{outline:none;border-color:#555}.checkboxes{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.inline-form{display:flex;gap:.5rem;flex-direction:row}.inline-form input{flex:1}.category-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-item{display:flex;align-items:center;gap:.25rem;background:#222;padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.category-item button{background:transparent;border:none;color:#666;cursor:pointer;padding:0}.category-item button:hover{color:#c00}.product-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.product-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;padding:.75rem;border-radius:4px}.product-item.unavailable{opacity:.5}.product-item strong{margin-right:.5rem}.product-item .price{color:#4a4;font-weight:700}.product-item p{margin:.25rem 0 0;color:#666;font-size:.8rem}.product-item .actions{display:flex;gap:.25rem}.product-item .actions button{background:#333;border:none;color:#888;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem}.product-item .actions button:hover{background:#444;color:#fff}.product-item .actions button:last-child:hover{background:#c00}.client-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.client-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;padding:.75rem;border-radius:4px}.client-item strong{margin-right:.5rem}.client-item .email{color:#888;font-size:.85rem;margin-right:.5rem}.client-item .phone{color:#666;font-size:.85rem}.client-item .actions{display:flex;gap:.25rem}.client-item .actions button{background:#333;border:none;color:#888;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem}.client-item .actions button:hover{background:#444;color:#fff}.client-item .actions button:last-child:hover{background:#c00}.orders-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.orders-header h2{margin:0}.orders-filters{display:flex;gap:.5rem}.orders-filters input{background:#1a1a1a;border:1px solid #333;color:var(--input-text);padding:.4rem .6rem;border-radius:4px;width:160px}.orders-filters select{background:#1a1a1a;border:1px solid #333;color:var(--input-text);padding:.4rem;border-radius:4px}.orders-layout{display:grid;grid-template-columns:320px 1fr;gap:1rem}.order-list{display:flex;flex-direction:column;gap:.5rem;max-height:70vh;overflow-y:auto}.order-card{background:#1a1a1a;padding:.75rem;border-radius:6px;cursor:pointer;border:1px solid transparent}.order-card:hover{background:#222;border-color:#333}.order-card.selected{background:#252525;border-color:#444}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.order-card .order-id{font-weight:700;font-size:.9rem}.order-card .status-badge{padding:.15rem .4rem;border-radius:3px;font-size:.7rem;text-transform:uppercase;color:#fff}.order-card-client{margin-bottom:.4rem}.order-card-client strong{display:block;font-size:.9rem}.order-card-client .email{font-size:.75rem;color:#888}.order-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#888}.order-card-footer .total{color:#4a4;font-weight:700}.order-card-footer .item-count{color:#666}.order-details-panel{background:#1a1a1a;padding:1rem;border-radius:8px;max-height:70vh;overflow-y:auto}.order-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #333}.order-details-header h3{margin:0}.btn-danger{background:#600;border:none;color:#fff;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem}.btn-danger:hover{background:#900}.btn-sm{font-size:.75rem;padding:.25rem .5rem}.detail-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #222}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h4{margin:0 0 .5rem;color:#888;font-size:.85rem;text-transform:uppercase}.status-actions{display:flex;gap:.25rem;flex-wrap:wrap}.status-actions button{background:#333;border:none;color:#888;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem;text-transform:capitalize}.status-actions button:hover{background:#444;color:#fff}.status-actions button.active{color:#fff}.status-actions button:disabled{opacity:.5;cursor:not-allowed}.tracking-section{display:flex;gap:.5rem;margin-top:.5rem}.tracking-section input{flex:1;background:#222;border:1px solid #333;color:#fff;padding:.4rem;border-radius:4px;font-size:.85rem}.tracking-section button{background:#333;border:none;color:#fff;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem}.tracking-section button:hover:not(:disabled){background:#444}.tracking-section button:disabled{opacity:.5;cursor:not-allowed}.client-info p,.shipping-info p{margin:.2rem 0;font-size:.9rem}.shipping-info .address{color:#888;white-space:pre-line}.shipping-info .tracking{color:#4a4;margin-top:.5rem}.payment-info{font-size:.9rem}.payment-row{display:flex;justify-content:space-between;padding:.2rem 0}.payment-row.total{font-weight:700;border-top:1px solid #333;margin-top:.25rem;padding-top:.4rem}.payment-row.total span:last-child{color:#4a4}.payment-row.paid span:last-child{color:#888}.order-items{display:flex;flex-direction:column;gap:.5rem}.order-item-card{display:flex;gap:.75rem;background:#222;padding:.5rem;border-radius:4px}.item-thumb{width:60px;height:60px;flex-shrink:0;border-radius:4px;overflow:hidden;background:#333}.item-thumb img{width:100%;height:100%;object-fit:cover}.thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#666;font-size:1.5rem}.item-details{flex:1;min-width:0}.item-name{font-weight:700;font-size:.9rem;margin-bottom:.15rem}.item-filename{font-size:.75rem;color:#888;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{display:flex;gap:.75rem;font-size:.8rem;color:#888}.item-meta .qty{color:#888}.item-meta .price{color:#666}.item-meta .item-total{color:#4a4;font-weight:700}.timestamps{font-size:.8rem;color:#666}.timestamps p{margin:0}.order-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;padding:.75rem;border-radius:4px;cursor:pointer}.order-item:hover{background:#222}.order-item.selected{background:#2a2a2a}.order-item .order-id{font-weight:700;margin-right:.5rem}.order-item .status{padding:.2rem .5rem;border-radius:3px;font-size:.75rem;text-transform:uppercase;margin-right:.5rem}.order-item .total{color:#4a4}.order-item .date{color:#666;font-size:.85rem}.order-details{background:#1a1a1a;padding:1rem;border-radius:4px;margin-top:1rem}.order-details h3{margin:0 0 .5rem}.order-details h4{margin:1rem 0 .5rem;color:#888;font-size:.9rem}.order-item-detail{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid #333;font-size:.85rem}.selection-list{display:flex;flex-direction:column;gap:.5rem}.selection-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;padding:.75rem 1rem;border-radius:4px;cursor:pointer}.selection-item:hover{background:#222}.selection-item.selected{background:#2a2a2a}.selection-item .selection-info{display:flex;flex-direction:column;gap:.2rem}.selection-item .client-name{font-weight:700}.selection-item .gallery-name{font-size:.85rem;color:#888}.selection-item .selection-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.selection-item .count{color:#4a4;font-weight:500}.selection-item .date{color:#666;font-size:.8rem}.selection-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.selection-modal{background:#1a1a1a;border-radius:8px;max-width:900px;width:90%;max-height:85vh;display:flex;flex-direction:column}.selection-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid #333}.selection-modal .modal-header h3{margin:0;display:flex;flex-direction:column;gap:.25rem}.selection-modal .modal-header .gallery-subtitle{font-size:.85rem;font-weight:400;color:#888}.selection-modal .close-btn{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.selection-modal .close-btn:hover{color:#fff}.selection-modal .selection-count{padding:.75rem 1.25rem;margin:0;color:#888;font-size:.9rem;border-bottom:1px solid #222}.selection-modal .selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;padding:1rem 1.25rem;overflow-y:auto}.selection-thumb{position:relative;aspect-ratio:1;background:#111;border-radius:4px;overflow:hidden}.selection-thumb img{width:100%;height:100%;object-fit:cover}.selection-thumb .filename{position:absolute;bottom:0;left:0;right:0;background:#000000b3;padding:.25rem .5rem;font-size:.7rem;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clients-panel{padding:0!important}.clients-layout{display:flex;min-height:70vh}.client-sidebar{width:280px;border-right:1px solid #222;padding:1rem;flex-shrink:0}.client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.client-header h2{margin:0}.add-btn{background:#2a2a2a;border:none;color:#fff;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.add-btn:hover{background:#333}.client-sidebar .client-list{max-height:calc(70vh - 60px);overflow-y:auto}.client-sidebar .client-item{padding:.6rem;border-radius:4px;cursor:pointer;margin-bottom:.5rem;background:#1a1a1a;display:flex;align-items:center;gap:.75rem}.client-sidebar .client-item:hover{background:#222}.client-sidebar .client-item.selected{background:#2a2a2a;border-left:3px solid #4a4}.client-avatar{width:40px;height:40px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.client-avatar img{width:100%;height:100%;object-fit:cover}.client-avatar span{font-size:1rem;font-weight:600;color:#888}.client-info{flex:1;min-width:0}.client-sidebar .client-item strong{font-size:.9rem;display:block}.client-sidebar .client-item .email{font-size:.8rem;color:#666;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-detail{flex:1;padding:1rem;overflow-y:auto}.client-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#555}.client-form h3{margin:0 0 1rem}.client-form .form-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #222}.client-form .form-section h4{margin:0 0 .5rem;font-size:.8rem;color:#888;text-transform:uppercase}.client-view-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #222}.client-profile{position:relative;flex-shrink:0}.client-photo{width:80px;height:80px;border-radius:8px;background:#222;overflow:hidden;cursor:pointer;position:relative}.client-photo img{width:100%;height:100%;object-fit:cover}.client-photo .photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.client-photo:hover .photo-overlay{opacity:1}.client-photo .photo-overlay span{color:#fff;font-size:.75rem}.client-photo .photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#555}.client-photo .photo-placeholder span{font-size:1.5rem}.client-photo .photo-placeholder small{font-size:.65rem;margin-top:.25rem}.remove-photo{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#c00;border:none;color:#fff;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.client-name-info{flex:1}.client-name-info h3{margin:0 0 .25rem}.client-name-info .email{color:#888;margin:0;font-size:.9rem}.client-name-info .phone{color:#666;margin:.25rem 0 0;font-size:.85rem}.client-view-header .actions{display:flex;gap:.5rem;flex-shrink:0}.client-view-header .actions button{background:#333;border:none;color:#888;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.client-view-header .actions button:hover{background:#444;color:#fff}.client-view-header .actions button.danger:hover{background:#c00}.info-section{margin-bottom:1.5rem}.info-section h4{margin:0 0 .5rem;font-size:.8rem;color:#888;text-transform:uppercase}.info-section p{margin:0;color:#ccc;font-size:.9rem;line-height:1.5}.info-section .notes{background:#1a1a1a;padding:.75rem;border-radius:4px;white-space:pre-wrap}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h4{margin:0}button.small{background:#333;border:none;color:#888;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem}button.small:hover{background:#444;color:#fff}button.small.danger:hover{background:#c00}.invite-form{background:#1a1a1a;padding:.75rem;border-radius:4px;margin-bottom:1rem}.invite-form .hint{margin:0 0 .75rem;font-size:.85rem;color:#888}.invite-options{margin-bottom:.75rem}.invite-options .checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.invite-options .checkbox-label input[type=checkbox]{width:auto}.gallery-select{display:flex;flex-wrap:wrap;gap:.5rem}.gallery-select button{background:#2a2a2a;border:none;color:#fff;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.gallery-select button:hover{background:#4a4}.invite-result{margin-top:.75rem;padding:.75rem;border-radius:4px;font-size:.85rem}.invite-result.success{background:#1a3a1a}.invite-result.error{background:#3a1a1a}.invite-result p{margin:0 0 .25rem}.invite-result p:last-child{margin:0}.invite-result code{background:#333;padding:.15rem .4rem;border-radius:3px;font-size:.9em}.invite-result .email-status{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #333}.invite-result .email-status.sent{color:#4a4}.invite-result .email-status.not-sent{color:#a84}.access-list{display:flex;flex-direction:column;gap:.5rem}.access-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;padding:.75rem;border-radius:4px;gap:1rem}.access-info{flex:1;min-width:0}.access-info strong{font-size:.9rem;display:block;margin-bottom:.4rem}.access-perms{display:flex;flex-wrap:wrap;gap:.35rem}.perm-badge{background:#2a3a2a;color:#6a6;padding:.2rem .5rem;border-radius:3px;font-size:.7rem;font-weight:500}.status{padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.status.active{background:#1a3a1a;color:#4a4}.status.pending{background:#3a3a1a;color:#aa4}.status.inactive{background:#2a2a2a;color:#666}.single-panel.wide{max-width:1200px}@media (max-width: 768px){.clients-layout{flex-direction:column;min-height:auto}.client-sidebar{width:100%;border-right:none;border-bottom:1px solid #222;max-height:none}.client-sidebar.hidden{display:none}.client-sidebar .client-list{max-height:50vh}.client-detail{min-height:60vh}.client-detail.hidden{display:none}.client-back-btn{display:flex!important;align-items:center;gap:.5rem;background:#222;border:none;color:#888;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem;margin-bottom:1rem}.client-back-btn:hover{background:#333;color:#fff}.client-view-header{flex-wrap:wrap;gap:.75rem}.client-view-header .actions{width:100%;justify-content:flex-start;margin-top:.5rem}.client-form .row{flex-direction:column;gap:.5rem}.access-item{flex-direction:column;align-items:flex-start;gap:.5rem}.access-item button.small{align-self:flex-end}}.client-back-btn{display:none}.client-portal{min-height:100vh;background:var(--bg);color:var(--text)}.client-login,.client-onboarding{max-width:400px;margin:0 auto;padding:3rem 1rem;text-align:center}.client-login h1,.client-onboarding h1{font-size:1.5rem;margin:0 0 .5rem}.client-login p,.client-onboarding>p{color:#888;margin:0 0 2rem}.client-login form,.client-onboarding form{display:flex;flex-direction:column;gap:.75rem;text-align:left}.client-login .hint{color:#666;font-size:.85rem;margin-top:1.5rem}.client-onboarding .form-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #222;text-align:left}.client-onboarding .form-section h3{margin:0 0 .75rem;font-size:.9rem;color:#888}.client-portal .client-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #222}.client-portal .client-header h1{margin:0;font-size:1.25rem}.client-nav{display:flex;align-items:center;gap:1rem}.client-nav span{color:#888;font-size:.9rem}.client-nav button{background:#222;border:none;color:#fff;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.client-nav button:hover{background:#333}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1rem}.gallery-card{--card-color: var(--color-client);background:#111;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;border-left:2px solid var(--card-color);border-top:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;box-shadow:0 4px 16px #00000080}.gallery-card:hover{transform:translateY(-2px);border-color:var(--card-color)}.gallery-card .cover{height:180px;background:#1a1a1a;background-size:cover;background-position:center}.gallery-card .cover.placeholder{display:flex;align-items:center;justify-content:center;color:#333}.gallery-card .info{padding:1rem}.gallery-card .info h3{margin:0 0 .5rem;font-size:1rem}.gallery-card .info p{margin:0 0 .5rem;font-size:.85rem;color:#888}.gallery-card .perms{display:flex;gap:.5rem;flex-wrap:wrap}.gallery-card .perms span{background:#222;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;color:#888}.client-gallery-view{padding:1rem}.gallery-back{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.gallery-back button{background:#222;border:none;color:#fff;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.gallery-back button:hover{background:#333}.gallery-back h2{margin:0;font-size:1.25rem;flex:1}.gallery-back .size-slider{margin-left:auto}.selection-footer{position:fixed;bottom:0;left:0;right:0;background:#1a1a1a;border-top:1px solid #333;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;z-index:100}.selection-footer span{color:#888}.submit-selections-btn{background:var(--accent);border:none;color:#fff;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background .15s}.submit-selections-btn:hover:not(:disabled){background:var(--accent-hover)}.submit-selections-btn:disabled{opacity:.6;cursor:not-allowed}.submitted-badge{background:#22c55e;color:#fff;padding:.5rem 1rem;border-radius:6px;font-weight:500}.modal.wide,.modal.modal-wide{max-width:700px}.password-input{display:flex;gap:.5rem;align-items:stretch}.password-input input{flex:1}.password-input button.small{padding:.5rem .75rem;font-size:.75rem}.test-result{padding:.75rem;border-radius:4px;margin-top:.75rem;font-size:.85rem}.test-result.success{background:#1a3a1a;color:#4a4}.test-result.error{background:#3a1a1a;color:#a44}.mode-selector{display:flex;gap:.5rem}.mode-btn{padding:.5rem 1rem;background:#222;border:1px solid #333;border-radius:4px;color:#888;cursor:pointer;font-size:.85rem;transition:all .15s}.mode-btn:hover{border-color:#444;color:#aaa}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.mode-btn.live.active{background:#22c55e;border-color:#22c55e}.stripe-keys-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #222}.stripe-keys-section h4{margin:0 0 .75rem;font-size:.85rem;color:#888}.key-set{color:#22c55e;font-size:.75rem;font-weight:400}.config-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b;padding:.75rem;border-radius:4px;margin-top:1rem;font-size:.85rem}.test-mode{color:#888;font-size:.8rem}.code-textarea{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.4;white-space:pre-wrap;width:100%}.field-hint{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0}.config-list-item.inactive{opacity:.5}.config-list-item .badge.muted{background:#333;color:#888;font-size:.65rem;margin-left:auto}.gallery-modal{width:75vw;max-width:1100px;max-height:calc(100vh - 2rem);padding:0;display:flex;flex-direction:column;overflow:hidden}.gallery-modal .modal-columns{overflow-y:auto;flex:1;min-height:0}.gallery-modal .modal-header,.gallery-modal .modal-footer{flex-shrink:0}.gallery-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #222}.gallery-modal .modal-header h3{margin:0}.gallery-modal .modal-close{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.gallery-modal .modal-close:hover{color:#fff}.gallery-modal form{display:flex;flex-direction:column}.modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1.25rem 1.5rem}.modal-column{display:flex;flex-direction:column;gap:.625rem}.gallery-modal .field-group{margin-bottom:10px}.gallery-modal .field-group:last-child{margin-bottom:0}.gallery-modal .row{margin-bottom:10px}.gallery-modal .row:last-child{margin-bottom:0}.gallery-modal .modal-footer{display:flex;flex-direction:row-reverse;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid #222;background:#0a0a0a}.gallery-modal .modal-footer button{flex:0 0 auto;min-width:120px}.gallery-modal .modal-footer button[type=submit]{background:transparent;border:1px solid var(--accent);color:var(--accent)}.gallery-modal .modal-footer button[type=submit]:hover{background:var(--accent);color:#fff}.danger-zone{margin-top:auto;padding-top:1rem;border-top:1px solid #333}.danger-zone .form-label{color:#a55}button.danger{background:#3a1a1a;border:1px solid #a44;color:#c66}button.danger:hover{background:#a44;color:#fff}.checkbox-list{display:flex;flex-direction:column;gap:.5rem}.checkbox-list label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text)}.checkbox-list input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.cover-options-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.cover-options-row .cover-current{flex-direction:column;gap:.5rem}.cover-options-row .cover-preview{width:100%;height:100px}.cover-options-row .checkbox-list{padding-top:.25rem}.status-row{display:flex;gap:.5rem;align-items:center}.status-row select{flex:0 0 auto}.status-row input[type=datetime-local]{flex:1}.status-row button.danger{flex:0 0 auto;white-space:nowrap}.modal .field-group{margin-bottom:.75rem}.modal .field-group:last-of-type{margin-bottom:1rem}@media (max-width: 900px){.gallery-modal{width:calc(100vw - 2rem)}.modal-columns{grid-template-columns:1fr;gap:1.5rem}}.form-section{margin-bottom:1rem}.status-watermark-row{display:flex;gap:1.5rem}.status-watermark-row .status-section,.status-watermark-row .watermark-section{flex:1}.watermark-controls{display:flex;flex-direction:column;gap:.5rem}.watermark-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.85rem}.watermark-toggle input{margin:0}.watermark-action{display:flex;align-items:center;gap:.5rem}.watermark-progress{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.watermark-progress .progress-bar{height:3px;background:#222;border-radius:2px;overflow:hidden}.watermark-progress .progress-fill{height:100%;background:var(--accent);transition:width .2s}.watermark-progress .progress-text{font-size:.7rem;color:#888}.session-type-chips{display:flex;flex-wrap:wrap;gap:.5rem}.session-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;background:#1a1a1a;border:1px solid #333;border-radius:4px;font-size:.8rem;cursor:pointer;color:#888;transition:all .15s}.session-chip:hover{border-color:#555;color:#ccc;background:#222}.session-chip.selected{color:#fff}.session-chip.add{border-style:dashed;color:#666}.session-chip.add:hover{border-color:var(--accent);color:var(--accent)}.chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.session-badges{display:inline-flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.session-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .4rem;border-radius:3px;font-size:.65rem;background:#222;color:#888;width:fit-content;flex-shrink:0}.session-badge .badge-dot{width:6px;height:6px;border-radius:50%}.form-label{display:block;font-size:.8rem;color:#888;margin-bottom:.5rem;text-transform:uppercase}.field-group{flex:1;display:flex;flex-direction:column;gap:.25rem}.field-label{font-size:.75rem;color:#666}.status-selector{display:flex;gap:.5rem;align-items:center}.status-selector select{flex:0 0 auto}.status-selector input[type=datetime-local]{flex:1}.gallery-type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.type-option{display:flex;flex-direction:column;padding:.75rem;background:#1a1a1a;border:2px solid #333;border-radius:4px;cursor:pointer;transition:all .2s}.type-option:hover{border-color:#444}.type-option.selected{border-color:var(--accent)}.type-option input{display:none}.type-label{font-weight:600;font-size:.9rem}.type-desc{font-size:.75rem;color:#666;margin-top:.25rem}.gallery-overview{padding:1rem}.gallery-overview h2{margin:0;font-size:1.25rem}.overview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.gallery-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.gallery-card{background:#111;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.gallery-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.gallery-card .card-thumb{aspect-ratio:1;background:#1a1a1a;background-size:cover;background-position:center}.gallery-card .card-thumb.empty{display:flex;align-items:center;justify-content:center;color:#555;font-size:.9rem}.gallery-card .card-thumb.empty .upload-prompt{background:#222;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.gallery-card .card-thumb.empty .upload-prompt:hover{background:#333}.gallery-card .card-info{padding:.75rem}.gallery-card .card-info h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.gallery-card .card-info p{margin:0 0 .5rem;font-size:.85rem;color:#888;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-card .card-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.type-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:3px;text-transform:capitalize}.type-badge.portfolio{background:color-mix(in srgb,var(--color-portfolio) 20%,transparent);color:var(--color-portfolio)}.type-badge.client{background:color-mix(in srgb,var(--color-client) 20%,transparent);color:var(--color-client)}.type-badge.preview{background:color-mix(in srgb,var(--color-preview) 20%,transparent);color:var(--color-preview)}.type-badge.archive{background:color-mix(in srgb,var(--color-archive) 20%,transparent);color:var(--color-archive)}.card-settings-btn{margin-left:auto;background:none;border:none;color:#555;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,color .15s,background .15s}.gallery-card:hover .card-settings-btn{opacity:1}.card-settings-btn:hover{color:#fff;background:#333}.cover-current{display:flex;align-items:center;gap:1rem}.cover-preview{width:80px;height:80px;background:#1a1a1a;background-size:cover;background-position:center;border-radius:4px;flex-shrink:0}.cover-preview.auto{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#666;text-align:center;padding:.5rem}.cover-picker-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.cover-picker-modal h3{margin:0 0 1rem}.cover-search{margin-bottom:1rem}.cover-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;overflow-y:auto;max-height:50vh;padding:.25rem}.cover-picker-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;padding:.5rem;border:2px solid transparent;border-radius:4px;background:#1a1a1a}.cover-picker-item:hover{border-color:#444;background:#222}.cover-picker-item.selected{border-color:var(--accent)}.cover-picker-thumb{width:80px;height:80px;background:#222;background-size:cover;background-position:center;border-radius:3px}.cover-picker-thumb.auto{display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#666}.cover-picker-item span{font-size:.75rem;color:#888;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sidebar-header h2{margin:0}.config-panel{padding:0!important}.config-tabs{display:flex;gap:0;border-bottom:1px solid #333;margin-bottom:1rem}.config-tabs button{background:none;border:none;color:#888;padding:.75rem 1.5rem;cursor:pointer;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px}.config-tabs button:hover{color:#fff}.config-tabs button.active{color:#fff;border-bottom-color:var(--accent)}.config-panel .admin-panel,.tools-panel{padding:1rem}.tools-panel h2{margin:0 0 1.5rem}.tools-panel h3{margin:1.5rem 0 .75rem;font-size:.9rem;color:#888;text-transform:uppercase}.tools-panel h3:first-of-type{margin-top:0}.status-section{margin-bottom:2rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.status-item{background:#1a1a1a;padding:1rem;border-radius:8px;text-align:center}.status-item .label{display:block;font-size:.8rem;color:#888;margin-bottom:.5rem}.status-item .value{display:block;font-size:1.5rem;font-weight:700}.status-item.healthy .value{color:#4a4}.status-item.warning .value{color:#a84}.regen-section{background:#1a1a1a;padding:1.5rem;border-radius:8px}.regen-section .form-row{margin-bottom:1rem}.regen-section .form-row label{display:block;font-size:.85rem;color:#888;margin-bottom:.5rem}.regen-section select{width:100%}.warning-box{background:#3a2a1a;border:1px solid #a84;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;color:#da4}.warning-box strong{color:#fa6}button.primary{background:transparent;border:1px solid var(--accent);color:var(--accent)}button.primary:hover{background:var(--accent);color:#fff}button.primary:disabled{background:transparent;border-color:#333;color:#666;cursor:not-allowed}button.outline{background:transparent;border:1px solid #444;color:#888}button.outline:hover{border-color:var(--accent);color:var(--accent)}.progress-section{margin-top:1rem}.progress-bar{height:8px;background:#333;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.progress-text{font-size:.85rem;color:#888;margin:.5rem 0 0;text-align:center}.results-section{margin-top:1rem;padding:1rem;border-radius:4px}.results-section:not(.error){background:#1a3a1a}.results-section.error{background:#3a1a1a}.results-section .success{color:#4a4;margin:0;font-size:.9rem}.results-section .error{color:#c44;margin:0;font-size:.9rem}.error-list{margin-top:.75rem}.error-list h4{margin:0 0 .5rem;font-size:.85rem;color:#a66}.error-list ul{margin:0;padding-left:1.5rem;font-size:.8rem;color:#888}.error-list li{margin-bottom:.25rem}.regen-controls{margin-top:1rem;padding-top:1rem;border-top:1px solid #222}.control-row{display:flex;gap:1rem;margin-bottom:1rem}.control-group{flex:1;display:flex;flex-direction:column;gap:.25rem}.control-group label{font-size:.8rem;color:var(--text-muted)}.control-group select{width:100%}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;color:var(--text-muted)}.progress-filename{margin:.5rem 0 0;font-size:.8rem;color:#888;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.progress-fill{animation:progress-glow 1.5s ease-in-out infinite}@keyframes progress-glow{0%,to{box-shadow:0 0 5px var(--accent)}50%{box-shadow:0 0 15px var(--accent),0 0 25px var(--accent)}}@media (max-width: 768px){.control-row{flex-direction:column;gap:.75rem}}.category-form{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #222}.category-list{display:flex;flex-direction:column;gap:.5rem}.category-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a1a;padding:.75rem;border-radius:4px}.category-info{flex:1}.category-info strong{font-size:.95rem}.category-info .slug{color:#666;font-size:.8rem;margin-left:.5rem}.category-info .desc{color:#888;font-size:.85rem;margin:.25rem 0 0}.category-item .actions{display:flex;gap:.5rem}.category-item .actions button{background:#333;border:none;color:#888;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem}.category-item .actions button:hover{background:#444;color:#fff}.profile-page h2{margin-bottom:1.5rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #222}.form-section:last-of-type{border-bottom:none}.form-section h3{margin:0 0 1rem;font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.form-row{margin-bottom:.75rem}.form-row label{display:block;margin-bottom:.25rem;font-size:.85rem;color:#888}.form-row input{width:100%}.form-row input:disabled{opacity:.5;cursor:not-allowed}.profile-page .row{margin-bottom:0}.profile-page .row .form-row{margin-bottom:.75rem}.profile-page .error{color:#c00;margin:1rem 0;font-size:.9rem}.profile-page .success{color:#4a4;margin:1rem 0;font-size:.9rem}.profile-messages{margin-top:1.5rem;text-align:center}.profile-messages .error{color:#c44}.profile-messages .success{color:var(--accent)}.profile-actions{margin-top:1.5rem;display:flex;justify-content:center}.profile-actions button{min-width:200px;padding:.75rem 2rem;font-size:1rem}.profile-btn{background:transparent!important;color:#888!important}.profile-btn:hover{color:#fff!important}.public-landing{flex:1;padding:2rem;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.landing-hero{text-align:center;margin-bottom:2rem}.landing-hero .landing-logo{max-height:80px;margin-bottom:1rem}.landing-hero h2{font-size:1.25rem;font-weight:300;color:var(--text-muted);margin:0;letter-spacing:.05em}.public-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%;max-width:1200px}.public-gallery-card{background:#1a1a1a;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.public-gallery-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006}.public-gallery-card .card-cover{height:200px;background-size:cover;background-position:center;background-color:#222}.public-gallery-card .card-cover.empty{display:flex;align-items:center;justify-content:center;color:#555}.public-gallery-card .card-info{padding:1rem}.public-gallery-card .card-info h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text)}.public-gallery-card .card-info p{margin:0 0 .5rem;font-size:.85rem;color:var(--text-muted);line-height:1.4}.public-gallery-card .image-count{font-size:.75rem;color:#666}.site-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;color:var(--text-muted);font-size:.75rem;border-top:1px solid #222;margin-top:auto}.site-footer .copyright{color:var(--text-muted)}.site-footer .powered-by{color:var(--text-muted);text-decoration:none}.site-footer .powered-by:hover{color:var(--accent)}.site-footer:has(.copyright){justify-content:space-between}.site-footer:not(:has(.copyright)){justify-content:flex-end}.config-main{flex:1;overflow-y:auto;width:100%}.config-dashboard{padding:1.5rem;width:100%}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.config-header h2{margin:0;font-size:1.25rem;color:var(--text);text-transform:none;letter-spacing:0}.config-filters{display:flex;gap:.5rem}.config-filters button{background:transparent;border:1px solid #333;color:#888;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.config-filters button:hover{border-color:#444;color:#aaa}.config-filters button.active{background:var(--accent);border-color:var(--accent);color:#fff}.config-cards{display:flex;flex-wrap:wrap;gap:1.5rem;width:100%;align-items:flex-start}.config-cards .config-card{flex:1 1 300px;max-width:calc(33.333% - 1rem);min-width:280px}.config-cards .config-column{display:flex;flex-direction:column;gap:1.5rem;flex:1 1 300px;max-width:calc(33.333% - 1rem);min-width:280px}.config-cards .config-column .config-card{max-width:100%;flex:none}.config-card{background:var(--surface);border-radius:8px;overflow:hidden}.config-card h3{margin:0;padding:1rem;background:#1a1a1a;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #222}.config-card .card-content{padding:1rem}.config-card .card-form{display:flex;flex-direction:column;gap:.75rem}.config-card .card-form .form-row{margin-bottom:0}.config-card .card-form .form-row label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.config-card .card-form .form-row input,.config-card .card-form .form-row select{width:100%}.config-card .color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.config-card .color-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.config-card .color-field label{font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.config-card .color-field .color-input{display:flex;gap:.5rem;align-items:center;min-width:0}.config-card .color-field input[type=color]{width:2.5rem;height:2.5rem;padding:0;border:1px solid #333;border-radius:4px;cursor:pointer;background:transparent;flex-shrink:0}.config-card .color-field input[type=text]{flex:1;min-width:0;font-family:monospace;font-size:.85rem;height:2.5rem}.config-card .checkbox-row{margin-bottom:.5rem}.config-card .checkbox-row:last-child{margin-bottom:0}.config-card .checkbox-row label{font-size:.85rem}.config-card button.primary{width:100%;margin-top:.5rem}.config-card .category-list,.config-card .product-list{margin-top:1rem}.config-card .hint{font-size:.8rem;color:var(--text-muted);margin:0 0 .75rem}.config-card .inline-form{display:flex;gap:.5rem}.config-card .inline-form input{flex:1}.config-card .inline-form button{flex-shrink:0}.config-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#1a1a1a;border-bottom:1px solid #222}.config-card .card-header h3{margin:0;padding:0;background:transparent;border:none;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.config-card .add-btn{width:28px;height:28px;padding:0;font-size:1.25rem;line-height:1;background:#333;border:none;color:#888;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.config-card .add-btn:hover{background:var(--accent);color:#fff}.config-list{display:flex;flex-direction:column;gap:2px}.config-list .empty-hint{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem;margin:0}.config-list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#1a1a1a;border-radius:4px;cursor:pointer;transition:background .15s}.config-list-item:hover{background:#222}.config-list-item .item-color{width:4px;height:32px;border-radius:2px;flex-shrink:0}.config-list-item .item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.config-list-item .item-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-list-item .item-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.config-list-item .item-parent{background:#333;padding:.1rem .4rem;border-radius:3px}.config-list-item .item-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-list-item .item-price{font-size:.9rem;color:var(--accent);font-weight:500;flex-shrink:0}.product-group{margin-bottom:.5rem}.product-group .group-header{padding:.5rem .75rem;background:#1a1a1a;border-radius:4px 4px 0 0;cursor:pointer;display:flex;align-items:center;gap:.75rem}.product-group .group-header:hover{background:#222}.product-group .group-header.uncategorized{cursor:default;background:transparent;border-bottom:1px solid #333;border-radius:0}.product-group .group-header.uncategorized:hover{background:transparent}.product-group .group-name{font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em}.product-group .group-desc{font-size:.75rem;color:#666}.product-group .product-item{border-radius:0;margin-left:.75rem;border-left:2px solid #333}.product-group .product-item:last-child{border-radius:0 0 4px}.product-item.unavailable{opacity:.6}.product-item .item-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.category-group .child-item{margin-left:1rem;border-left:2px solid #333;border-radius:0}.category-group .child-item:last-child{border-radius:0 0 4px}.add-category-btn{background:transparent;border:1px dashed #333;color:var(--text-muted);padding:.5rem;border-radius:4px;cursor:pointer;font-size:.8rem;margin-top:.5rem}.add-category-btn:hover{border-color:var(--accent);color:var(--accent);background:transparent}.form-row-inline{display:flex;gap:1rem}.form-row-inline label{flex:1;display:flex;flex-direction:column;gap:.25rem}.form-row-inline label span{font-size:.8rem;color:var(--text-muted)}.form-row-inline input[type=color]{width:100%;height:36px;padding:2px;border:1px solid #333;border-radius:4px;cursor:pointer;background:transparent}.modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #333}.modal-footer .btn-row{margin-left:auto}.modal-footer button.danger{background:transparent;border:1px solid #c00;color:#c00}.form-details{margin:.75rem 0;border:1px solid #333;border-radius:4px}.form-details summary{padding:.75rem;cursor:pointer;font-size:.85rem;color:var(--text-muted);background:#1a1a1a;border-radius:4px}.form-details summary:hover{color:var(--text)}.form-details[open] summary{border-radius:4px 4px 0 0;border-bottom:1px solid #333}.form-details .details-content{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.form-details .details-content .form-row{margin:0}.product-modal{max-width:480px}.product-modal-wide{max-width:800px;width:90vw}.product-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.product-modal-left{display:flex;flex-direction:column;gap:.75rem}.product-modal-right{display:flex;flex-direction:column;gap:1rem;border-left:1px solid #333;padding-left:1.5rem}@media (max-width: 700px){.product-modal-grid{grid-template-columns:1fr}.product-modal-right{border-left:none;border-top:1px solid #333;padding-left:0;padding-top:1rem}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;color:var(--text-muted)}.section-header span{font-weight:500;text-transform:uppercase;letter-spacing:.03em}.product-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.product-images-grid .empty-hint{grid-column:1 / -1;text-align:center;font-size:.8rem;color:var(--text-muted);padding:1rem}.product-image-item{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:#1a1a1a}.product-image-item img{width:100%;height:100%;object-fit:cover}.product-image-item .delete-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0;border:none;background:#000000b3;color:#fff;border-radius:3px;cursor:pointer;font-size:14px;line-height:1;opacity:0;transition:opacity .15s}.product-image-item:hover .delete-btn{opacity:1}.product-image-item .delete-btn:hover{background:#c00}.product-variants-list{display:flex;flex-direction:column;gap:.5rem}.product-variants-list .empty-hint{font-size:.8rem;color:var(--text-muted);padding:.5rem 0}.variant-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#1a1a1a;border-radius:4px}.variant-item.unavailable{opacity:.5}.variant-name{flex:1;font-size:.9rem}.variant-price{font-size:.85rem;color:var(--accent)}.variant-actions{display:flex;gap:.25rem}.variant-actions button{padding:.2rem .5rem;font-size:.75rem}.variant-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#1a1a1a;border-radius:4px;border:1px dashed #333}.variant-form input{font-size:.85rem;padding:.4rem .5rem}.variant-form-row{display:flex;gap:.75rem;align-items:center}.variant-form-row .price-input{flex:0 0 auto;width:100px}.variant-form-row .price-input input{padding:.4rem .5rem;font-size:.85rem}.checkbox-inline{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.checkbox-inline input{margin:0}.variant-form-actions{display:flex;gap:.5rem}.variant-form-actions button{flex:1}.upload-btn.small{padding:.25rem .5rem;font-size:.75rem;cursor:pointer;background:#333;border:none;color:#aaa;border-radius:3px}.upload-btn.small:hover{background:var(--accent);color:#fff}button.small{padding:.25rem .5rem;font-size:.75rem}button.small.danger{background:transparent;border:1px solid #c00;color:#c00}button.small.danger:hover,.modal-footer button.danger:hover{background:#c00;color:#fff}.price-input{display:flex;align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:4px;overflow:hidden}.price-input .currency{padding:0 .5rem;color:var(--text-muted);background:#222;border-right:1px solid #333;height:100%;display:flex;align-items:center}.price-input input{border:none;background:transparent;flex:1;padding:.5rem}.logo-preview,.watermark-preview{display:flex;align-items:center;gap:1rem;background:#1a1a1a;padding:.75rem;border-radius:4px}.logo-preview img,.watermark-preview img{max-width:80px;max-height:60px;object-fit:contain;background:repeating-conic-gradient(#333,#333 25%,#222 0%,#222 50%) 50% / 10px 10px;border-radius:3px;padding:.25rem}.watermark-preview.logo-fallback{border:1px dashed #444}.watermark-preview .fallback-info{display:flex;flex-direction:column;gap:.5rem}.watermark-preview .fallback-label{font-size:.75rem;color:#888}.logo-upload,.watermark-upload{display:flex;justify-content:center}.logo-upload label,.watermark-upload label{cursor:pointer}.logo-upload input[type=file],.watermark-upload input[type=file]{display:none}.watermark-image-section{margin:.5rem 0}.footer-branding{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#1a1a1a;border-radius:4px;margin-bottom:.5rem}.footer-branding .label{font-size:.75rem;color:var(--text-muted)}.footer-branding .powered-by{font-size:.85rem;color:var(--text)}.footer-branding .powered-by a{color:var(--accent);text-decoration:none}.footer-branding .powered-by a:hover{text-decoration:underline}.form-row-group{display:flex;gap:.5rem}.form-row-group>.form-row{flex:1}.config-card hr{border:none;border-top:1px solid #333;margin:.75rem 0}.config-card .form-row input[type=range]{width:100%;height:6px;-webkit-appearance:none;background:#333;border-radius:3px;cursor:pointer}.config-card .form-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer}.interface-panel{padding:1rem}.interface-panel form{max-width:600px}.settings-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #222}.settings-section:last-of-type{border-bottom:none}.settings-section h3{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.color-picker{display:flex;flex-direction:column;gap:.5rem}.color-picker label{font-size:.85rem;color:var(--text-muted)}.color-input{display:flex;gap:.5rem;align-items:center}.color-input input[type=color]{width:40px;height:32px;padding:0;border:1px solid #333;border-radius:4px;cursor:pointer;background:transparent}.color-input input[type=text]{flex:1;font-family:monospace;font-size:.85rem}.checkbox-row{margin-bottom:.5rem}.checkbox-row label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text)}.checkbox-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.interface-panel .success{color:var(--accent);margin-top:1rem;font-size:.9rem}.interface-panel .error{color:#c44;margin-top:1rem;font-size:.9rem}.sidebar-toggle{display:none;background:#222;border:none;color:#fff;padding:.5rem;border-radius:4px;cursor:pointer}.sidebar-open .sidebar{display:block}@media (max-width: 1200px){.config-cards .config-card,.config-cards .config-column{max-width:calc(50% - .75rem)}.config-card .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.config-cards .config-card,.config-cards .config-column{max-width:100%;flex:1 1 100%}.config-card .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-header{flex-direction:column;align-items:stretch}.config-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%}.config-filters button{padding:.6rem .5rem;font-size:.8rem;text-align:center;white-space:nowrap}header{padding:.5rem .75rem;flex-wrap:wrap;gap:.5rem}header h1{font-size:1rem}.admin-tabs{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;margin:0 -.75rem;padding:0 .75rem .25rem}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{flex-shrink:0;padding:.5rem .75rem;font-size:.8rem}header nav{gap:.25rem}header nav button{padding:.3rem .5rem;font-size:.8rem}.profile-btn{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #222;max-height:35vh}.sidebar.collapsed{display:none}.sidebar-toggle{display:block}.main{flex:1}.single-panel,.admin-panel{padding:.75rem}.admin-panel h2{font-size:.85rem;margin-top:1rem}.row{flex-direction:column;gap:0}.row>*{width:100%}input,select,textarea{font-size:16px;padding:.6rem}.form-section{padding-bottom:1rem;margin-bottom:1rem}.form-section h3,.form-row label{font-size:.8rem}.product-item{flex-direction:column;align-items:flex-start;gap:.5rem}.product-item .actions{width:100%;justify-content:flex-end}.product-item strong{display:block}.product-item .price{display:block;margin-top:.25rem}.client-item{flex-direction:column;align-items:flex-start;gap:.5rem}.client-item>div:first-child{display:flex;flex-direction:column;gap:.25rem}.client-item .actions{width:100%;justify-content:flex-end}.orders-layout{grid-template-columns:1fr}.orders-filters{flex-direction:column;width:100%}.orders-filters input{width:100%}.order-list{max-height:none}.order-details-panel{max-height:none;margin-top:1rem}.order-item-card{flex-direction:column}.item-thumb{width:100%;height:120px}.order-item{flex-direction:column;align-items:flex-start;gap:.25rem}.order-item>div{display:flex;flex-wrap:wrap;gap:.5rem}.order-details{padding:.75rem}.status-actions{gap:.5rem}.status-actions button{padding:.4rem .6rem}.order-item-detail{flex-wrap:wrap;gap:.5rem}.category-list{gap:.25rem}.inline-form{flex-direction:column}.inline-form input{width:100%}.grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px}.thumb{border-radius:2px}.thumb-title{padding:.25rem;font-size:.6rem}.thumb-actions{opacity:1}.gallery-header{flex-direction:column;gap:.5rem}.lb-prev,.lb-next{font-size:1.5rem;padding:.75rem}.lb-content{padding:2.5rem .5rem 1rem}.lb-content img{max-height:60vh}.exif{font-size:.7rem;gap:.25rem .5rem}.lb-info{padding:.75rem 0}.download-btn{padding:.6rem 1rem}.public-gallery{padding:.75rem}.public-gallery header h1{font-size:1.25rem}.sidebar ul{max-height:20vh;overflow-y:auto}.sidebar form{padding-top:.5rem;border-top:1px solid #222}.sidebar li{padding:.4rem}.sidebar li span{font-size:.85rem}.sidebar li .actions button{padding:.2rem .4rem;font-size:.75rem}.modal{padding:1rem;max-height:90vh;overflow-y:auto}.modal.wide{max-width:calc(100vw - 2rem)}.modal h3{font-size:1rem}}@media (max-width: 380px){header h1{font-size:.9rem}.admin-tabs button{padding:.4rem .5rem;font-size:.75rem}.grid{grid-template-columns:repeat(3,1fr)}.thumb-actions button{padding:.15rem .3rem;font-size:.7rem}}@media (hover: none){.thumb-actions,li .actions{opacity:1}.thumb:hover{transform:none}}.card-description{color:var(--text-muted);font-size:.85rem;margin-bottom:1rem}.card-description a{color:var(--accent)}.api-key-created{background:#22c55e1a;border:1px solid #22c55e;border-radius:6px;padding:1rem;margin-bottom:1rem}.api-key-created .warning{color:#f59e0b;font-size:.85rem}.key-display{display:flex;gap:.5rem;align-items:center;margin:.75rem 0}.key-display code{flex:1;background:var(--surface);padding:.5rem;border-radius:4px;font-size:.8rem;word-break:break-all}.permissions-row{display:flex;gap:1rem}.permissions-row label{display:flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer}.api-keys-list,.webhooks-list{display:flex;flex-direction:column;gap:.75rem}.api-key-item,.webhook-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;background:var(--surface);border-radius:6px}.api-key-item.inactive,.webhook-item.inactive{opacity:.5}.key-info,.webhook-info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1}.key-name,.webhook-name{font-weight:500}.key-prefix,.webhook-url{font-size:.75rem;color:var(--text-muted);background:#ffffff0d;padding:.15rem .4rem;border-radius:3px}.webhook-url{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-used{font-size:.75rem;color:var(--text-muted)}.key-permissions{display:flex;gap:.25rem}.key-permissions .perm{display:inline-block;width:1.2rem;height:1.2rem;line-height:1.2rem;text-align:center;font-size:.65rem;font-weight:600;border-radius:3px}.perm.read{background:#22c55e33;color:#22c55e}.perm.write{background:#3b82f633;color:#3b82f6}.perm.delete{background:#ef444433;color:#ef4444}.key-actions,.webhook-actions{display:flex;gap:.5rem}.webhook-events{display:flex;flex-wrap:wrap;gap:.25rem}.event-badge{font-size:.65rem;background:#a855f726;color:#a855f7;padding:.15rem .4rem;border-radius:3px}.webhook-status{display:flex;align-items:center;gap:.5rem}.status-code{font-size:.7rem;font-weight:600;padding:.15rem .35rem;border-radius:3px}.status-code.success{background:#22c55e33;color:#22c55e}.status-code.error{background:#ef444433;color:#ef4444}.failure-count{font-size:.7rem;color:#ef4444}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-top:.5rem}.event-checkbox{display:flex;align-items:center;gap:.35rem;font-size:.8rem;cursor:pointer}.event-checkbox input{margin:0}.empty-state{color:var(--text-muted);font-style:italic}.btn-success{background:#22c55e!important}.btn-success:hover{background:#16a34a!important}@media (max-width: 768px){.api-key-item,.webhook-item{flex-direction:column;align-items:flex-start}.key-actions,.webhook-actions{width:100%;justify-content:flex-end}.webhook-url{max-width:100%}}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}.spinner{width:40px;height:40px;border:3px solid var(--surface);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none!important}.swiper-button-prev svg,.swiper-button-next svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal~.swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon{transform:rotate(180deg)}.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical~.swiper-button-prev .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical~.swiper-button-next .swiper-navigation-icon{transform:rotate(90deg)}
