@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap";.embla-viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:9999;display:flex;flex-direction:column}.embla-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 16px 16px;padding-top:calc(20px + env(safe-area-inset-top,0px));background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%);z-index:2}.embla-header .embla-close{background:#ffffff1a!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;width:40px!important;height:40px!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;padding:0!important;margin:0!important}.embla-header .embla-close:active{transform:scale(.92)!important;background:#fff3!important}.embla-counter{color:#ffffffe6;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.15);padding:6px 14px;border-radius:10px}.embla{flex:1;min-height:0;overflow:hidden}.embla__container{display:flex;height:100%;will-change:transform}.embla__container--variable{align-items:center}.embla__slide{position:relative;min-width:100%;height:100%;display:flex;align-items:center;justify-content:center}.embla__slide--variable{flex:0 0 auto;min-width:70%;max-width:90%;padding:0 8px}.embla__slide--variable:first-child{padding-left:16px}.embla__slide--variable:last-child{padding-right:16px}.embla__slide__inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.embla__slide--variable .embla__slide__inner{width:auto;height:100%;display:flex;align-items:center;justify-content:center}.embla__slide__img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.embla__slide--variable .embla__slide__img{width:auto;height:auto;max-width:100%;max-height:85vh;object-fit:contain}.embla-actions{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 100%);padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:2}.action-buttons{display:flex;justify-content:center;align-items:center;gap:12px;max-width:380px;margin:0 auto}.embla-actions .action-btn{background:#ffffff1a!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fffffff2!important;width:56px!important;height:56px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;position:relative!important;overflow:hidden!important;flex:unset!important;min-width:unset!important;padding:0!important;gap:0!important}.embla-actions .action-btn:active{transform:scale(.92)!important}.embla-actions .action-btn:active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a}.embla-actions .action-btn svg{position:relative;z-index:1;transition:transform .2s cubic-bezier(.4,0,.2,1)}.embla-actions .action-btn:active svg{transform:scale(1.1)}.embla-actions .action-btn.danger{background:#ef444426!important;border-color:#ef444440!important;color:#fffffff2!important}.embla-actions .action-btn.danger:active:after{background:#ef444433}.api-docs-container{max-width:1100px;margin:0 auto;padding:16px}.api-header{margin-bottom:24px}.api-header-content{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:center}.api-header-icon{width:44px;height:44px;display:grid;place-items:center;background:var(--primary-bg, #eef5ff);color:var(--primary);border:1px solid var(--border);border-radius:10px}.api-title{margin:0;font-size:28px;letter-spacing:-.02em}.api-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:15px}.api-section{background:transparent;border:0;margin-bottom:32px}.api-section-title{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 12px}.section-icon{color:var(--primary)}.section-description{color:var(--text-secondary)}.code-example{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:visible;margin-top:10px}.code-block{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:10px;font-family:SF Mono,Monaco,monospace;font-size:12px;line-height:1.5;padding:16px;white-space:pre-wrap;word-break:break-word}.code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:relative;z-index:1}.code-header span,.code-title{font-size:12px;color:var(--text-secondary);font-weight:600}.copy-btn,.copy-button{background:#315fac!important;color:#fff!important;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:60px;height:24px;transition:all .2s;position:relative;z-index:10}.copy-btn:hover,.copy-button:hover{background:#264080!important;transform:translateY(-1px)}.code-block pre,.code-example pre{margin:0;padding:16px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.code-block code,.curl-command{font-family:SF Mono,Monaco,monospace;font-size:12px;line-height:1.5}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-auto-260{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.grid-auto-300{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}@media (max-width: 768px){.api-title{font-size:22px}.api-subtitle{font-size:14px}.grid-2{grid-template-columns:1fr}}.marketing-container{min-height:100vh;background:linear-gradient(135deg,#c2e8f7,#73d1f6,#0093cb);position:relative;overflow-x:hidden;font-family:Poppins,sans-serif}.top-bar{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1rem 0;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000000d}.top-bar-inner{max-width:none;width:90%;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.brand-minimal{display:flex;align-items:center;gap:.5rem;color:#1d1d1f;font-weight:600;font-size:1.1rem}.top-nav{display:flex;align-items:center;gap:1rem}.signin-btn{background:none;border:2px solid #1d1d1f;color:#1d1d1f;padding:.5rem 1.5rem;border-radius:50px;cursor:pointer;font-weight:500;font-family:Poppins,sans-serif;transition:all .3s ease}.signin-btn:hover{background:#1d1d1f;color:#fff}.signup-btn-top{background:#0093cb;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:50px;cursor:pointer;font-weight:600;font-family:Poppins,sans-serif;transition:all .3s ease}.signup-btn-top:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.split-hero-section{padding-top:5rem;min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.split-hero-content{width:100%;max-width:1400px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-text-section{padding:2rem}.compact-headline{font-size:3rem;line-height:1.1;font-weight:800;margin:0 0 1.5rem;letter-spacing:-.02em;color:#1f2937}.gradient-text{background:linear-gradient(135deg,#315fac,#0093cb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.compact-subtitle{font-size:1.2rem;font-weight:400;margin:0 0 2.5rem;line-height:1.6;color:#64748b}.login-box-inline{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 40px #0000001a;max-width:400px}.login-box-inline h2{font-size:1.5rem;margin:0 0 1.5rem;color:#1f2937;font-weight:600}.inline-login-form{display:flex;flex-direction:column;gap:1rem}.inline-login-form input{padding:.875rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:Poppins,sans-serif;transition:all .3s ease}.inline-login-form input:focus{outline:none;border-color:#0093cb;box-shadow:0 0 0 3px #0093cb1a}.inline-submit-btn{padding:.875rem;background:linear-gradient(135deg,#315fac,#0093cb);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;transition:all .3s ease;margin-top:.5rem}.inline-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #0093cb4d}.inline-submit-btn:disabled{opacity:.6;cursor:not-allowed}.beta-badge{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;text-align:center;color:#64748b;font-size:.875rem}.hero-image-section{position:relative;height:600px;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000026}.hero-image-container{position:relative;width:100%;height:100%}.hero-preview-image{width:100%;height:100%;object-fit:cover;display:block}.image-overlay-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#315fac1a,#0093cb1a);pointer-events:none}@media (max-width: 1024px){.split-hero-content{grid-template-columns:1fr;gap:3rem}.hero-image-section{height:400px}.compact-headline{font-size:2.5rem}}@media (max-width: 768px){.split-hero-section{padding-top:4rem;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.split-hero-content{padding:1rem;display:flex;flex-direction:column;height:100%;gap:1rem;max-width:100vw;overflow-x:hidden}.hero-text-section{padding:1rem 0;order:2;flex:1;display:flex;flex-direction:column;justify-content:center}.hero-image-section{order:1;height:180px;margin-bottom:0}.hero-image-container{height:180px;border-radius:12px;overflow:hidden}.compact-headline{font-size:1.75rem;margin-bottom:.5rem;text-align:center;line-height:1.2}.compact-subtitle{font-size:.9rem;text-align:center;margin-bottom:1.5rem;color:#6b7280}.login-box-inline{max-width:100%;padding:1.5rem;margin:0 auto;width:100%;box-shadow:0 4px 6px #0000001a}.login-box-inline h2{font-size:1.25rem;margin-bottom:1rem;text-align:center}.inline-login-form input{padding:.875rem;font-size:16px}.inline-submit-btn{padding:.875rem;font-size:1rem}.beta-badge{padding:.5rem 1rem;font-size:.75rem}}.cta-section{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.cta-primary{padding:1rem 2.5rem;background:#315fac;color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;transition:all .3s ease}.cta-primary:hover{background:#0093cb;transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.cta-secondary{padding:1rem 2.5rem;background:transparent;color:#fff;border:2px solid white;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;transition:all .3s ease}.cta-secondary:hover{background:#fff;color:#0093cb}.trust-indicators{display:flex;gap:2rem;justify-content:center;font-size:.95rem;opacity:.9}.trust-indicators span{display:flex;align-items:center;gap:.5rem}.benefits-section{background:#fff;padding:5rem 2rem}.benefits-inner{max-width:none;width:90%;margin:0 auto}.benefits-section h2{text-align:center;font-size:2.5rem;font-weight:700;color:#315fac;margin-bottom:3rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.benefit{text-align:center}.benefit-icon{margin-bottom:1rem;color:#0093cb;display:flex;justify-content:center}.benefit h3{font-size:1.5rem;font-weight:600;color:#0093cb;margin-bottom:1rem}.benefit p{font-size:1.1rem;color:#666;line-height:1.6}.tagline{font-size:1.25rem;opacity:.95;max-width:500px;margin:0 auto 2rem;line-height:1.6}.feature-pills{display:flex;gap:1rem;justify-content:flex-start;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f1f5f9;border-radius:999px;font-size:.9rem;color:#0f172a}.cta-row{display:flex;gap:1rem;align-items:center;margin-top:.75rem}.hero-highlights{list-style:none;padding:0;margin:.75rem 0 .5rem;color:#1f2937}.hero-highlights li{display:flex;align-items:center;gap:.5rem;padding:.15rem 0}.hero-highlights li svg{color:#22c55e}.use-cases-quick{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.use-case-chip{display:inline-block;padding:.45rem .75rem;border-radius:999px;background:#eef2ff;color:#1e3a8a;text-decoration:none;font-weight:600;border:1px solid #dbeafe}.use-case-chip:hover{background:#e0e7ff}.cta-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:10px;border:none;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #4f46e540;transition:transform .15s ease,box-shadow .2s ease}.cta-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #4f46e552}.cta-secondary{color:#334155;font-weight:600;text-decoration:none}.auth-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal-content{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:400px;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#666}.auth-form-modal input,.auth-form-modal select{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.auth-modal h2{color:#315fac;font-family:Poppins,sans-serif;font-weight:600;margin-bottom:1.5rem}.auth-form-modal{font-family:Poppins,sans-serif}.auth-form-modal .submit-btn{background:linear-gradient(135deg,#315fac,#0093cb);font-family:Poppins,sans-serif;font-weight:600}.auth-tabs button{flex:1;padding:1.25rem;background:transparent;border:none;font-size:1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .3s;position:relative}.auth-tabs button.active{color:#667eea}.auth-tabs button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,#667eea,#764ba2)}.auth-form{padding:1.5rem}.auth-form input,.auth-form select{width:100%;padding:.875rem;margin-bottom:1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .3s}.auth-form input:focus,.auth-form select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.plan-selector-compact{margin:1rem 0}.plan-selector-compact label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500}.submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .2s,box-shadow .2s}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #4f46e559}.trial-note{text-align:center;margin-top:1rem;color:#10b981;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.features-section{padding:5rem 2rem;background:#fff;text-align:center}.use-cases-section{padding:5rem 2rem 3rem;background:#fcfcff;text-align:center}.use-cases-section h2{font-size:2rem;margin-bottom:.75rem;color:#0f172a}.section-subtitle{color:#475569;margin:0 auto 2.25rem;max-width:60ch}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:none;width:90%;margin:0 auto}.use-case-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.25rem 1.25rem 1rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.use-case-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0206170f;border-color:#cbd5e1}.case-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.case-head h3{margin:0;font-size:1.1rem;color:#0f172a}.case-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.case-icon.wedding{background:linear-gradient(135deg,#ef4444,#f97316)}.case-icon.showroom{background:linear-gradient(135deg,#0ea5e9,#22c55e)}.case-icon.realestate{background:linear-gradient(135deg,#10b981,#0ea5e9)}.case-icon.studio{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.case-icon.events{background:linear-gradient(135deg,#8b5cf6,#06b6d4)}.case-icon.teams{background:linear-gradient(135deg,#6366f1,#22d3ee)}.case-blurb{color:#475569;margin:0 0 .5rem}.case-points{list-style:none;padding:0;margin:0}.case-points li{display:flex;align-items:center;gap:.5rem;color:#334155;padding:.3rem 0}.case-points li svg{color:#10b981;flex-shrink:0}.features-section h2{font-size:2rem;margin-bottom:2.5rem;color:#0f172a}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:none;width:90%;margin:0 auto}.feature-card{padding:1.75rem;border-radius:14px;background:#fff;border:1px solid #e5e7eb;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #02061714;border-color:#cbd5e1}.feature-icon{width:60px;height:60px;margin:0 auto 1.25rem;background:linear-gradient(135deg,#315fac,#0093cb);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px}.feature-card h3{margin-bottom:1rem;font-size:1.25rem;color:#1f2937}.feature-card p{color:#6b7280;line-height:1.6}.pricing-section{padding:5rem 2rem;background:#f9fafb;text-align:center}.copy-section{padding:4rem 2rem;background:#fff;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.copy-section h2{text-align:center;color:#0f172a;font-size:2rem;margin:0 auto 2rem}.bullets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:none;width:90%;margin:0 auto}.bullet{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:1.25rem;text-align:left}.bullet h3{margin:0 0 .5rem;color:#0f172a;font-size:1.125rem}.bullet p{margin:0;color:#475569}.stop-doing{background:#fbfbff}.stop-list{list-style:none;padding:0;margin:0 auto;max-width:900px}.stop-list li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;color:#334155}.stop-list li svg{color:#22c55e}.how-it-works{background:#fff}.step-list{counter-reset:step;list-style:none;padding:0;margin:0 auto;max-width:none;width:90%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.step-list li{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:1rem;text-align:left}.step-list li h3{margin:0 0 .4rem;font-size:1.1rem;color:#0f172a}.step-list li p{margin:0;color:#475569}.quotes{background:#fff}.quote-grid{max-width:none;width:90%;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.quote{background:#0f172a;color:#e5e7eb;border-radius:14px;padding:1rem 1.25rem;text-align:left}.quote p{margin:0 0 .5rem}.quote footer{color:#94a3b8;font-size:.9rem}.faq{background:#fbfbff}.faq-list{max-width:none;width:90%;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1rem;text-align:left}.faq-item h3{margin:0 0 .4rem;color:#0f172a;font-size:1.05rem}.faq-item p{margin:0;color:#475569}.promise{background:#fff}.promise-copy{max-width:70ch;margin:.5rem auto 0;color:#334155;text-align:center}.pricing-section h2{font-size:2.5rem;margin-bottom:1rem;color:#1f2937}.pricing-subtitle{color:#6b7280;margin-bottom:3rem;font-size:1.1rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:none;width:90%;margin:0 auto 3rem}.pricing-card{background:#fff;border-radius:12px;padding:2rem;position:relative;border:2px solid #e5e7eb;transition:transform .3s,box-shadow .3s}.pricing-card.popular{border-color:#4f46e5;transform:scale(1.02);box-shadow:0 16px 36px #4f46e52e}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.pricing-card h3{margin-bottom:1rem;font-size:1.5rem;color:#1f2937}.price{margin-bottom:1.5rem}.amount{font-size:3rem;font-weight:700;color:#1f2937}.period{color:#6b7280;font-size:1rem}.storage-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f3f4f6;border-radius:8px;margin-bottom:1.5rem;font-weight:600;color:#4b5563}.features-list{list-style:none;padding:0;margin:0 0 2rem;text-align:left}.features-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:#4b5563}.features-list li svg{color:#10b981;flex-shrink:0}.select-plan-btn{width:100%;padding:.875rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;border:2px solid #e5e7eb;background:#fff;color:#4b5563}.select-plan-btn.primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none}.select-plan-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.enterprise-cta{padding:3rem;background:#fff;border-radius:12px;max-width:600px;margin:0 auto}.enterprise-cta h3{margin-bottom:.5rem;color:#1f2937}.enterprise-cta p{color:#6b7280;margin-bottom:1.5rem}.contact-btn{padding:.875rem 2rem;background:#1f2937;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s}.contact-btn:hover{background:#111827}.trust-section{padding:5rem 2rem;background:#fff;text-align:center}.trust-section h2{font-size:2rem;margin-bottom:3rem;color:#1f2937}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:800px;margin:0 auto}.trust-item{text-align:center}.trust-item svg{color:#4f46e5;margin-bottom:1rem}.trust-item h4{margin-bottom:.5rem;color:#1f2937}.trust-item p{color:#6b7280;font-size:.9rem}.marketing-footer{padding:1rem 1.5rem;background:#f3f4f6;color:#374151;text-align:center;border-top:1px solid #e5e7eb}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:none;width:90%;margin:0 auto .5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.footer-brand{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#111827}.footer-links{display:flex;gap:1rem}.footer-links a{color:#6b7280;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#111827}.copyright{color:#6b7280;font-size:.85rem;margin:0}@media (max-width: 768px){.top-bar-inner{padding:0 1rem}.brand-minimal{font-size:1rem}.top-nav{gap:.5rem}.signin-btn,.signup-btn-top{padding:.4rem 1rem;font-size:.9rem}.main-headline{font-size:2.5rem}.main-subtitle{font-size:1.1rem}.cta-section{flex-direction:column;width:100%;padding:0 1rem}.cta-primary,.cta-secondary{width:100%}.trust-indicators{flex-direction:column;gap:.5rem}.benefits-grid{grid-template-columns:1fr;gap:2rem}.features-section h2,.pricing-section h2{font-size:1.75rem}.pricing-card.popular{transform:none}.footer-content{flex-direction:column;gap:2rem}.trust-grid{grid-template-columns:repeat(2,1fr)}}html{scroll-behavior:auto}body{overscroll-behavior:none}.mobile-header{display:none}@media (max-width: 768px){.mobile-header{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--border-light);padding:12px 16px;margin-bottom:0;position:fixed;top:0;left:0;right:0;z-index:100;height:48px}.mobile-header+*{margin-top:48px!important}.mobile-header-left{display:flex;align-items:center;gap:10px}.mobile-header-logo{color:var(--accent);flex-shrink:0}.mobile-header h1{font-size:20px;font-weight:600;margin:0;color:var(--text)}.mobile-header-subtitle{font-size:13px;color:var(--text-secondary);white-space:nowrap}.mobile-photos-actions{display:none}.album-selector-modal{width:90%;max-width:400px;max-height:70vh}.album-selector-modal .modal-body{padding:16px;max-height:50vh;overflow-y:auto}.album-selector-modal .album-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.album-selector-modal .album-item{padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;width:100%}.album-selector-modal .album-item:hover{background:var(--bg-hover)}.album-selector-modal .album-item-title{color:#1a1a1a!important;font-weight:500;font-size:14px}.dark-mode .album-selector-modal .album-item-title{color:#fff!important}.album-selector-modal .album-item-count{color:#666!important;font-size:13px}.dark-mode .album-selector-modal .album-item-count{color:#a0a0a0!important}.tag-selector-modal{max-width:100%;width:95%}.tag-selector-modal .tag-item-name{color:#1a1a1a!important}.dark-mode .tag-selector-modal .tag-item-name{color:#fff!important}.tags-controls{flex-direction:column;align-items:stretch;gap:12px}.tags-search{max-width:none}.tag-creator{padding:16px}.color-picker{flex-direction:column;align-items:stretch}.current-color{width:60px;height:60px;margin:0 auto 12px}.color-presets{justify-content:center;gap:8px}.color-preset{width:32px;height:32px}.tag-item{padding:12px}.tag-info{gap:12px}.tag-edit-form{flex-direction:column;align-items:stretch}.tag-edit-form .tag-name-input{max-width:none}.tag-edit-form .tag-actions{justify-content:flex-end;margin-top:12px}.tags-browse-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tag-card-content{padding:12px}.tag-card-header h3{font-size:14px}.tag-card-count{font-size:12px}}@media (max-width: 768px){.nav{display:none}.container{padding:0 0 70px;max-width:none!important;width:100%!important;margin:0!important}.mobile-content-wrapper{padding-top:48px}.card{border-radius:0;margin:0;padding:16px}.card.mobile-content-wrapper,section.mobile-content-wrapper{padding-top:64px!important}.card.mobile-content-wrapper.with-actions,section.mobile-content-wrapper.with-actions{padding-top:126px!important}.mobile-photos-actions~section,.mobile-photos-actions~.image-grid{padding-top:108px}.mobile-header+section:not(.mobile-photos-actions+section){padding-top:16px}.albums-container{padding-top:0}.album-create-form{padding:16px;background:var(--surface);border-bottom:1px solid var(--border-light);margin-bottom:8px}.album-create-form input{width:100%;padding:12px;font-size:16px;border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.album-create-form button{width:100%;padding:12px;font-size:15px;font-weight:600;border-radius:8px}.card{margin:0;padding:16px!important;border-radius:0;border-left:none;border-right:none;box-shadow:none}.image-grid{grid-template-columns:repeat(3,1fr);gap:3px;padding:8px;background:var(--bg)}.image-item{border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.image-grid-controls{display:none}.photo-grid.grid-view{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:8px}.photo-grid.large-view{display:flex;flex-direction:column;gap:8px;padding:8px}.photo-grid.large-view .photo-tile{width:100%;height:auto;aspect-ratio:auto}.photo-grid.large-view .photo-tile img{width:100%;height:auto;max-height:70vh;object-fit:contain}.albums-grid{grid-template-columns:repeat(2,1fr);gap:16px;padding:16px}.album-card{border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.album-card-content{padding:12px}.album-card h3{font-size:15px;font-weight:600;margin-bottom:4px}.album-card .album-meta{font-size:13px;color:var(--text-secondary)}.photos-header,.album-header{flex-direction:column;align-items:stretch;gap:16px;padding:16px 12px;border-bottom:1px solid var(--border-light);background:var(--surface);margin-bottom:8px}.photos-header-title{width:100%}.photos-header-title h2{font-size:28px;margin:0}.photos-count{display:block;margin-top:4px}.photos-header-actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.photos-header-actions button{width:100%;padding:10px 8px;font-size:14px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px}.photos-header-actions button:nth-child(1){grid-column:span 2}.view-toggle-btn{min-width:44px;padding:10px!important;font-size:20px!important;display:flex;align-items:center;justify-content:center}.button-primary,.button-secondary{padding:12px 16px;font-size:14px;flex:1}.modal-overlay{background:#000000e6}.modal-content,.batch-rename-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;margin:0;transform:none;top:0;left:0}.modal-header{position:sticky;top:0;background:var(--surface);z-index:10}.upload-modal{height:100vh;display:flex;flex-direction:column}.batch-uploader{flex:1;display:flex;flex-direction:column}.dropzone{flex:1;border-radius:0;margin:16px}.dropzone .dropzone-content svg{width:64px;height:64px}.upload-queue{max-height:50vh;overflow-y:auto}.file-list-header .upload-button{display:none}.share-manager{padding:16px}.file-previews-mobile{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 12px 0}.file-preview-thumb{width:100%;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background:var(--bg-subtle);border:1px solid var(--border-light)}.file-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.file-preview-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary)}.uploader-actions-mobile{position:sticky;bottom:0;display:flex;gap:8px;padding:12px 16px env(safe-area-inset-bottom,0);background:var(--surface);border-top:1px solid var(--border-light);z-index:5}.uploader-actions-mobile .button-primary,.uploader-actions-mobile .button-secondary,.uploader-actions-mobile .button-minimal{min-height:44px}.uploader-actions-mobile .button-primary{flex:1}.share-form{flex-direction:column}.share-form input,.share-form select,.share-form button{width:100%}.analytics-grid{grid-template-columns:repeat(2,1fr);gap:12px}.analytics-card{padding:12px}.analytics-value{font-size:16px;max-width:100%}.watermark-page{padding:0}.watermark-tabs{position:sticky;top:0;background:var(--surface);z-index:10;padding:12px;gap:8px}.watermark-content{padding:16px}.wm-preview-container{flex-direction:column}.wm-preview-box{width:100%;height:200px}.pagination-controls{padding:16px;flex-wrap:wrap;gap:8px}.pagination-pages{order:-1;width:100%;justify-content:center;margin-bottom:8px}.form-row{flex-direction:column}.form-group{width:100%}input,textarea,select{font-size:16px}.album-detail{padding:0}.album-detail-header{padding:16px;background:var(--surface);border-bottom:1px solid var(--border-light);margin-bottom:8px}.album-header{flex-direction:column;align-items:stretch;gap:12px;padding:0;margin-bottom:0}.album-header-content{flex-direction:column;align-items:stretch;gap:12px}.album-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;margin-top:8px}.album-actions button{width:100%;padding:10px 8px;font-size:14px;border-radius:8px}.album-actions button:nth-child(3){grid-column:span 2}.album-header-left{display:flex;flex-direction:column;gap:8px}.album-header h1,.album-header h2{font-size:28px;line-height:1.3;margin:0 0 12px;word-break:break-word;display:block;width:100%;font-weight:700}.album-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.album-meta .separator{display:inline-block;width:4px;height:4px;background:var(--text-secondary);border-radius:50%;opacity:.5}.album-header-actions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.album-header-actions button{width:100%;padding:11px 14px;font-size:14px;font-weight:500;text-align:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);transition:all .2s ease;cursor:pointer}.dark-mode .album-header-actions button{background:var(--surface);border-color:var(--border)}.album-header-actions button:active{transform:scale(.98);background:var(--bg-secondary)}.album-header-actions button.button-danger-text{color:var(--danger)}.album-toolbar{display:none}.album-actions-mobile{margin:16px}.action-section-mobile{background:#fff;border:1px solid var(--border-light);border-radius:12px;margin-bottom:12px;overflow:hidden}.dark-mode .action-section-mobile{background:var(--surface);border-color:var(--border)}.section-header-mobile{width:100%;padding:14px 16px;background:var(--bg-secondary);border:none;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;color:var(--text);cursor:pointer;transition:background .2s ease}.section-header-mobile:active{background:var(--bg-tertiary)}.section-header-mobile .chevron{color:var(--text-secondary);font-size:12px}.section-content-mobile{padding:12px;display:flex;flex-direction:column;gap:8px;animation:slideDown .3s ease-out}.section-content-mobile.no-header{padding:12px;display:flex;flex-direction:column;gap:8px}.action-button-mobile{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease;text-align:center}.dark-mode .action-button-mobile{background:var(--surface);border-color:var(--border)}.action-button-mobile:active{transform:scale(.98);background:var(--bg-secondary)}.action-button-mobile.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.action-button-mobile.primary:active{background:var(--primary-dark)}.action-button-mobile.danger{color:var(--danger)}.action-button-mobile:disabled{opacity:.5;cursor:not-allowed}.selection-actions-mobile{position:fixed;bottom:70px;left:0;right:0;background:#fff;border-top:1px solid var(--border-light);padding:12px 16px;z-index:50;box-shadow:0 -2px 10px #0000001a}.dark-mode .selection-actions-mobile{background:var(--surface);border-top-color:var(--border)}.selection-actions-mobile .selection-info{margin-bottom:8px;text-align:center}.selection-actions-mobile .selection-count{font-size:14px;font-weight:600;color:var(--text)}.selection-actions-mobile .selection-buttons{display:flex;gap:8px}.selection-actions-mobile .action-button-mobile{flex:1;padding:10px;font-size:13px}.album-grid{grid-template-columns:repeat(3,1fr);gap:2px;padding:2px}.album-tile{border-radius:0}.back-button{display:flex;align-items:center;gap:4px;color:var(--text-secondary);text-decoration:none;font-size:14px;margin-bottom:12px;padding:8px 0}.back-button:active{opacity:.7}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.photo-picker{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);border-radius:0;margin:0;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.photo-picker-header{padding:16px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px;position:sticky;top:0;z-index:10}.photo-picker-header h3{font-size:20px;font-weight:600;margin:0}.photo-picker-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.photo-picker-actions .muted{margin-right:auto;font-size:14px}.photo-picker-actions button{padding:8px 16px;font-size:14px;border-radius:8px}.photo-picker-pagination-info{padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:13px}.photo-picker-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2px!important;padding:2px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;max-height:none!important}.photo-picker-tile{position:relative!important;width:100%!important;padding-bottom:100%!important;height:0!important;overflow:hidden!important;border-radius:0;cursor:pointer;background:var(--bg-secondary)}.photo-picker-tile.selected:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid var(--accent);pointer-events:none;z-index:3}.photo-picker-tile img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important}.photo-picker-checkbox{position:absolute;top:8px;left:8px;z-index:2;width:24px;height:24px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center}.photo-picker-checkbox input{width:18px;height:18px;cursor:pointer}.photo-picker-meta{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;font-size:11px;opacity:0;transition:opacity .2s}.photo-picker-tile:active .photo-picker-meta{opacity:1}.photo-picker-pagination{padding:16px;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center;gap:8px;position:sticky;bottom:0;z-index:10}.photo-picker-pagination button{padding:8px 12px;font-size:13px;border-radius:6px}.photo-picker-pagination .pagination-pages{display:flex;gap:4px}.photo-picker-pagination .pagination-page{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px}.photo-picker-pagination .pagination-page.active{background:var(--accent);color:#fff}.lightbox{display:none}.login-container{padding:20px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.login-card{width:100%;max-width:none;border-radius:12px}.empty-state{padding:40px 20px}}@media (hover: none) and (pointer: coarse){button,a,.clickable{min-height:44px;min-width:44px}.image-item:hover .image-overlay{opacity:0}.image-item.touched .image-overlay{opacity:1}input[type=checkbox],input[type=radio]{width:20px;height:20px}button:active,a:active,.clickable:active{opacity:.7;transform:scale(.98)}.skeleton{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px}.skeleton-text{height:14px;margin-bottom:8px;border-radius:4px}.skeleton-photo{aspect-ratio:1;border-radius:8px;overflow:hidden}.skeleton-album{background:#fff;border-radius:8px;overflow:hidden;margin-bottom:12px}.skeleton-album .album-card-cover{aspect-ratio:1;overflow:hidden}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px}.skeleton-image{position:relative;overflow:hidden;background:#f0f0f0;aspect-ratio:1}.dark-mode .skeleton{background:linear-gradient(90deg,#2a2a2a,#333,#2a2a2a);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.dark-mode .skeleton-image,.dark-mode .skeleton-album{background:var(--surface)}}@supports (-webkit-touch-callout: none){body{position:fixed;width:100%;overflow:hidden}.container{height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav-bottom{padding-bottom:env(safe-area-inset-bottom,20px)}*{-webkit-touch-callout:none;-webkit-user-select:none}input,textarea{-webkit-user-select:text}}@media (max-width: 768px) and (orientation: landscape){.image-grid,.album-grid{grid-template-columns:repeat(5,1fr)}.mobile-nav-bottom{padding-bottom:0}.modal-content{max-height:90vh}}.share-item-mobile{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:0 auto 16px;overflow:hidden;max-width:100%;box-shadow:0 2px 8px #0000000d}.share-item-mobile.revoked{opacity:.7}.share-mobile-url{display:flex;gap:10px;padding:16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);align-items:center}.share-url-input{flex:1;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:SF Mono,Monaco,monospace;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.share-copy-btn{padding:10px 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;min-width:44px;font-size:16px;font-weight:600;cursor:pointer}.share-copy-btn:active{opacity:.9;transform:scale(.95)}.share-mobile-stats{display:flex;justify-content:center;gap:20px;padding:16px;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--surface)}.stat-compact{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px}.stat-compact svg{color:var(--text-secondary);opacity:.7}.share-mobile-actions{display:flex;gap:8px;padding:12px}.share-action-btn{flex:1;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--text);cursor:pointer;transition:background .2s}.share-action-btn:active{background:var(--bg-secondary)}.share-action-btn.danger{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.share-action-btn svg{width:18px;height:18px}.share-mobile-badges{display:flex;gap:6px;padding:8px 12px;background:var(--bg-secondary);flex-wrap:wrap}.badge-pill{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.badge-pill.revoked{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}@media (max-width: 768px){.photo-picker-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:1fr!important;gap:2px!important}.photo-picker-tile{display:block!important;position:relative!important;width:100%!important;padding-bottom:100%!important;height:0!important;overflow:hidden!important}.photo-picker-tile>*{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important}}@media (max-width: 768px){.share-manager{margin:0 0 24px;padding:20px;border-radius:16px;border:1px solid var(--border);background:var(--surface);max-width:100%;width:100%}.share-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.share-manager-header h3{font-size:18px;font-weight:600;margin:0;color:var(--text);flex:1;min-width:0}.share-manager-header .button-primary-small{padding:8px 16px;font-size:14px;display:flex;align-items:center;gap:6px;border-radius:20px;white-space:nowrap;flex-shrink:0}.share-manager.full-bleed{width:100%;max-width:100%;margin:0 0 24px;padding:16px;border-radius:12px}.share-create-form{padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:24px;border:1px solid var(--border);position:relative;z-index:5}.share-form-grid{display:flex;flex-direction:column;gap:16px}.share-form-group{display:flex;flex-direction:column;gap:12px}.share-checkbox-label{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:14px}.share-checkbox-label input[type=checkbox]{width:20px;height:20px}.share-form-field{display:flex;flex-direction:column;gap:4px}.share-form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.share-form-select,.share-form-input{width:100%;padding:10px;font-size:16px;border:1px solid var(--border);border-radius:6px}.share-form-actions{display:flex;flex-direction:row;gap:8px;margin-top:16px}.share-form-actions button{flex:1;padding:12px;font-size:14px;border-radius:8px}.share-form-actions .button-primary-small{background:var(--accent);color:#fff;border:none}.share-form-actions .button-secondary-small{background:var(--bg);border:1px solid var(--border)}.share-item{display:none!important}.share-item-mobile{display:block!important}.share-item.revoked{opacity:.6}.share-item-main{padding:16px}.share-item-grid{display:flex;flex-direction:column;gap:12px}.share-url-row{display:flex;flex-direction:column;gap:12px;width:100%;padding-bottom:12px;border-bottom:1px solid var(--border)}.share-url-left{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.share-url-left>svg{display:none}.share-full-url{width:100%;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:SF Mono,Monaco,monospace;word-break:break-all;white-space:normal;color:var(--text-secondary)}.share-url-left .button-secondary-small{width:100%;margin:0;padding:12px;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:500}.share-url-left .button-secondary-small:active{opacity:.9;transform:scale(.98)}.share-item-actions{display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;padding:12px 0}.share-item-actions .button-secondary-small{padding:12px!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border-radius:8px!important;background:var(--bg-secondary)!important;border:1px solid var(--border)!important;min-height:44px}.share-item-actions .button-secondary-small svg{width:18px;height:18px}.share-item-actions .button-danger-text{grid-column:span 2;background:var(--danger-bg)!important;color:var(--danger)!important;border-color:var(--danger-border)!important}.mobile-action-btn{display:flex!important;align-items:center!important;justify-content:center!important}.mobile-action-btn .action-label{display:inline!important;font-size:13px}.share-stats-horizontal{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--border);margin:0}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.stat-icon{color:var(--text-secondary);width:16px;height:16px}.stat-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-value{font-size:18px;font-weight:600;color:var(--text);line-height:1}.share-footer{padding-top:12px}.share-item-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);flex-wrap:wrap}.share-views{display:flex;align-items:center;gap:4px}.share-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.share-badge.revoked{background:var(--danger-bg);color:var(--danger)}.share-badge.muted{background:var(--bg-secondary);color:var(--text-secondary)}.share-date{margin-left:auto;font-size:11px}.analytics-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);z-index:1000;overflow-y:auto;padding:20px}.analytics-header{position:sticky;top:0;background:var(--bg);padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}.analytics-grid{grid-template-columns:1fr;gap:12px}.analytics-card{padding:16px}.share-empty{padding:40px 20px;text-align:center;color:var(--text-secondary)}.share-list{margin-top:16px}.share-toggle-revoked{width:100%;padding:12px;margin-top:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-secondary);cursor:pointer}.share-copy-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:12px 20px;border-radius:24px;box-shadow:0 4px 12px #0000004d;z-index:1000;animation:slideUp .3s ease;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}@keyframes slideUp{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.share-expired{display:inline-block;padding:4px 8px;background:var(--danger-bg);color:var(--danger);font-size:11px;border-radius:4px;font-weight:500;text-transform:uppercase}.share-loading{display:flex;justify-content:center;padding:40px}.share-loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}}@media (max-width: 380px){.share-mobile-actions{flex-direction:column}.share-action-btn{width:100%;flex-direction:row;justify-content:center;padding:12px}.share-mobile-stats{flex-direction:column;gap:8px}.stat-compact{width:100%;justify-content:space-between}}@media (max-width: 375px){.image-grid{grid-template-columns:repeat(3,1fr)}.albums-grid,.analytics-grid{grid-template-columns:1fr}.photos-header h2{font-size:20px}.photos-count{font-size:12px}.share-stats-horizontal{grid-template-columns:repeat(2,1fr)!important;gap:8px}.stat-value{font-size:16px}.stat-label{font-size:9px}.share-item-actions{grid-template-columns:1fr!important}.share-item-actions .button-danger-text{grid-column:1}.album-header h1{font-size:20px}.photo-picker-grid{grid-template-columns:repeat(3,1fr)!important;gap:2px!important}.photo-picker-tile{width:100%!important;height:auto!important}.photo-picker-actions{flex-direction:column;align-items:stretch}.photo-picker-actions .muted{margin-right:0;text-align:center;padding:8px 0}.photo-picker-actions button{width:100%}.photo-picker-pagination{flex-wrap:wrap;gap:4px;padding:12px}.photo-picker-pagination button{font-size:12px;padding:6px 10px}.photo-picker-pagination .pagination-pages{order:2;width:100%;justify-content:center;margin-top:8px}}@media (min-width: 769px) and (max-width: 1024px){.container{max-width:100%;padding:20px}.image-grid{grid-template-columns:repeat(4,1fr)}.albums-grid,.analytics-grid{grid-template-columns:repeat(3,1fr)}}.mobile-upload-button{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:28px;background:var(--accent);color:#fff;border:none;box-shadow:0 4px 12px #0003;display:none;align-items:center;justify-content:center;z-index:90;cursor:pointer}@media (max-width: 768px){.mobile-upload-button{display:flex}}.mobile-upload-button:active{transform:scale(.95)}.pull-to-refresh{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center;transition:top .3s}.pull-to-refresh.visible{top:20px}.pull-to-refresh.refreshing{animation:spin 1s linear infinite}@keyframes spin{to{transform:translate(-50%) rotate(360deg)}}*{scroll-behavior:smooth}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}body{overscroll-behavior-y:contain}.image-item.loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%{background-position:-200% 0}to{background-position:200% 0}}.share-manager-mobile{background:var(--bg);width:100%;margin:0;padding:0;overflow:visible}.dark-mode .share-manager-mobile{background:var(--bg)}.share-header-mobile{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.share-header-left{display:flex;align-items:center;gap:8px}.share-header-left h3{margin:0;font-size:16px;font-weight:600}.share-count-badge{background:var(--primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.share-header-right{display:flex;align-items:center;gap:8px}.expand-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.dark-mode .expand-btn{background:var(--surface)}.expand-btn:active{transform:scale(.95)}.share-content-mobile{padding:12px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.share-create-form-mobile{background:#fff;padding:24px 20px;margin:0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.dark-mode .share-create-form-mobile{background:var(--surface)}.share-create-form-mobile .form-section{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.share-create-form-mobile .checkbox-label{display:flex;align-items:center;gap:12px;font-size:15px;padding:12px;background:#fff;border-radius:12px;border:1px solid var(--border);cursor:pointer;transition:all .2s ease}.share-create-form-mobile .checkbox-label:active{transform:scale(.98);background:var(--bg-secondary)}.dark-mode .share-create-form-mobile .checkbox-label{background:var(--surface)}.share-create-form-mobile .checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.share-create-form-mobile .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.share-create-form-mobile .form-field{display:flex;flex-direction:column;gap:8px}.share-create-form-mobile .form-field label{font-size:13px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.share-create-form-mobile .form-field select,.share-create-form-mobile .form-field input{padding:12px;border:1px solid var(--border);border-radius:10px;font-size:15px;background:#fff;min-height:44px;transition:border-color .2s ease}.share-create-form-mobile .form-field select:focus,.share-create-form-mobile .form-field input:focus{outline:none;border-color:var(--primary)}.dark-mode .share-create-form-mobile .form-field select,.dark-mode .share-create-form-mobile .form-field input{background:var(--surface)}.share-create-form-mobile .form-actions{display:flex;gap:12px}.share-create-form-mobile .form-actions button{flex:1;padding:14px;font-size:15px;font-weight:600;border-radius:12px;min-height:48px;transition:all .2s ease}.share-create-form-mobile .form-actions button:active{transform:scale(.98)}.share-empty-mobile{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:15px;background:#fff}.dark-mode .share-empty-mobile{background:var(--surface)}.share-item-compact{background:var(--bg-secondary);border-radius:8px;padding:10px;margin-bottom:8px}.share-url-row{display:flex;gap:6px;margin-bottom:8px}.share-url-input{flex:1;padding:8px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:SF Mono,Monaco,monospace;background:#fff;color:var(--text)}.dark-mode .share-url-input{background:var(--surface)}.copy-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text)}.dark-mode .copy-btn{background:var(--surface)}.copy-btn:active{transform:scale(.95);background:var(--primary);color:#fff}.share-stats-row{display:flex;gap:12px;margin-bottom:8px;padding:0 4px}.stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.share-actions-row{display:flex;gap:4px;margin-top:8px}.action-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:3px;padding:7px 6px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--text);overflow:hidden;white-space:nowrap}.action-btn-text{display:inline-block}@media (max-width: 380px){.action-btn-text{display:none}.action-btn{padding:8px}}.dark-mode .action-btn{background:var(--surface)}.action-btn:active{transform:scale(.95)}.action-btn.danger{color:var(--danger)}.share-badge-row{display:flex;gap:4px;margin-top:8px}.badge-compact{padding:2px 6px;background:var(--warning-bg);color:var(--warning);border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.copy-toast-mobile{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--success, #4CAF50);color:#fff;padding:12px 20px;border-radius:20px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #0003;z-index:1000;animation:toastSlideUp .3s ease-out}@keyframes toastSlideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.share-item-compact{padding:16px;margin-bottom:16px}.share-url-input{padding:12px;font-size:16px}.copy-btn{width:44px;height:44px}.share-actions-row{gap:8px}.action-btn{padding:10px;font-size:12px}.file-item .remove-button{opacity:1;width:32px;height:32px}@media (max-width: 768px){.album-mobile-sections{padding:0 12px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.album-section-mobile{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.section-header-mobile{width:100%;padding:14px 16px;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.section-header-mobile:active{background:var(--bg-hover)}.section-header-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.section-header-content>span:first-child{white-space:nowrap}.section-badge{padding:3px 10px;background:var(--primary-color);color:#fff;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0}.section-header-mobile .chevron{color:var(--text-muted);font-size:14px;transition:transform .2s;margin-left:8px}.section-content-mobile{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.action-button-mobile{width:100%;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;font-size:14px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.action-button-mobile:active{background:var(--bg-hover);transform:scale(.98)}.action-button-mobile svg{flex-shrink:0;color:var(--text-secondary)}.action-button-mobile span{flex:1;text-align:left}.action-button-mobile.danger{color:var(--danger-color)}.share-manager.compact{padding:0;margin:0;background:transparent;border:none;box-shadow:none}.share-manager.compact .share-header{display:none}.share-manager.compact .share-links-container{gap:10px}.share-manager.compact .share-link-item{padding:12px;background:var(--bg-surface);border-radius:10px;border:1px solid var(--border-color);margin-bottom:8px}.share-manager.compact .new-share-button{width:100%;padding:12px 16px;font-size:14px;border-radius:10px;background:var(--primary-color);color:#fff;border:none;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}.share-manager.compact .new-share-button:active{transform:scale(.98);opacity:.9}.album-actions-mobile,.action-section-mobile{display:none!important}.selection-actions-mobile{position:fixed;bottom:60px;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border-color);padding:12px 16px;display:flex;flex-direction:column;gap:8px;z-index:100}.selection-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.selection-count{font-size:14px;font-weight:600;color:var(--text-primary)}.selection-buttons{display:flex;gap:8px}.selection-buttons button{flex:1;padding:10px;font-size:13px;border-radius:8px}}.admin-dashboard{padding:2rem 0}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.btn-create-user{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-create-user:hover{background:var(--accent-hover);transform:translateY(-1px)}.create-user-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.modal-content{position:relative;background:var(--surface);border-radius:1rem;padding:2rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 50px #0000004d;pointer-events:auto;z-index:1}.modal-content h3{margin:0 0 1.5rem;color:var(--text);font-size:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-secondary);color:var(--text);font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.password-input{display:flex;gap:.5rem}.password-input input{flex:1}.btn-generate{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:.5rem;font-size:.9rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-generate:hover{background:var(--hover-bg)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel,.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel{background:var(--bg-secondary);color:var(--text)}.btn-cancel:hover:not(:disabled){background:var(--bg-hover)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-cancel:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.create-user-success{text-align:center;padding:1rem 0}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:#22c55e1a;color:#22c55e;border-radius:50%;font-size:2rem;margin-bottom:1rem}.create-user-success h4{margin:0 0 1.5rem;color:var(--text);font-size:1.25rem}.user-credentials{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;text-align:left}.user-credentials p{margin:.5rem 0;color:var(--text);font-family:Courier New,monospace;font-size:.95rem}.credential-actions{display:flex;gap:1rem;justify-content:center}.btn-copy,.btn-done{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-copy{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border)}.btn-copy:hover{background:var(--hover-bg)}.btn-done{background:var(--accent);color:#fff}.btn-done:hover{background:var(--accent-hover)}.admin-header{text-align:center;margin-bottom:2rem}.admin-header h1{color:var(--text);margin:0;font-size:2.5rem;font-weight:600}.admin-header p{color:var(--text-secondary);margin:.5rem 0 0;font-size:1.1rem}.admin-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.admin-tab{background:none;border:none;padding:.75rem 1.5rem;font-size:1rem;color:var(--text-secondary);cursor:pointer;border-radius:.5rem;transition:all .2s ease}.admin-tab:hover{background-color:var(--hover-bg);color:var(--text)}.admin-tab.active{background-color:var(--accent);color:#fff}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.stat-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{background:var(--accent);color:#fff;width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-content h3{margin:0 0 .5rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-number{font-size:2rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.stat-details{display:flex;flex-direction:column;gap:.25rem}.stat-details span{color:var(--text-secondary);font-size:.85rem}.admin-users h2{color:var(--text);margin-bottom:1.5rem}.users-table{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.users-table table{width:100%;border-collapse:collapse}.users-table th{background:var(--bg-secondary);color:var(--text);padding:1rem;text-align:left;font-weight:600;border-bottom:1px solid var(--border)}.users-table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--text)}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background:var(--hover-bg)}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:500;color:var(--text)}.user-email{color:var(--text-secondary);font-size:.9rem}.role-badge,.subscription-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500;text-transform:capitalize}.role-badge.user{background:#e5e7eb;color:#374151}.role-badge.admin{background:#dbeafe;color:#1e40af}.role-badge.super_admin{background:#fecaca;color:#dc2626}.subscription-badge.active{background:#d1fae5;color:#065f46}.subscription-badge.trialing{background:#fef3c7;color:#92400e}.subscription-badge.canceled{background:#fecaca;color:#dc2626}.storage-info{display:flex;flex-direction:column;gap:.5rem;min-width:120px}.storage-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.storage-fill{height:100%;background:var(--accent);transition:width .3s ease}.user-actions{display:flex;gap:.5rem}.btn-reset{padding:.5rem .875rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-size:.9rem;cursor:pointer}.btn-reset:hover{background:var(--accent-hover)}.admin-activity h2{color:var(--text-color);margin-bottom:1.5rem}.activity-feed{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color)}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--bg-accent)}.activity-icon{background:var(--primary-color);color:#fff;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem}.activity-content{flex:1}.activity-text{color:var(--text-color);margin-bottom:.25rem}.activity-time{color:var(--text-muted);font-size:.85rem}.admin-system h2{color:var(--text-color);margin-bottom:1.5rem}.system-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.system-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1rem}.system-icon{background:var(--primary-color);color:#fff;width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.system-content h3{margin:0 0 .5rem;color:var(--text-color);font-size:1rem;font-weight:500}.system-status{font-size:1.1rem;font-weight:600}.system-status.healthy{color:#059669}.system-status.caution{color:#f59e0b}.system-status.warning{color:#dc2626;font-weight:700}.system-status.error{color:#dc2626}.system-card.warning{border-color:#fbbf24;background:#fbbf240d}.system-card.warning .system-icon{background:#f59e0b}.system-details{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.storage-fill.critical{background:#dc2626}.admin-unauthorized{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.admin-unauthorized h2{color:var(--text-color);margin-bottom:1rem}.admin-loading{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1.1rem}@media (max-width: 768px){.admin-dashboard{padding:1rem 0}.admin-header h1{font-size:2rem}.admin-tabs{flex-wrap:wrap;justify-content:center;gap:.5rem}.admin-tab{padding:.5rem 1rem;font-size:.9rem}.admin-stats{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.stat-icon{width:2.5rem;height:2.5rem;font-size:1rem}.stat-number{font-size:1.5rem}.users-table{overflow-x:auto}.users-table table{min-width:800px}.users-table th,.users-table td{padding:.75rem .5rem;font-size:.9rem}.system-stats{grid-template-columns:1fr}.system-card{padding:1rem}.system-icon{width:2.5rem;height:2.5rem;font-size:1rem}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius)}.skeleton-text-group{display:flex;flex-direction:column}.skeleton-image{position:relative;overflow:hidden;background:#f0f0f0}.skeleton-card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.skeleton-card-content{padding:1rem}.skeleton-photo{aspect-ratio:1;border-radius:var(--radius);overflow:hidden}.skeleton-album .album-card-cover{aspect-ratio:1;overflow:hidden}.skeleton-share{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.skeleton-analytics{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;align-items:center;gap:1rem}.update-notification{position:fixed;bottom:20px;right:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-lg);z-index:9999;max-width:350px;animation:slideInUp .3s ease}@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.update-notification-content{display:flex;align-items:center;gap:12px}.update-icon{color:var(--accent);font-size:24px;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-message{flex:1}.update-message strong{display:block;font-size:14px;margin-bottom:4px}.update-message p{font-size:13px;color:var(--text-secondary);margin:0}.update-button{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition)}.update-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.update-timer{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light);font-size:12px;color:var(--text-muted);text-align:center}.dark-mode .update-notification{background:var(--surface);border-color:var(--border)}.dark-mode .skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.dark-mode .skeleton-image,.dark-mode .skeleton-card,.dark-mode .skeleton-share,.dark-mode .skeleton-analytics{background:var(--surface)}:root{--bg: #ffffff;--bg-secondary: #f5f5f7;--surface: #ffffff;--border: #d2d2d7;--border-light: #f5f5f7;--border-lighter: #eeeeee;--border-dark: #b5b5b8;--text: #1d1d1f;--text-primary: #1d1d1f;--text-secondary: #86868b;--text-muted: #86868b;--accent: #0071e3;--accent-hover: #0077ed;--accent-light: #e8f2ff;--primary: #0071e3;--success: #34c759;--warning: #ff9500;--danger: #ff3b30;--danger-bg: #fde8e8;--bg-subtle: #fafafa;--bg-tertiary: #f5f5f7;--hover-bg: #f7f7fa;--bg-hover: #f0f0f3;--card-bg: #ffffff;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--transition: all .3s cubic-bezier(.25, .46, .45, .94);--font: "Poppins", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow-x:hidden}body{font-family:var(--font);background:var(--bg-secondary);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:none;width:90%;margin:0 auto;padding:40px 20px 20px;min-height:100vh}.nav{background:#fffffff2;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;padding:0 40px;margin-bottom:30px;box-shadow:0 1px 3px #0000001a}.nav-container{display:flex;align-items:center;justify-content:space-between;padding:12px 0;width:100%}.nav-brand{text-decoration:none;color:var(--text);display:flex;align-items:center;gap:12px}.nav-logo{height:40px;width:auto;object-fit:contain}.nav-brand-text{display:flex;flex-direction:column;gap:2px}.nav-brand strong{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1}.nav-tagline{color:var(--text-secondary);font-size:13px;line-height:1}.nav-links{display:flex;align-items:center;gap:20px}.nav a{color:var(--text);text-decoration:none;font-size:14px;font-weight:400;transition:var(--transition);display:inline-flex;align-items:center;gap:6px;opacity:.8}.nav a:hover{opacity:1;color:var(--accent)}.nav a:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px;opacity:1;color:var(--accent)}.nav a.active{opacity:1;color:var(--accent);font-weight:600;position:relative}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--accent)}.card{background:var(--surface);border-radius:var(--radius);padding:32px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.card .full-bleed{margin-left:-32px;margin-right:-32px}@media (max-width: 640px){.card .full-bleed{margin-left:0;margin-right:0}}.card h2{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:16px}.metric-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:16px}.metric-label{color:var(--text-secondary);font-size:13px}.metric-value{font-size:22px;font-weight:700;margin-top:4px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.admin-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:16px}.admin-card h3{margin-top:0;margin-bottom:12px}.admin-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-search{display:flex;gap:8px}.admin-search input{padding:8px 10px;border:1px solid var(--border);background:var(--bg);border-radius:8px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border-light)}.admin-table th{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.pill{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border);font-size:12px}.page-header{margin-bottom:32px}.page-description{font-size:16px;color:var(--text-secondary);margin-top:8px;line-height:1.6}.page-title-with-icon{display:flex;align-items:center;gap:.75rem}.page-title-icon{font-size:1.5rem}.album-title-with-icon{display:flex;align-items:center;gap:.5rem}.album-icon{font-size:1.25rem}.login-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-secondary)}.login-card{width:100%;max-width:360px;background:#fff;border-radius:var(--radius-lg);padding:48px 40px;box-shadow:var(--shadow)}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:80px;height:80px;margin:0 auto 24px;display:block;object-fit:contain}.login-title{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.login-subtitle{font-size:15px;color:var(--text-secondary)}.login-form{margin-top:32px}.form-group{margin-bottom:16px}.form-input,.form-select{width:100%;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;transition:var(--transition);font-family:var(--font)}.form-input:focus,.form-select:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input::placeholder{color:var(--text-muted)}.login-button{width:100%;padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:500;cursor:pointer;transition:var(--transition);margin-top:24px}.login-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.login-button:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee;color:var(--danger);padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-top:16px;display:flex;align-items:center;gap:8px}button{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:400;cursor:pointer;transition:var(--transition);font-family:var(--font);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0);background:#06c}button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background:var(--accent);color:#fff;padding:10px 24px;border:none;border-radius:8px;font-weight:400;font-size:15px;transition:all .2s}.button-primary:hover:not(:disabled){background:var(--accent-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.button-primary:active:not(:disabled){transform:translateY(0);background:#06c}.button-primary:disabled{background:var(--bg-tertiary);color:var(--text-muted);opacity:.6;cursor:not-allowed}.button-secondary{background:#fff;color:var(--text);padding:10px 24px;border:1px solid var(--border);border-radius:8px;font-weight:400;font-size:15px;transition:all .2s}.button-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-dark);color:var(--text)}.button-secondary:active:not(:disabled){transform:translateY(0);background:var(--bg-tertiary)}.button-minimal{background:transparent;color:var(--accent);padding:6px 12px;border:none;font-size:14px;font-weight:400;transition:all .2s;border-radius:4px}.button-minimal:hover:not(:disabled){background:#4f46e51a;color:var(--accent);text-decoration:none;transform:none}.button-danger{background:var(--danger);color:#fff;transition:all .2s}.button-danger:hover:not(:disabled){background:#dc2626;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.button-danger-text{color:var(--danger)}.delete-dialog{max-width:500px}.delete-dialog-warning{margin:1rem 0;font-size:1.1rem}.delete-option{margin:1rem 0;padding:1rem;border:1px solid #e0e0e0;border-radius:8px;transition:background-color .2s}.delete-option:hover{background-color:#f9f9f9}.radio-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.radio-label input[type=radio]{margin-top:.25rem;cursor:pointer}.radio-label div{flex:1}.radio-label strong{display:block;margin-bottom:.25rem}.radio-label p{margin:0;font-size:.9rem}.shares-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.share-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:12px;background:#fff;transition:all .2s;min-height:140px}.share-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.share-item.revoked{opacity:.7;background:#fafafa}.share-info{flex:1;display:flex;flex-direction:column;gap:1rem;justify-content:space-between}.share-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.share-badge{padding:.35rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize;display:inline-flex;align-items:center}.share-badge.revoked{background:#ffeaa7;color:#d63031}.share-badge.expired{background:#fab1a0;color:#d63031}.share-meta{display:flex;gap:1rem;font-size:.9rem;color:var(--text-muted)}.share-meta-info{display:flex;gap:1rem;font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.share-last-view{color:var(--text-muted)}.share-views{font-weight:600;color:var(--primary)}.share-url{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.share-url code{padding:.75rem 1rem;background:#f8f9fa;border-radius:8px;font-size:.9rem;font-family:SF Mono,Monaco,monospace;color:#495057;border:1px solid #e9ecef;flex:1;max-width:600px}.share-actions{display:flex;gap:1rem;align-items:center;margin-top:auto}.analytics-modal{max-width:900px;width:90vw;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.modal-close:hover{background:#f0f0f0}.stat-card{padding:1.25rem;background:#f9f9f9;border-radius:8px;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--text-muted)}.analytics-timeline{margin-bottom:2rem}.analytics-timeline h4,.analytics-photos h4{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.timeline{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:flex;gap:1rem;padding:1rem;background:#f9f9f9;border-radius:8px;border-left:3px solid var(--primary)}.timeline-date{min-width:150px;font-size:.9rem;color:var(--text-muted)}.timeline-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.timeline-main{display:flex;gap:1rem;align-items:center}.visitor-badge{padding:.25rem .5rem;background:var(--primary);color:#fff;border-radius:4px;font-size:.8rem;font-family:monospace}.timeline-events{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-left:1rem;border-left:2px solid #e0e0e0}.timeline-event{display:flex;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.event-time{min-width:70px;color:#999}.event-type{font-weight:500;color:var(--text)}.event-image{color:var(--primary)}.photo-stat{display:flex;gap:.75rem;padding:.75rem;background:#f9f9f9;border-radius:8px;align-items:center}.photo-stat-info{flex:1;display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.button-group{display:flex;gap:8px;align-items:center}.photos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.photos-header-title{display:flex;align-items:baseline;gap:1rem}.photos-header h2{margin:0;font-size:28px;font-weight:600}.photos-count{color:var(--text-muted);font-size:.9rem}.photos-header-actions{display:flex;gap:12px;align-items:center}.selection-status{font-size:14px;color:var(--text-secondary);padding:8px 12px;background:var(--surface);border-radius:6px;font-weight:500}.page-controls{display:flex;align-items:center;gap:8px;margin-bottom:20px}.image-grid-controls{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.selection-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.share-creator{background:#f8f9fa;border-radius:12px;padding:2rem;margin-bottom:3rem;border:1px solid #e9ecef}.share-options{display:flex;gap:2rem;margin:1.5rem 0;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;padding:.5rem;border-radius:8px;transition:background .2s}.checkbox-label:hover{background:#007bff0d}.checkbox-input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.shares-list{margin-top:3rem}.share-theme-selector{margin-top:1.5rem}.share-theme-selector .form-label{display:block;font-weight:500;margin-bottom:.75rem;color:var(--text)}.theme-options{display:flex;gap:1rem;flex-wrap:wrap}.theme-options .radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:background .2s}.theme-options .radio-label:hover{background:#007bff0d}.theme-options .radio-label input[type=radio]{cursor:pointer}.theme-options .radio-label span{font-size:.95rem;color:var(--text)}.section-title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.share-item{background:var(--bg-secondary);border-radius:var(--radius);padding:20px;margin-bottom:16px;transition:var(--transition)}.share-item:hover{box-shadow:var(--shadow-sm)}.share-content{display:flex;flex-direction:column;gap:.75rem;flex:1;width:100%}.share-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.share-album-title{font-size:1.1rem;font-weight:600;margin:0;color:var(--text)}.share-date{font-size:.9rem;color:var(--text-muted)}.share-url-container{display:flex;gap:.5rem;align-items:center;margin:.5rem 0}.share-url-input{flex:1;padding:.6rem .9rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:.85rem;font-family:SF Mono,Monaco,monospace;color:#495057}.copy-button{padding:.6rem .9rem;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:.85rem;min-width:50px;transition:all .2s;cursor:pointer}.copy-button:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.copy-icon{font-size:1.1rem}.share-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.badge{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:16px;font-size:.8rem;font-weight:500;line-height:1}.badge-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.badge-muted{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.badge-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.share-actions{display:flex;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f0f0f0}.album-create-form{display:flex;gap:12px;margin-bottom:24px}.album-uploader{margin:16px 0 24px;padding:16px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}.batch-uploader .dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;background:var(--bg-secondary);text-align:center;cursor:pointer;transition:var(--transition)}.batch-uploader .dropzone.drag-active{border-color:var(--accent);background:#4dabff14}.batch-uploader .dropzone-content svg{opacity:.6;margin-bottom:8px}.batch-uploader .file-list{margin-top:16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.batch-uploader .file-list-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-light)}.batch-uploader .upload-button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 12px;font-weight:600;cursor:pointer}.batch-uploader .upload-button[disabled]{opacity:.6;cursor:not-allowed}.batch-uploader .file-items{max-height:40vh;overflow-y:auto}.batch-uploader .file-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-light)}.batch-uploader .file-info{display:flex;flex-direction:column}.batch-uploader .file-progress{display:flex;align-items:center;gap:8px}.batch-uploader .progress-bar{width:140px;height:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;overflow:hidden}.batch-uploader .progress-fill{height:100%;background:var(--accent)}.batch-uploader .remove-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px}.album-create-input{flex:1;padding:12px 16px;background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-sm);font-size:16px;transition:var(--transition)}.album-create-input:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}.album-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:var(--transition);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.album-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.album-card-cover{width:100%;height:200px;overflow:hidden;background:var(--bg-secondary);position:relative}.album-card-cover img{width:100%;height:100%;object-fit:cover;object-position:center}.album-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-muted)}.album-card-placeholder svg{opacity:.3}.album-card-placeholder.special-placeholder{background:linear-gradient(135deg,#ff6b6b33,#ff8e5333);color:#ff6b6b}.album-card-content{padding:20px;flex:1;display:flex;flex-direction:column;justify-content:space-between}.album-card.special-album{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff}.album-card.special-album h3{color:#fff}.album-card.special-album .album-stats{color:#ffffffe6}.album-card-content h3{color:var(--text);font-size:18px;font-weight:600;margin-bottom:8px}.album-stats{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:14px}.album-header{position:relative;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-light)}.album-back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin-bottom:1rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;border-radius:8px;transition:all .2s}.album-back-button:hover{background:var(--bg-hover);color:var(--accent);transform:translate(-2px)}.album-back-button svg{transition:transform .2s}.album-back-button:hover svg{transform:translate(-2px)}.album-header-content{display:flex;justify-content:space-between;align-items:flex-start}.album-header h2{margin:0 0 8px}.album-description{margin:8px 0}.album-actions{display:flex;gap:12px}.album-edit-form{max-width:600px;padding:2rem 0}.album-edit-field{margin-bottom:1.5rem}.album-edit-label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.album-title-input,.album-description-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);transition:all .2s;font-family:inherit}.album-title-input:focus,.album-description-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.album-title-input{font-weight:600;font-size:1.125rem}.album-description-input{resize:vertical;min-height:100px;line-height:1.5}.album-edit-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.album-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-top:20px}.album-toolbar-group{display:flex;align-items:center;gap:8px}.album-toolbar-group.left{flex:0 0 auto}.album-toolbar-group.right{margin-left:auto}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:24px}.album-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);cursor:pointer;background:var(--bg-secondary);border:1px solid var(--border);transition:var(--transition)}.album-tile:hover:not(.dragging){transform:translateY(-4px);box-shadow:var(--shadow)}.album-grid.rearranging .album-tile{cursor:move;transition:transform .2s,opacity .2s}.album-tile.dragging{opacity:.5;transform:scale(.95);cursor:grabbing}.album-tile.drag-over{transform:scale(1.05);box-shadow:0 0 0 3px var(--accent);background:#4f46e51a}.album-tile.selected{border:2px solid var(--primary);box-shadow:0 0 0 3px #007bff1a}.album-tile .selection-checkbox{position:absolute;top:10px;left:10px;z-index:10;background:#ffffffe6;border-radius:4px;padding:4px;display:flex;align-items:center;justify-content:center}.album-tile .selection-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.album-tile-tag-indicator{position:absolute;top:10px;left:10px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 8px;border-radius:12px;display:flex;align-items:center;gap:4px;color:#fff;font-size:12px;z-index:2}.selection-status{font-weight:500;color:var(--primary);margin-right:12px}.drag-handle{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:6px;font-size:20px;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;z-index:2}.album-grid.rearranging .album-tile:hover{transform:none}.album-grid.rearranging .album-tile img{pointer-events:none;-webkit-user-select:none;user-select:none}.album-tile img{width:100%;height:100%;object-fit:cover;object-position:center}.album-tile-overlay{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;display:flex;justify-content:space-between;align-items:flex-end;opacity:0;transition:opacity .2s}.tile-info{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.album-tile:hover:not(.dragging) .album-tile-overlay{opacity:1}.album-grid.rearranging .album-tile-overlay{opacity:1;background:linear-gradient(to bottom,#0000004d,#000c)}.tile-number{font-size:12px;font-weight:600;background:#fff3;padding:2px 8px;border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.photo-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1200px;max-height:80vh;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column}.photo-picker-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-light)}.photo-picker-header h3{margin:0;font-size:20px;font-weight:600}.photo-picker-actions{display:flex;align-items:center;gap:12px}.photo-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:20px;overflow-y:auto;flex:1;max-height:60vh}.photo-picker-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-secondary);border:2px solid transparent;cursor:pointer;transition:var(--transition)}.photo-picker-tile:hover{transform:scale(1.02);box-shadow:var(--shadow-sm)}.photo-picker-tile.selected{border-color:var(--accent)}.photo-picker-tile.in-album{opacity:.5;cursor:not-allowed}.photo-picker-tile.in-album:hover{transform:none;box-shadow:none}.photo-picker-tile img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-picker-badge{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;z-index:2}.photo-picker-checkbox{position:absolute;top:8px;left:8px;z-index:1}.photo-picker-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--accent)}.photo-picker-meta{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;opacity:0;transition:opacity .2s}.photo-picker-tile:hover .photo-picker-meta{opacity:1}.photo-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{text-align:center;padding:60px 20px}.empty-state-photos{text-align:center;padding:80px 20px;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.empty-state-photos .empty-state-icon{color:var(--text-muted);opacity:.5}.empty-state-photos h3{font-size:1.5rem;font-weight:600;color:var(--text);margin:0}.empty-state-photos p{color:var(--text-muted);font-size:1rem;margin:0;max-width:400px}.empty-state-photos .button-primary{margin-top:1rem}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:20px;font-weight:600;margin-bottom:8px}.empty-state p{color:var(--text-secondary);font-size:14px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:24px}.photo-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;transition:var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.photo-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.photo-tile img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-tile-checkbox{position:absolute;top:12px;right:12px;width:28px;height:28px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;box-shadow:0 2px 4px #0003}.selection-mode .photo-tile-checkbox,.photo-tile:hover .photo-tile-checkbox,.photo-tile.selected .photo-tile-checkbox{opacity:1}.photo-tile.selected .photo-tile-checkbox{background:var(--accent)}.photo-tile.selected .photo-tile-checkbox:after{content:"✓";color:#fff;font-size:18px;font-weight:700;position:absolute}.photo-tile-checkbox input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;opacity:0;position:absolute}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.muted{color:var(--text-muted)}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.download-album-button{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:500;text-decoration:none;transition:var(--transition);cursor:pointer}.download-album-button:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.public-gallery[data-theme=dark] .download-album-button{background:#ffffff1a;color:#fff;border-color:#fff3}.public-gallery[data-theme=dark] .download-album-button:hover{background:#ffffff26}.public-gallery[data-theme=light] .download-album-button{background:#fff;color:var(--text);border-color:var(--border);box-shadow:0 1px 3px #0000001a}.public-gallery[data-theme=light] .download-album-button:hover{background:var(--bg-hover);box-shadow:0 4px 12px #00000026}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;display:flex;flex-direction:column;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}.lightbox-controls{display:flex;gap:12px;align-items:center}.lightbox-delete-btn{background:#ef4444e6;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}.lightbox-delete-btn:hover{background:#dc2626}.lightbox-delete-btn:active{transform:scale(.98)}.lightbox-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.lightbox-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:12px;font-size:12px;color:#3b82f6}.toggle-title-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:var(--radius);font-size:14px;cursor:pointer;transition:var(--transition);margin-right:12px}.toggle-title-btn:hover{background:#fff3}.toggle-exif-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:var(--radius);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:6px;margin-right:12px}.toggle-exif-btn:hover{background:#fff3}.lightbox-view-toggle{display:flex;gap:4px;background:#ffffff1a;border-radius:980px;padding:4px}.view-toggle-btn{padding:8px 16px;background:transparent;color:#fff;border:none;border-radius:980px;font-size:14px;cursor:pointer;transition:var(--transition)}.view-toggle-btn.active{background:var(--accent)}.download-button-header{padding:8px 16px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:980px;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}.download-button-header:hover{background:#fff3;transform:scale(1.05)}.lightbox-close{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-single{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:40px}.lightbox-image-container{max-width:90vw;max-height:80vh;position:relative}.lightbox-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 20px 60px #00000080}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;font-size:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:10}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-info{position:absolute;bottom:20px;left:20px;right:20px;background:#000000b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:20px;border-radius:var(--radius);color:#fff}.lightbox-info-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.lightbox-info h3{margin:0;font-size:18px;font-weight:600;flex:1}.lightbox-caption{margin:0;color:#fffc;font-size:14px}.like-button-inline{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;font-size:32px;width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.like-button-inline svg{width:32px;height:32px}.like-button-inline:hover{background:#fff3;transform:scale(1.1)}.like-button-inline.liked{background:#ff3b3033;border-color:#ff3b3080;animation:heartBeat .3s ease}.like-button-inline.liked svg{color:#ff3b30}.lightbox-meta{margin-top:12px;font-size:13px;color:#fff9}.lightbox-info .muted{color:#fff9}.editable-title{cursor:pointer;position:relative;display:inline-block;transition:var(--transition);padding-bottom:2px}.editable-title:hover{color:var(--accent);border-bottom:1px dashed rgba(255,255,255,.5)}.title-edit-container{display:flex;align-items:center;gap:12px;margin-bottom:12px}.title-edit-input{flex:1;padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);color:#fff;font-size:16px;font-weight:500;outline:none;transition:var(--transition)}.title-edit-input:focus{background:#ffffff26;border-color:var(--accent)}.title-edit-input::placeholder{color:#ffffff80}.title-edit-actions{display:flex;gap:8px}.lightbox .button-secondary-small,.lightbox .button-primary-small{padding:8px 16px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.lightbox .button-secondary-small{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3)}.lightbox .button-secondary-small:hover{background:#fff3}.lightbox .button-primary-small{background:var(--accent);color:#fff}.lightbox .button-primary-small:hover{background:var(--accent-hover);transform:translateY(-1px)}.lightbox-contact-sheet{flex:1;overflow-y:auto;padding:20px}.contact-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-width:1400px;margin:0 auto}.contact-sheet-item{aspect-ratio:1;position:relative;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;transition:var(--transition);border:2px solid transparent}.contact-sheet-item:hover{transform:scale(1.05);border-color:var(--accent)}.contact-sheet-item.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.contact-sheet-item img{width:100%;height:100%;object-fit:contain;background:transparent}.contact-sheet-index{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.public-gallery[data-theme=dark] .lightbox{background:#000000fa}.public-gallery[data-theme=dark] .lightbox-header{background:#000c;border-bottom:1px solid rgba(255,255,255,.05)}.public-gallery[data-theme=dark] .view-toggle-btn{color:#ffffffe6;border:1px solid rgba(255,255,255,.1)}.public-gallery[data-theme=dark] .view-toggle-btn.active{background:var(--accent);border-color:var(--accent)}.public-gallery[data-theme=dark] .download-button-header{border:1px solid rgba(255,255,255,.1)}.public-gallery[data-theme=dark] .contact-sheet-item{border-color:#ffffff0d}.public-gallery[data-theme=dark] .contact-sheet-item:hover{border-color:var(--accent)}.public-gallery[data-theme=dark] .contact-sheet-index{background:#000000e6;border:1px solid rgba(255,255,255,.1)}.public-gallery[data-theme=dark] .lightbox-nav,.public-gallery[data-theme=dark] .lightbox-close{color:#fffc}.like-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:32px;width:64px;height:64px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);margin-top:16px}.like-button svg{width:32px;height:32px}.like-button:hover{background:#fff3;transform:scale(1.1)}.like-button.liked{background:#ff3b3033;border-color:#ff3b3080;animation:heartBeat .3s ease}.like-button.liked svg{color:#ff3b30}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.photo-tile-like{position:absolute;top:8px;right:8px;width:32px;height:32px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;cursor:pointer;transition:all .3s ease;border:2px solid rgba(255,255,255,.3);z-index:10;opacity:0}.photo-tile-like svg{width:16px;height:16px;fill:#fff;stroke:#fff;stroke-width:2;color:#fff}.photo-tile:hover .photo-tile-like{opacity:1}.photo-tile.liked .photo-tile-like{opacity:1;background:#ff3b30e6;border-color:#ffffff80}.photo-tile-like:hover{transform:scale(1.1);background:#000c}.photo-tile.liked .photo-tile-like:hover{background:#ff3b30;transform:scale(1.1)}.photo-tile-like:active{transform:scale(.9)}.photo-tile-like.clicked{animation:likeClick .3s ease}.photo-tile-tag-indicator{position:absolute;top:8px;left:8px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:4px 8px;border-radius:12px;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;z-index:2;opacity:0;transition:opacity .2s}.photo-tile:hover .photo-tile-tag-indicator{opacity:1}.photo-tile-tag-indicator span{min-width:16px;text-align:center}.photo-tile-format-badge{position:absolute;bottom:8px;right:8px;background:#000000bf;color:#fff;font-size:10px;font-weight:600;padding:3px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2}.photo-tile:hover .photo-tile-format-badge{opacity:1}@keyframes likeClick{0%{transform:scale(1);background:#000000b3}50%{transform:scale(1.3);background:#ff3b30e6}to{transform:scale(1)}}.photo-tile-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;display:flex;align-items:flex-end;opacity:0;transition:opacity .2s;pointer-events:none}.photo-tile:hover .photo-tile-overlay{opacity:1}.photo-tile-title{font-size:13px;font-weight:500;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.photo-tile-delete{position:absolute;bottom:40px;right:8px;width:32px;height:32px;border-radius:50%;background:#ef4444e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:10;box-shadow:0 2px 8px #00000040;font-size:20px;font-weight:700;line-height:1;padding:0}.photo-tile:hover .photo-tile-delete{opacity:1}.photo-tile-delete:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 4px 12px #ef444466;border-color:#ffffff80}.photo-tile-delete:active{transform:scale(.95)}.album-tile-like{position:absolute;top:8px;right:8px;width:34px;height:34px;min-width:34px;min-height:34px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0;z-index:10;padding:0;flex-shrink:0}.album-tile:hover .album-tile-like{opacity:1}.album-tile-like:hover{transform:scale(1.1);background:#000c}.album-tile-like.is-favorite{background:#ff3b30e6;border-color:#ffffff80;opacity:1}.album-tile-like span{display:block;line-height:1;font-size:16px;color:#fff}.album-tile-delete{width:32px;height:32px;border-radius:50%;background:#ef4444e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 8px #00000040;font-size:20px;font-weight:700;line-height:1;padding:0}.album-tile-delete:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 4px 12px #ef444466;border-color:#ffffff80}.album-tile-delete:active{transform:scale(.95)}.batch-rename-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;max-height:90vh;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column;overflow:hidden}.modal-description{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text)}.form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--bg);color:var(--text);transition:var(--transition)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0071e31a}.form-hint{margin-top:6px;font-size:12px;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.preview-section{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:12px 16px;margin-top:20px}.preview-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.preview-list{display:flex;flex-direction:column;gap:4px}.preview-item{display:flex;align-items:center;gap:12px;font-size:13px;padding:3px 0;font-family:SF Mono,Monaco,Courier New,monospace}.preview-old{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-arrow{color:var(--text-muted)}.preview-new{flex:1;color:var(--accent);font-weight:500}.modal-body{padding:20px 24px;overflow-y:auto;flex:1;max-height:calc(80vh - 160px)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-light);background:var(--bg-secondary);border-radius:0 0 var(--radius) var(--radius)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.album-selector{max-width:520px;width:90%;max-height:70vh;display:flex;flex-direction:column}.album-selector-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border)}.album-selector-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:var(--text)}.album-selector-subtitle{margin:0;color:var(--text-muted);font-size:.95rem}.album-list{flex:1;overflow-y:auto;padding:.5rem;max-height:400px}.album-item{display:flex;align-items:center;gap:1rem;padding:1rem;margin:.25rem;background:transparent;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s;width:calc(100% - .5rem);text-align:left;font-family:inherit}.album-item:hover{background:var(--bg-hover);border-color:var(--accent);transform:translate(2px)}.album-item-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-secondary);border-radius:10px;color:var(--text-muted);flex-shrink:0}.album-item:hover .album-item-icon{background:#4f46e51a;color:var(--accent)}.album-info{flex:1;min-width:0}.album-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-meta{display:flex;gap:1rem;align-items:center}.album-photo-count{font-size:.85rem;color:var(--text-muted)}.album-add-action{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border-radius:8px;font-size:.9rem;font-weight:500;transition:all .2s}.album-item:hover .album-add-action{background:#6366f1;transform:scale(1.05)}.album-add-icon{display:flex;align-items:center;justify-content:center}.album-add-text{font-weight:600}.album-list-empty{padding:3rem 2rem;text-align:center}.album-list-empty p{margin:.5rem 0}.album-list-empty .small{font-size:.85rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem}.modal-content{background:#fff;border-radius:var(--radius-lg);padding:32px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}.upload-modal{max-width:800px}.batch-rename-modal .modal-header,.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-light)}.modal-header h3{margin:0;font-size:24px;font-weight:600}.modal-close-btn{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--text-secondary);transition:var(--transition)}.modal-close-btn:hover{background:var(--border-light);transform:scale(1.1)}.batch-uploader{width:100%}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg);position:relative;overflow:hidden}.dropzone:hover{border-color:var(--accent);background:var(--accent-light)}.dropzone.drag-active{border-color:var(--accent);background:var(--accent-light);transform:scale(1.02);box-shadow:var(--shadow)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:16px}.dropzone-content svg{opacity:.6;color:var(--text-secondary);transition:var(--transition)}.dropzone:hover .dropzone-content svg{opacity:1;color:var(--accent);transform:translateY(-2px)}.dropzone-content p{margin:0;font-size:16px;font-weight:500;color:var(--text)}.dropzone-content p.muted{font-size:14px;font-weight:400;color:var(--text-secondary)}.file-list{margin-top:32px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-light);overflow:hidden;animation:slideUp .3s ease}.file-list-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.file-list-header span{font-size:14px;font-weight:500;color:var(--text-secondary)}.upload-button{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:100px}.upload-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.file-items{max-height:300px;overflow-y:auto}.file-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-light);transition:var(--transition);position:relative}.file-item:last-child{border-bottom:none}.file-item:hover{background:var(--bg-secondary)}.file-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.file-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:12px;color:var(--text-secondary)}.file-progress{display:flex;align-items:center;margin-right:12px}.progress-bar{width:60px;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s ease;border-radius:2px}.status-complete{color:var(--success);font-size:16px;font-weight:700}.status-error{color:var(--danger);font-size:16px;font-weight:700}.remove-button{width:24px;height:24px;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;transition:var(--transition);opacity:0}.file-item:hover .remove-button{opacity:1}.remove-button:hover{background:var(--danger);color:#fff;transform:scale(1.1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.public-gallery{min-height:100vh;background:var(--bg-secondary);padding:0}.public-gallery-header{background:#fff;padding:32px 20px;text-align:center;border-bottom:1px solid var(--border-light);margin:0}.public-gallery[data-theme=dark]{background:#0a0a0a}.public-gallery[data-theme=dark] .public-gallery-header{background:#1a1a1a;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.public-gallery[data-theme=dark] .gallery-description,.public-gallery[data-theme=dark] .gallery-count{color:#ffffffb3}.masonry-gallery{width:100%}.masonry-item{break-inside:avoid}.masonry-item img{width:100%;height:auto;display:block}.public-gallery-header h1{font-size:32px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.gallery-description{font-size:16px;color:var(--text-secondary);margin:8px 0}.gallery-count{font-size:14px;color:var(--text-muted)}.justified-gallery{padding:0;width:100%;margin:0}.jg-row{display:flex;margin:0;padding:0}.jg-item{position:relative;overflow:hidden;background:transparent;border-radius:0;cursor:pointer;padding-bottom:0;box-sizing:border-box}.jg-item img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:transparent}.jg-item:hover{box-shadow:0 4px 16px #0000002e}.public-gallery .jg-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:none;pointer-events:none}.jg-overlay{position:absolute;left:0;right:0;bottom:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;opacity:0;transition:opacity .2s ease}.jg-item:hover .jg-overlay{opacity:1}.jg-title{font-size:12px;font-weight:400}.jg-format-badge{position:absolute;top:6px;right:6px;background:#000000bf;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2}.jg-item:hover .jg-format-badge{opacity:1}.public-gallery-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.public-gallery-error{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.error-card{background:#fff;padding:48px;border-radius:var(--radius-lg);text-align:center;max-width:400px;box-shadow:var(--shadow)}.error-card h2{font-size:24px;margin-bottom:16px}.error-card p{color:var(--text-secondary);margin:8px 0}.lightbox-single.touch-active{cursor:grabbing}.lightbox-image.swiping{transition:none}@media (max-width: 768px){.justified-gallery{padding:0}.public-gallery-header{padding:24px 16px}.public-gallery-header h1{font-size:24px}.lightbox-header{padding:16px}.lightbox-nav{width:40px;height:40px;font-size:20px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-single{padding:20px}.contact-sheet-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;padding:12px}.lightbox-info{padding:16px;border-radius:var(--radius-sm)}.lightbox-view-toggle{font-size:13px}.view-toggle-btn,.download-button-header{padding:6px 12px;font-size:13px}}@media (max-width: 480px){.public-gallery-masonry{gap:2px;padding:4px}.public-gallery-tile.tile-regular,.public-gallery-tile.tile-large,.public-gallery-tile.tile-wide,.public-gallery-tile.tile-tall,.public-gallery-tile.tile-small{max-width:calc(50vw - 4px);max-height:calc(50vw - 4px)}.public-gallery-tile{border-radius:0}.lightbox-controls{flex-direction:column;gap:8px;align-items:stretch}.lightbox-view-toggle{width:100%}}@media (max-width: 768px){.nav-links{display:none}.hero h1{font-size:32px}.albums-grid{grid-template-columns:repeat(2,1fr);gap:12px}.album-card-cover{height:160px}.album-card-content{padding:14px}.album-card-content h3{font-size:16px}.album-stats{font-size:12px}.album-uploader{padding:12px}.batch-uploader .dropzone{padding:16px}.batch-uploader .file-items{max-height:30vh}.batch-uploader .progress-bar{width:110px}.batch-uploader .dropzone .dropzone-content svg{width:64px;height:64px}.file-list-header .upload-button{display:none}.file-previews-mobile{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 12px 0}.file-preview-thumb{width:100%;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background:var(--bg-subtle);border:1px solid var(--border-light)}.file-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.file-preview-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary)}.uploader-actions-mobile{position:sticky;bottom:0;display:flex;gap:8px;padding:12px 16px env(safe-area-inset-bottom,0);background:var(--surface);border-top:1px solid var(--border-light);z-index:5}.uploader-actions-mobile .button-primary,.uploader-actions-mobile .button-secondary,.uploader-actions-mobile .button-minimal{min-height:44px}.uploader-actions-mobile .button-primary{flex:1}.upload-hero-title{margin:8px 0 0;font-size:20px}.upload-sources{display:flex;gap:8px;padding:12px 16px 0}.upload-sources .source-btn{flex:1;min-height:44px}.container{padding-bottom:90px}.album-create-form{flex-direction:column;gap:8px}.album-create-input,.album-create-form .button-primary{width:100%}.album-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.share-options{flex-direction:column;gap:12px}.album-toolbar{flex-direction:column}.album-toolbar-group{width:100%;flex-direction:column}.album-toolbar-group button{width:100%}}@media (max-width: 480px){.albums-grid{gap:10px}.album-card-cover{height:130px}.album-card-content{padding:12px}.album-card-content h3{font-size:15px}.album-stats{font-size:11.5px}.photo-picker{width:96%;max-height:85vh}.photo-picker-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}}.tag-selector-modal{max-width:500px;width:90%}.tag-selector-modal .modal-body{padding:1.5rem}.tag-selector-modal .tag-list{display:flex;flex-direction:column;gap:8px;margin-top:1rem;max-height:400px;overflow-y:auto}.tag-selector-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.tag-selector-item:hover{background:var(--bg-hover);border-color:var(--primary)}.tag-selector-actions{display:flex;gap:12px;margin-bottom:20px}.tag-search-input{flex:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px}.tag-creator-inline{padding:20px 0}.tag-creator-inline h4{margin-top:0;margin-bottom:16px;font-size:16px;font-weight:600}.tag-creator-inline .tag-name-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;margin-bottom:16px}.tag-creator-inline .color-picker{margin-bottom:20px}.color-picker-label{display:block;font-size:13px;font-weight:500;margin-bottom:10px;color:#666}.tag-creator-inline .color-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0}.tag-creator-inline .color-preset{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s}.tag-creator-inline .color-preset:hover{transform:scale(1.1)}.tag-creator-inline .color-preset.selected{border-color:#333;box-shadow:0 0 0 2px #0000001a}.tag-creator-actions{display:flex;gap:12px;justify-content:flex-end}.empty-tags{text-align:center;padding:40px 20px;color:#999}.empty-tags svg{margin-bottom:16px;opacity:.5}.tag-color-dot{width:20px;height:20px;border-radius:4px;flex-shrink:0}.tag-item-name{font-size:15px;font-weight:500;color:var(--text)}.empty-tags{text-align:center;padding:2rem}.empty-tags .button-primary{margin-top:1rem}.tags-header{margin-bottom:2rem;text-align:center}.view-toggle{display:flex;gap:8px;margin-bottom:2rem;background:var(--surface);padding:4px;border-radius:8px;border:1px solid var(--border)}.toggle-btn{flex:1;padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.toggle-btn.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001a}.toggle-btn:hover:not(.active){color:var(--text)}.tags-header h2{font-size:1.875rem;font-weight:700;margin-bottom:.5rem;color:var(--text)}.tags-header p{color:var(--text-secondary)}.tags-controls{display:flex;gap:1rem;margin-bottom:2rem;align-items:center}.tags-search{position:relative;flex:1;max-width:400px}.tags-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.tags-search-input{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface);transition:all .2s}.tags-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.tag-creator{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.tag-form{display:flex;flex-direction:column;gap:1rem}.tag-name-input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg);transition:all .2s}.tag-name-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.color-picker{display:flex;align-items:center;gap:1rem}.color-picker.compact{flex:1}.current-color{width:40px;height:40px;border-radius:8px;border:2px solid var(--border)}.color-presets{display:flex;gap:6px;flex-wrap:wrap;flex:1}.color-preset{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-preset:hover{transform:scale(1.1)}.color-preset.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.tag-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.tags-list{display:flex;flex-direction:column;gap:.75rem}.tag-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:all .2s}.tag-item:hover{border-color:var(--border-hover);box-shadow:0 2px 4px #0000000d}.tag-info{display:flex;align-items:center;gap:1rem;flex:1}.tag-color-indicator{width:24px;height:24px;border-radius:4px;flex-shrink:0}.tag-name{font-weight:500;font-size:15px;flex:1}.tag-count{font-size:13px;color:var(--text-secondary)}.tag-actions{display:flex;gap:.5rem}.tag-edit-form{display:flex;align-items:center;gap:1rem;width:100%}.tag-edit-form .tag-name-input{flex:1;max-width:300px}.button-icon{padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.button-icon:hover{background:var(--bg-hover);color:var(--text)}.button-icon.danger:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.no-tags{text-align:center;padding:4rem 2rem;color:var(--text-secondary);grid-column:1 / -1}.no-tags svg{margin-bottom:1rem;opacity:.5}.no-tags h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text);font-weight:600}.tags-unified-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:1.5rem}.tag-unified-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.tag-unified-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.tag-card-preview-section{position:relative;aspect-ratio:16/9;background:#f5f5f5;overflow:hidden}.tag-card-preview-section img{width:100%;height:100%;object-fit:cover}.tag-info-section{padding:12px 16px;border-bottom:1px solid #e0e0e0}.tag-info-section .tag-info{display:flex;align-items:center;gap:8px}.tag-info-section .tag-actions{display:flex;gap:8px;margin-top:8px}.tag-card-info{padding:12px 16px;display:flex;align-items:center;gap:8px}.tag-card-info h4{margin:0;flex:1;font-size:16px;font-weight:600}.tag-photo-count{font-size:12px;color:#666;background:#f0f0f0;padding:4px 8px;border-radius:12px}.tag-edit-form-inline{padding:8px 0}.tag-edit-form-inline .tag-name-input{width:100%;margin-bottom:8px}.tags-browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:1rem}.tag-view-mode{padding:1rem 0}.tag-view-header{margin-bottom:2rem}.back-button{background:none;border:none;color:var(--primary);font-size:14px;cursor:pointer;padding:8px 0;margin-bottom:1rem;transition:opacity .2s}.back-button:hover{opacity:.8}.tag-view-title{display:flex;align-items:center;gap:12px}.tag-view-title h3{margin:0;font-size:1.5rem;font-weight:600}.tag-view-title .photo-count{color:#666;font-size:14px;padding:4px 8px;background:#f0f0f0;border-radius:12px}.tag-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.tag-photo-tile{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s}.tag-photo-tile:hover{transform:scale(1.02)}.tag-photo-tile img{width:100%;height:100%;object-fit:cover}.tag-photo-tile .photo-title{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;font-size:12px;text-align:center}.loading-photos{text-align:center;padding:2rem;color:#666}.no-tags-center{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.no-tags-center svg{margin-bottom:1rem;opacity:.5}.no-tags-center h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text)}.tag-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s;cursor:pointer}.tag-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--border-hover)}.tag-card-preview{position:relative;aspect-ratio:1;background:var(--bg-secondary);overflow:hidden}.tag-preview-single{width:100%;height:100%;object-fit:cover}.tag-preview-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:100%;height:100%}.tag-preview-quad{width:100%;height:100%;object-fit:cover}.tag-preview-empty{background:var(--bg)}.tag-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary);opacity:.3}.tag-card-overlay{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:500}.tag-card-content{padding:16px}.tag-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tag-card-header h3{font-size:16px;font-weight:600;margin:0;color:var(--text)}.tag-card-count{font-size:14px;color:var(--text-secondary);margin:0}.dark-mode{--bg: #1a1a1a;--bg-secondary: #2d2d2d;--surface: #242424;--text: #e9e9e9;--text-primary: #e9e9e9;--text-secondary: #a0a0a0;--text-muted: #707070;--border: #404040;--border-light: #353535;--border-lighter: #2a2a2a;--border-dark: #5a5a5a;--accent: #4dabff;--accent-hover: #66b8ff;--accent-light: #1a3a5a;--primary: #4dabff;--success: #5cb85c;--danger: #ff6b6b;--danger-bg: rgba(239, 68, 68, .15);--bg-subtle: #1e1e1e;--bg-tertiary: #1a1a1a;--hover-bg: #2e2e2e;--bg-hover: #333333;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4)}.dark-mode body{background:var(--bg);color:var(--text)}.dark-mode .card,.dark-mode .modal-content{background:var(--surface);border-color:var(--border)}.dark-mode .album-title-input,.dark-mode .album-description-input{background:var(--bg-secondary);border-color:var(--border);color:var(--text)}.dark-mode .album-title-input:focus,.dark-mode .album-description-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e533}.dark-mode input,.dark-mode textarea,.dark-mode select{background:var(--bg);color:var(--text);border-color:var(--border)}.dark-mode input:focus,.dark-mode textarea:focus,.dark-mode select:focus{border-color:var(--accent);background:var(--bg-secondary)}.dark-mode .button-primary{background:var(--accent);color:#fff}.dark-mode .button-primary:hover:not(:disabled){background:#6366f1;color:#fff}.dark-mode .button-secondary{background:var(--bg-secondary);color:var(--text);border-color:var(--border)}.dark-mode .button-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--accent);color:var(--accent)}.dark-mode .button-minimal:hover:not(:disabled){background:#6366f133;color:var(--accent)}.dark-mode .button-danger:hover:not(:disabled){background:#dc2626;color:#fff}.dark-mode .button-icon{background:var(--bg-secondary);border-color:var(--border);color:var(--text)}.dark-mode .button-icon:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.dark-mode .share-item,.dark-mode .album-card{background:var(--surface);border-color:var(--border)}.dark-mode .album-back-button{color:var(--text-secondary)}.dark-mode .album-back-button:hover{background:var(--bg-hover);color:var(--accent)}.dark-mode .nav{background:var(--surface);border-bottom-color:var(--border)}.dark-mode .photo-tile{background:var(--bg-secondary);border-color:var(--border)}.dark-mode .lightbox{background:#000000f2}.dark-mode .modal-overlay{background:#000c}.dark-mode .album-item{border-color:var(--border)}.dark-mode .album-item:hover{background:var(--bg-hover);border-color:var(--accent)}.dark-mode .album-item-icon{background:var(--bg-secondary);color:var(--text-muted)}.dark-mode .album-item:hover .album-item-icon{background:#6366f133;color:var(--accent)}.dark-mode .album-add-action{background:var(--accent);color:#fff}.dark-mode .album-item:hover .album-add-action{background:#6366f1}.dark-mode .share-creator{background:var(--bg-secondary);border-color:var(--border)}.dark-mode .analytics-icon{background:#4dabff26;color:var(--accent)}.dark-mode .analytics-card{background:var(--surface);border-color:var(--border)}.dark-mode .nav-tagline{color:var(--text-muted)}.upgrade-prompt{padding:2rem 0}.upgrade-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:12px;padding:3rem;text-align:center;max-width:600px;margin:0 auto}.upgrade-icon{font-size:3rem;color:#3b82f6;margin-bottom:1rem}.upgrade-card h3{color:#1e293b;margin-bottom:1rem;font-size:1.75rem}.upgrade-card>p{color:#64748b;margin-bottom:2rem;font-size:1.125rem}.upgrade-benefits{margin:2rem 0}.upgrade-benefits ul{list-style:none;padding:0;text-align:left;max-width:400px;margin:0 auto}.upgrade-benefits li{padding:.75rem 0;color:#475569;border-bottom:1px solid #e2e8f0}.upgrade-benefits li:before{content:"✓";color:#22c55e;font-weight:700;margin-right:.75rem}.current-plan{color:#64748b;margin:1.5rem 0;font-size:1rem}.upgrade-button{font-size:1.125rem;padding:1rem 2rem;border-radius:8px;margin-top:1rem}.feature-access{margin:2rem 0;padding:1.5rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.feature-access h4{margin-bottom:1rem;color:#334155}.feature-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.feature-status{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:6px;background:#fff;border:1px solid #e2e8f0}.feature-status.enabled{border-color:#22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.feature-status.disabled{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.feature-name{font-weight:500;color:#334155}.feature-badge{font-size:.875rem;font-weight:500}.feature-status.enabled .feature-badge{color:#166534}.feature-status.disabled .feature-badge{color:#92400e}.billing-page{max-width:1200px;margin:0 auto;padding:2rem}.billing-header{text-align:center;margin-bottom:3rem}.billing-header h2{margin-bottom:.5rem;color:#1e293b}.billing-header p{color:#64748b;font-size:1.125rem}.current-plan-section{margin-bottom:3rem}.current-plan-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:16px;padding:2rem;max-width:600px;margin:0 auto}.plan-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.plan-badge-large{display:flex;flex-direction:column;gap:.5rem}.plan-name{font-size:1.75rem;font-weight:700;color:#1e293b}.plan-status{background:#22c55e;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600;text-transform:uppercase;width:fit-content}.plan-price-large{text-align:right}.plan-price-large .price{font-size:2.5rem;font-weight:800;color:#1e293b}.plan-price-large .period{color:#64748b;font-size:1.125rem}.plan-details{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.detail-item{display:flex;align-items:center;gap:.5rem;color:#475569}.detail-item svg{color:#3b82f6}.plan-actions{display:flex;gap:1rem;justify-content:center}.upgrade-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:0;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;z-index:1001;width:1000px}.upgrade-modal .modal-header{padding:2rem;border-bottom:1px solid #e2e8f0;text-align:center;position:relative}.upgrade-modal .modal-header h3{margin:0;font-size:1.875rem;color:#1e293b}.modal-close-btn{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close-btn:hover{background:#f1f5f9;color:#334155}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;padding:2rem}.pricing-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s ease;position:relative}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000001a}.pricing-card.current{border-color:#22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.pricing-card.upgradeable{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.pricing-header{text-align:center;margin-bottom:1.5rem;position:relative}.pricing-header h4{font-size:1.25rem;margin-bottom:.5rem;color:#1e293b}.current-badge{position:absolute;top:-1rem;right:-1rem;background:#22c55e;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.pricing-header .price{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-top:1rem}.pricing-header .amount{font-size:2rem;font-weight:800;color:#1e293b}.pricing-header .period{color:#64748b;font-size:.875rem}.pricing-storage{text-align:center;padding:1rem;background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;color:#475569}.pricing-features{margin-bottom:2rem}.feature-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem}.feature-item.included .feature-icon{color:#22c55e}.feature-item.excluded .feature-icon{color:#ef4444}.feature-item.excluded{color:#94a3b8}.pricing-action{text-align:center}.upgrade-footer{padding:2rem;border-top:1px solid #e2e8f0;text-align:center;background:#f8fafc}.upgrade-footer p{margin:0;color:#64748b}.feature-comparison-section{margin-top:4rem}.feature-comparison-section h3{text-align:center;margin-bottom:2rem;color:#1e293b}.comparison-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.comparison-row.action-row{background:#f8fafc;padding:1rem 0;border-top:2px solid #e2e8f0}.comparison-row.action-row .tier-column{padding:.5rem}.upgrade-tier-button,.downgrade-tier-button,.current-plan-button{width:100%;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:all .2s ease}.upgrade-tier-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.upgrade-tier-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.downgrade-tier-button{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.downgrade-tier-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.current-plan-button{background:#e2e8f0;color:#64748b;cursor:default}.upgrade-tier-button:disabled,.downgrade-tier-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.payment-provider-info{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.payment-provider-info small{color:#64748b;font-size:.85rem}.dark-mode .comparison-row.action-row{background:#1e293b;border-top-color:#334155}.dark-mode .current-plan-button{background:#334155;color:#94a3b8}.dark-mode .upgrade-tier-button{background:linear-gradient(135deg,#059669,#047857)}.dark-mode .downgrade-tier-button{background:linear-gradient(135deg,#d97706,#b45309)}.dark-mode .payment-provider-info{border-top-color:#334155}.dark-mode .payment-provider-info small{color:#94a3b8}.comparison-header{display:grid;grid-template-columns:1fr repeat(4,120px);background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600}.comparison-row{display:grid;grid-template-columns:1fr repeat(4,120px);border-bottom:1px solid #f1f5f9}.comparison-row:last-child{border-bottom:none}.feature-column{padding:1rem 1.5rem;border-right:1px solid #e2e8f0;color:#334155}.tier-column{padding:1rem .5rem;text-align:center;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center}.tier-column:last-child{border-right:none}.tier-column strong{color:#1e293b;margin-bottom:.25rem}.tier-column span:last-child{font-size:.75rem;color:#64748b}.comparison-row .tier-column .included{color:#22c55e;font-weight:600}.comparison-row .tier-column .excluded{color:#ef4444;font-weight:600}.comparison-row .tier-column .value{color:#3b82f6;font-weight:600}@media (max-width: 768px){.billing-page{padding:1rem}.plan-info{flex-direction:column;text-align:center;gap:1rem}.plan-details{flex-direction:column;gap:1rem}.plan-actions{flex-direction:column}.pricing-grid{grid-template-columns:1fr;padding:1rem}.comparison-header,.comparison-row{grid-template-columns:1fr;gap:0}.tier-column{display:none}.feature-column{border-right:none;border-bottom:1px solid #e2e8f0}.upgrade-modal{width:95vw;margin:0}}.billing-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;z-index:1001;width:1200px}.billing-modal .billing-page{padding:1rem}@media (max-width: 768px){.billing-modal{width:95vw;height:95vh}}.privacy-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:6rem 2rem 4rem}.privacy-container{max-width:1000px;margin:0 auto}.privacy-hero{text-align:center;background:#fff;padding:4rem 3rem;border-radius:20px;box-shadow:0 10px 25px -5px #0000001a;margin-bottom:4rem;position:relative}.privacy-hero-icon{font-size:4rem;color:#ef4444;margin-bottom:2rem}.privacy-hero h1{font-size:3rem;font-weight:800;color:#1e293b;margin-bottom:2rem;line-height:1.2}.privacy-hero-text{font-size:1.25rem;color:#64748b;line-height:1.7;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}.privacy-promise{background:linear-gradient(135deg,#fef3c7,#fcd34d);padding:1.5rem 2rem;border-radius:12px;font-size:1.125rem;color:#92400e;border-left:4px solid #f59e0b;max-width:600px;margin:0 auto}.privacy-principles{margin-bottom:4rem}.privacy-principles h2{text-align:center;font-size:2.5rem;color:#1e293b;margin-bottom:3rem;font-weight:700}.principles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.principle-card{background:#fff;padding:2.5rem 2rem;border-radius:16px;text-align:center;box-shadow:0 4px 15px -3px #00000014;transition:transform .3s ease,box-shadow .3s ease}.principle-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #00000026}.principle-icon{font-size:3rem;color:#3b82f6;margin-bottom:1.5rem}.principle-card h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.principle-card p{color:#64748b;line-height:1.6}.privacy-section{background:#fff;padding:3rem;border-radius:16px;margin-bottom:3rem;box-shadow:0 4px 15px -3px #00000014}.section-header{text-align:center;margin-bottom:3rem}.section-icon{font-size:2.5rem;color:#3b82f6;margin-bottom:1rem}.section-header h2{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.section-header p{font-size:1.125rem;color:#64748b;max-width:600px;margin:0 auto}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.info-card{background:#f8fafc;padding:2rem;border-radius:12px;border-left:4px solid #3b82f6}.info-card h4{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.info-card p{color:#475569;line-height:1.6}.usage-list{display:grid;gap:2rem;max-width:800px;margin:0 auto}.usage-item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.usage-icon{font-size:2rem;flex-shrink:0}.usage-icon-react{font-size:2rem;flex-shrink:0;color:#3b82f6}.usage-item strong{display:block;font-size:1.125rem;color:#1e293b;margin-bottom:.5rem}.usage-item p{color:#64748b;line-height:1.6;margin:0}.control-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.control-feature{padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;border:1px solid #bbf7d0}.control-feature h4{font-size:1.125rem;font-weight:600;color:#166534;margin-bottom:1rem}.control-feature p{color:#15803d;line-height:1.6;margin:0}.security-measures{display:grid;gap:1.5rem;max-width:800px;margin:0 auto}.security-item{padding:1.5rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:12px;border-left:4px solid #3b82f6}.security-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.security-item-icon{font-size:1.25rem;color:#1e40af;flex-shrink:0}.security-item strong{display:block;font-size:1.125rem;color:#1e40af;margin:0}.security-item p{color:#1e40af;line-height:1.6;margin:0}.third-party-info>p{font-size:1.125rem;line-height:1.7;color:#475569;margin-bottom:2rem;text-align:center}.partner-principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.partner-principle{padding:1.5rem;background:#fef3c7;border-radius:12px;border-left:4px solid #f59e0b}.partner-principle strong{display:block;font-size:1.125rem;color:#92400e;margin-bottom:.75rem}.partner-principle p{color:#92400e;line-height:1.6;margin:0}.privacy-callout{background:linear-gradient(135deg,#fee2e2,#fecaca);padding:3rem;border-radius:16px;margin:3rem 0;border:2px solid #fca5a5;text-align:center}.privacy-callout h3{font-size:1.75rem;font-weight:700;color:#991b1b;margin-bottom:1.5rem}.privacy-callout p{font-size:1.125rem;line-height:1.7;color:#b91c1c;margin-bottom:1rem}.privacy-callout p:last-child{margin-bottom:0}.rights-list{display:grid;gap:1rem;max-width:600px;margin:0 auto}.right-item{padding:1rem 1.5rem;background:#f0fdf4;border-radius:8px;border-left:3px solid #22c55e;color:#166534;font-size:1.0625rem}.privacy-contact{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:3rem;border-radius:16px;text-align:center;border:2px solid #cbd5e1}.privacy-contact h2{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem}.privacy-contact>p{font-size:1.125rem;color:#475569;line-height:1.7;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.contact-info{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;flex-wrap:wrap}.contact-method{font-size:1.0625rem;color:#334155}.contact-method a{color:#3b82f6;text-decoration:none;font-weight:500}.contact-method a:hover{text-decoration:underline}.contact-note{font-size:.9375rem;color:#64748b;margin-top:2rem}@media (max-width: 768px){.privacy-page{padding:4rem 1rem 2rem}.privacy-hero{padding:2.5rem 1.5rem}.privacy-hero h1{font-size:2rem}.privacy-hero-text{font-size:1.0625rem}.privacy-section{padding:2rem 1.5rem}.principles-grid,.info-cards,.control-features,.partner-principles{grid-template-columns:1fr}.usage-item,.contact-info{flex-direction:column;gap:1rem}.privacy-callout,.privacy-contact{padding:2rem 1.5rem}}.settings-header{margin-bottom:2rem}.subscription-info{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-top:1rem}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.plan-badge{display:flex;align-items:center;gap:1rem}.plan-tier{font-size:1.5rem;font-weight:600;color:var(--text)}.plan-status{padding:.25rem .75rem;background:#22c55e;color:#fff;border-radius:20px;font-size:.75rem;text-transform:uppercase;font-weight:600}.plan-price{font-size:1.25rem;color:var(--text-muted)}.storage-usage{margin-bottom:1.5rem}.storage-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.storage-text{color:var(--text-muted)}.storage-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.storage-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.storage-percentage{font-size:.85rem;color:var(--text-muted)}.usage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px}.usage-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.usage-label{font-size:.85rem;color:var(--text-muted)}.usage-value{font-size:1.25rem;font-weight:600;color:var(--text)}.plan-features{margin-bottom:1.5rem}.plan-features h4{font-size:1rem;margin-bottom:.75rem;color:var(--text)}.features-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted)}.feature-check{color:#22c55e;font-weight:700}.subscription-actions{display:flex;gap:1rem}.settings-description{color:var(--text-muted);font-size:.95rem;margin-top:.5rem}.settings-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.settings-section:last-child{border-bottom:none}.settings-section-title{font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;color:var(--text)}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:.75rem;background:var(--bg-secondary);border-radius:8px;transition:background .2s}.settings-item:hover{background:#f0f0f1}.dark-mode .settings-item:hover{background:#333}.settings-item-info h4{font-size:1rem;font-weight:500;margin-bottom:.25rem;color:var(--text)}.settings-item-description{font-size:.85rem;color:var(--text-muted)}.settings-value{display:flex;align-items:center;gap:.5rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--accent)}input:checked+.toggle-slider:before{transform:translate(22px)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.analytics-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light);transition:all .2s}.analytics-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.analytics-icon{font-size:1.75rem;line-height:1;color:var(--accent);display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-light);border-radius:12px;flex-shrink:0}.analytics-icon svg{width:24px;height:24px;stroke-width:2}.analytics-content{flex:1;min-width:0}.analytics-value{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.analytics-label{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.storage-breakdown{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px}.storage-breakdown h4{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.breakdown-list{display:flex;flex-direction:column;gap:.75rem}.pagination-info{padding:.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 0;margin-top:2rem;border-top:1px solid var(--border)}.pagination-pages{display:flex;gap:.25rem;margin:0 1rem}.pagination-page{min-width:2.5rem;height:2.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.pagination-page:hover:not(.active){background:var(--bg-hover);border-color:var(--primary)}.pagination-page.active{background:var(--primary);color:#fff!important;border-color:var(--primary);font-weight:600}.pagination-page:disabled{opacity:.5;cursor:not-allowed}.photo-picker-pagination-info{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.photo-picker-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-top:1px solid var(--border);background:var(--bg)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.breakdown-item:last-child{border-bottom:none}.breakdown-label{color:var(--text-secondary);font-size:.9rem}.breakdown-value{font-weight:600;color:var(--text)}.activity-list{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.activity-item{display:flex;justify-content:space-between;align-items:center}.activity-label{color:var(--text-secondary);font-size:.9rem}.activity-value{font-weight:600;color:var(--text)}.loading-message,.error-message{padding:2rem;text-align:center;color:var(--text-muted);font-style:italic}.error-message{color:var(--danger)}.share-manager{margin:2rem 0;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light)}.share-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.share-header-title-section{display:flex;align-items:center;gap:1rem}.collapse-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:var(--transition)}.collapse-toggle:hover{background:var(--bg-secondary);color:var(--text)}.share-manager.collapsed{margin-bottom:2rem}.share-manager-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.share-create-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.share-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}.share-form-group{display:flex;flex-direction:column;gap:1rem}.share-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:var(--text)}.share-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.share-checkbox-label span{-webkit-user-select:none;user-select:none}.share-form-field{display:flex;align-items:center;gap:.75rem}.share-form-label{font-size:.95rem;color:var(--text-secondary);min-width:60px}.share-form-select,.share-form-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.9rem}.share-form-select:focus,.share-form-input:focus{outline:none;border-color:var(--accent)}.share-form-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.share-list{display:flex;flex-direction:column;gap:1rem}.share-empty{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic}.share-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .2s;margin-bottom:1rem;padding:0;display:block;min-height:auto}.share-item.revoked{opacity:.6}.share-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a}.share-item-main{padding:12px}.share-manager.full-bleed .share-item-main{padding:14px 8px 14px 16px}@media (min-width: 769px){.share-manager.full-bleed .share-stats-vertical{margin-right:0}}.share-item-grid{display:grid;grid-template-columns:1fr max-content;align-items:start;column-gap:16px;row-gap:8px;width:100%}.share-url-row{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.share-url-left{display:flex;align-items:center;gap:8px;width:100%}.share-url-left .button-secondary-small{margin-left:.25rem}.share-url-left .button-secondary-small+.button-secondary-small{margin-left:.4rem}.share-url-left .share-full-url{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-item-info{grid-column:1}.share-item-actions{grid-column:1;justify-self:start}.share-stats-vertical{grid-column:2;justify-self:end}.share-footer{grid-column:1 / -1;border-top:1px solid var(--border-light);margin-top:8px;padding-top:8px}.share-full-url{padding:.4rem .6rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:.85rem;font-family:SF Mono,Monaco,monospace;color:#495057;max-width:100%;overflow-wrap:anywhere}.dark-mode .share-full-url{background:#1f1f1f;border-color:#2a2a2a;color:#d0d0d0}.actions-with-labels{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.share-stats-vertical{display:flex;flex-direction:column;gap:.25rem;padding-left:1rem;border-left:1px solid var(--border-light);width:max-content}@media (min-width: 769px){.share-stats-vertical{padding-left:0;border-left:none;align-items:flex-end;text-align:right}}.stat-vert{display:grid;grid-template-columns:120px auto;align-items:center;column-gap:10px}.stat-vert-left{justify-self:end}.stat-vert-value{text-align:right;min-width:3ch}.stat-vert-left{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.85rem}.stat-vert-icon{color:var(--text-muted)}.stat-vert-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.stat-vert-value{font-size:1.05rem;font-weight:600;color:var(--text)}@media (max-width: 900px){.share-item-grid{grid-template-columns:1fr;align-items:start}.share-stats-vertical{border-left:none;border-top:1px solid var(--border-light);padding-left:0;margin-top:.5rem;padding-top:.75rem;flex-direction:row;flex-wrap:wrap;gap:1rem}.stat-vert{gap:.5rem}}.share-item-info{flex:1}.share-item-url{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.share-item-url svg{color:var(--text-muted);flex-shrink:0}.share-token{font-family:Monaco,Menlo,monospace;font-size:.9rem;color:var(--text-secondary);word-break:break-all}.share-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem;color:var(--text-muted)}.share-badge{padding:.2rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--text-secondary)}.share-badge.revoked{background:var(--danger-bg);color:var(--danger)}.share-badge.muted{background:var(--bg-tertiary, #f5f5f5);color:var(--text-muted);opacity:.7}.share-date{color:var(--text-muted)}.share-views{display:inline-flex;align-items:center;color:var(--text-secondary);font-weight:500}.share-item-actions{display:flex;gap:.5rem}.button-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:#222;cursor:pointer;transition:all .2s;font-size:18px}.button-icon svg{width:18px;height:18px;display:block}.button-icon .copy-success{color:var(--success, #4caf50);font-weight:700}.button-icon:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.button-danger-icon:hover{border-color:var(--danger);color:var(--danger)}.share-stats-inline{padding:1rem 1.25rem;background:var(--bg-secondary);border-top:1px solid var(--border-light);display:flex;justify-content:space-around;align-items:center}.stat-item{display:flex;align-items:center;gap:.5rem}.stat-item svg{color:var(--text-muted)}.stat-value{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 .25rem}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.analytics-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.analytics-modal{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.analytics-modal-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.analytics-modal-header h3{margin:0;font-size:1.5rem}.modal-close-button{width:36px;height:36px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-button:hover{background:var(--bg-hover);color:var(--text)}.analytics-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.analytics-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.analytics-section{margin-bottom:2rem}.analytics-section h4{margin:0 0 1rem;font-size:1.1rem;color:var(--text)}.photo-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.photo-stat{display:flex;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.photo-stat img{width:60px;height:60px;object-fit:cover;border-radius:4px}.photo-stat-info{flex:1;display:flex;flex-direction:column;justify-content:center}.visits-timeline{display:flex;flex-direction:column;gap:.75rem}.visit-item{padding:.75rem;background:var(--bg-secondary);border-radius:6px}.visit-time{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.visit-details{display:flex;gap:1rem;font-size:.9rem;color:var(--text-secondary)}.visit-details span{padding:.25rem .5rem;background:#fff;border-radius:4px}.button-primary-small,.button-secondary-small{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.button-primary-small{background:var(--accent);color:#fff!important;border:1px solid var(--accent)}.button-primary-small:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button-secondary-small{background:transparent;color:var(--text);border:1px solid var(--border)}.button-secondary-small:hover{background:var(--bg-hover);border-color:var(--border-dark);color:var(--text)}.share-manager-loading{padding:2rem;text-align:center;color:var(--text-muted);font-style:italic}.share-item-mobile{display:none}.share-copy-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:12px 20px;border-radius:24px;box-shadow:0 4px 12px #0000004d;z-index:1000;animation:slideUpToast .3s ease;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}@keyframes slideUpToast{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media (max-width: 768px){.share-form-grid{grid-template-columns:1fr;gap:1.5rem}.analytics-stats{grid-template-columns:repeat(2,1fr)}.share-item-grid{grid-template-columns:1fr}.share-item-info{grid-column:1}.share-item-actions{grid-column:1;justify-self:start}.share-stats-vertical{grid-column:3;justify-self:end;width:max-content}.form-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.form-actions .button-primary,.form-actions .button-secondary{width:100%;white-space:normal;text-align:center;padding:12px 16px;min-height:44px}.share-manager-mobile{background:var(--surface);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.share-header-mobile{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:1rem}.share-header-left{display:flex;align-items:center;gap:.75rem;flex:1}.share-header-left h3{margin:0;font-size:1.125rem}.share-count-badge{background:var(--bg-secondary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:12px;font-size:.875rem;white-space:nowrap}.share-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.expand-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;min-width:auto;min-height:auto}.button-primary-small{padding:.5rem 1rem!important;font-size:.875rem!important;min-height:auto!important;white-space:nowrap!important}.share-content-mobile{margin-top:1rem}.share-create-form-mobile{background:var(--bg-secondary);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.share-empty-mobile{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.share-item-compact{background:var(--bg-secondary);padding:16px;border-radius:var(--radius-sm);margin-bottom:16px}.share-url-row{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:stretch}.share-url-input{flex:1;padding:12px;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0}.share-url-row button{flex-shrink:0;padding:.75rem .875rem;min-width:auto;min-height:auto;font-size:.9rem}.copy-btn{width:44px;height:44px}.share-actions-row{gap:8px}.action-btn{padding:10px;font-size:12px}.file-item .remove-button{opacity:1;width:32px;height:32px}.share-mobile-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;background:transparent;margin:0}.share-mobile-header h3{font-size:20px;font-weight:600;margin:0}.share-mobile-header .button-primary{padding:10px 16px;font-size:14px;font-weight:600;border-radius:10px;display:flex;align-items:center;gap:6px;min-height:40px}.share-card-list{padding:0;margin:0}.share-card{background:#fff;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);border-radius:0;padding:20px;margin:0 0 -1px}.dark-mode .share-card{background:var(--surface)}.share-card-label{color:var(--text-secondary);font-size:13px;margin-bottom:8px;display:block;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.share-card-url{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:16px}.copy-wide{min-height:44px;padding:12px 20px;font-weight:600}.share-card-stats{display:flex;gap:20px;color:var(--text-secondary);font-size:14px;margin:16px 0;padding:12px 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.share-card-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.share-card-actions button{padding:12px;font-size:14px;font-weight:600;border-radius:10px;min-height:44px}.share-card-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px;font-size:12px;color:var(--text-secondary)}.share-mobile-cta{position:sticky;bottom:0;left:0;right:0;background:#fff;padding:16px 20px;border-top:1px solid var(--border-light);display:flex;justify-content:center;box-shadow:0 -4px 12px #0000000d}.dark-mode .share-mobile-cta{background:var(--surface)}.share-mobile-cta button{width:100%;padding:14px;font-size:15px;font-weight:600;border-radius:12px;min-height:48px}}.share-url-right{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.stat-inline{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.85rem}.stat-inline svg{color:var(--text-muted)}.watermark-config{margin-top:1rem}.wm-previews{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.wm-preview{background:var(--bg-subtle);padding:1rem;border-radius:8px;border:1px solid var(--border-light)}.wm-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.wm-box{position:relative;background:#f3f4f6;border:1px dashed #ddd;border-radius:6px;overflow:hidden;cursor:crosshair}.dark-mode .wm-box{background:#1a1a1a;border-color:#333}.wm-box.landscape{width:100%;padding-top:56.25%}.wm-box.portrait{width:100%;padding-top:133.33%}.wm-drag{position:absolute;cursor:move;touch-action:none;transform:translate(-50%,-50%);pointer-events:auto}.wm-drag img{display:block;pointer-events:none;max-width:100%;height:auto}.wm-row{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.wm-coords{display:flex;gap:.5rem;align-items:center}.wm-coords label{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--text-secondary)}.wm-coords input{width:60px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.wm-extra{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.wm-extra label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text)}.wm-extra input[type=range]{width:120px}.wm-extra input[type=number]{width:60px;padding:4px 8px;border:1px solid var(--border);border-radius:4px}.wm-opacity-value{color:var(--text-secondary);font-size:.875rem}.wm-style{display:inline-flex;align-items:center;gap:.75rem}.wm-style label{display:flex;align-items:center;gap:4px}.wm-actions{margin-top:1.5rem}@media (max-width: 900px){.wm-previews{grid-template-columns:1fr}}.share-stats-horizontal{display:flex;gap:1.5rem;align-items:center;padding:.75rem 0;flex-wrap:wrap}.share-stats-horizontal .stat-item{display:flex;align-items:center;gap:.5rem}.share-stats-horizontal .stat-icon{color:var(--text-secondary);flex-shrink:0;width:24px;height:24px}.share-stats-horizontal .stat-label{color:var(--text-secondary);font-size:.875rem}.share-stats-horizontal .stat-value{font-weight:600;color:var(--text);font-size:.9rem}.share-stats-horizontal.muted{color:var(--text-muted);font-size:.875rem}@media (max-width: 768px){.share-stats-horizontal{gap:1rem}.share-stats-horizontal .stat-item{gap:.25rem}}.watermark-page{padding:2rem;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.watermark-header{margin-bottom:2rem;text-align:center;width:100%}.watermark-header h2{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.watermark-header p{color:var(--text-muted);font-size:1rem}.watermark-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:0;width:100%;max-width:900px;justify-content:center}.watermark-tabs .tab{position:relative;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;transition:all .2s;margin-bottom:-1px}.watermark-tabs .tab:hover:not(:disabled){color:var(--text-primary)}.watermark-tabs .tab.active{color:var(--accent);border-bottom-color:var(--accent)}.watermark-tabs .tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent)}.watermark-tabs .tab:disabled{opacity:.5;cursor:not-allowed}.watermark-content{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:2rem;contain:layout;min-height:500px;width:100%;max-width:1100px}.upload-section{display:grid;grid-template-columns:1fr 300px;gap:2rem}.upload-card{background:#fff;border-radius:var(--radius);padding:2rem;border:1px solid var(--border)}.upload-card h3{margin-bottom:.5rem;color:var(--text-primary)}.upload-card p{color:var(--text-muted);margin-bottom:1.5rem}.upload-area{position:relative;border:2px dashed var(--border);border-radius:var(--radius);padding:3rem;text-align:center;transition:all .2s}.upload-area input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-label{display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer;color:var(--text-muted)}.upload-label span{font-weight:500;color:var(--text-primary)}.upload-label small{font-size:.875rem;color:var(--text-muted)}.upload-area:hover{border-color:var(--accent);background:#4f46e505}.upload-progress{margin-top:1rem}.progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s}.current-watermark{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.current-watermark img{max-width:200px;max-height:150px;object-fit:contain;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius)}.watermark-actions{display:flex;gap:1rem}.watermark-tips{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.watermark-tips h4{margin-bottom:1rem;color:var(--text-primary)}.watermark-tips ul{list-style:none;padding:0;margin:0}.watermark-tips li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--text-muted)}.watermark-tips li:before{content:"✓";position:absolute;left:0;color:var(--success)}.position-section{display:flex;flex-direction:column;gap:2rem;contain:layout;min-height:600px;width:100%}.universal-controls{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.universal-controls h3{margin-bottom:.5rem;color:var(--text-primary)}.universal-controls p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.universal-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.control-item label{display:flex;flex-direction:column;gap:.5rem}.control-item label span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.control-item input[type=range]{width:100%}.control-item select{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;font-size:.9rem}.wm-preview-box{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;user-select:none;margin-bottom:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none;contain:layout size style;isolation:isolate;backface-visibility:hidden;transform:translateZ(0)}.wm-preview-box.portrait{aspect-ratio:3 / 4;height:auto;max-height:70vh}.wm-preview-box.landscape{aspect-ratio:16 / 9;height:auto;max-height:55vh}.wm-preview-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.wm-drag{position:absolute;transform:translate(-50%,-50%);pointer-events:none;will-change:left,top;contain:layout style;z-index:10}.wm-drag img{display:block;height:auto;pointer-events:none;-webkit-user-drag:none;user-drag:none}.position-coords{display:flex;gap:1rem;align-items:center;padding-top:1rem;border-top:1px solid var(--border);margin-top:auto}.position-coords label{display:flex;flex-direction:column;gap:.3rem;flex:1}.position-coords label span{color:var(--text-secondary);font-size:.85rem;font-weight:500}.position-coords input[type=range]{width:100%}.save-section{display:flex;justify-content:center;padding-top:2rem}.save-section .button-primary{min-width:200px}.test-image-controls{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);margin-bottom:2rem}.test-image-controls h3{margin-bottom:.5rem;color:var(--text-primary)}.test-image-controls p{color:var(--text-muted);margin-bottom:1rem}.test-controls-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.test-controls-row input[type=file]{display:none}.test-controls-row .preview-style-options{display:flex;align-items:center;gap:.5rem;margin-left:auto}.test-controls-row .preview-style-options label{color:var(--text-muted)}.test-controls-row .preview-style-options select{padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-primary)}.position-controls{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.orientation-group{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);height:100%;display:flex;flex-direction:column}.orientation-group h3{margin-bottom:1rem;color:var(--text-primary)}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.position-btn{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;text-transform:capitalize;font-size:.875rem}.position-btn:hover{background:var(--bg-secondary)}.position-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.custom-position{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.custom-position label{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted)}.custom-position input[type=range]{flex:1;margin:0 1rem}.appearance-controls{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.appearance-controls h3{margin-bottom:1rem;color:var(--text-primary)}.control-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.control-group label{display:flex;align-items:center;color:var(--text-muted)}.control-group input[type=range]{flex:1;margin:0 1rem}.preview-section{display:flex;flex-direction:column;gap:2rem}.preview-controls{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.preview-controls h3{margin-bottom:.5rem;color:var(--text-primary)}.preview-controls p{color:var(--text-muted);margin-bottom:1.5rem}.preview-controls input[type=file]{display:none}.preview-style-options{display:flex;align-items:center;gap:1rem;margin-top:1rem}.preview-style-options label{color:var(--text-muted)}.preview-style-options select{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-primary)}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;contain:layout;min-height:400px;width:100%}.preview-item{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);min-height:420px;contain:layout;display:flex;flex-direction:column;gap:1rem}@media (max-width: 768px){.watermark-page{padding:1rem}.watermark-tabs{gap:.5rem;padding-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.watermark-tabs .tab{padding:.5rem .75rem;font-size:.9rem;white-space:nowrap}.test-image-controls{padding:1rem}.test-controls-row{gap:.75rem}.test-controls-row .preview-style-options{margin-left:0;width:100%;justify-content:flex-start;flex-wrap:wrap}.position-controls{grid-template-columns:1fr;gap:1rem}.orientation-group{padding:1rem}.position-grid{gap:.4rem}.position-btn{padding:.6rem;font-size:.85rem}.appearance-controls{padding:1rem}.control-group{gap:.75rem;margin-bottom:1rem}.preview-controls{padding:1rem}.preview-grid{grid-template-columns:1fr;gap:1rem;min-height:0}.preview-item{padding:1rem;min-height:320px}.save-section .button-primary{min-width:0;width:100%}.wm-previews{gap:.75rem}.wm-preview{padding:.75rem}.wm-coords input{width:56px}}.preview-item h4{margin-bottom:1rem;color:var(--text-primary)}.preview-container{position:relative;background:var(--bg-tertiary);border-radius:var(--radius);overflow:hidden}.preview-container.portrait{aspect-ratio:3/4}.preview-container.landscape{aspect-ratio:16/9}@media (max-width: 768px){.wm-preview-box.portrait,.wm-preview-box.landscape{max-width:100%;max-height:55vh}}@media (max-width: 480px){.wm-preview-box.portrait{max-height:60vh}.wm-preview-box.landscape{max-height:45vh}}.preview-bg{width:100%;height:100%;object-fit:cover}.preview-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.875rem}.watermark-overlay{position:absolute;max-width:50%;max-height:50%;object-fit:contain}.watermark-overlay.outline{filter:drop-shadow(0 0 2px white) drop-shadow(0 0 2px rgba(0,0,0,.6))}.watermark-overlay.shadow{filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.button-danger{background:var(--danger);color:#fff;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.button-danger:hover{background:#dc2626}@media (max-width: 768px){.watermark-page{padding:1rem}.upload-section,.position-controls,.preview-grid{grid-template-columns:1fr}}
