@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:block;min-width:320px;min-height:100vh}a{font-weight:500;color:#667eea;text-decoration:inherit}a:hover{color:#764ba2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s}button:focus,button:focus-visible{outline:2px solid #667eea;outline-offset:2px}button{background:none;border:none;padding:0;margin:0}input,textarea,select{font-family:inherit;font-size:inherit}@media (max-width: 768px){:root{font-size:14px}}@media (min-width: 1024px){:root{font-size:16px}}.selfie-capture-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%}.selfie-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:600px;position:relative;overflow:hidden;margin:0 auto}.selfie-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.selfie-header{text-align:center;margin-bottom:32px}.selfie-header h2{color:#2d3748;font-size:28px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.selfie-header p{color:#718096;font-size:16px;margin:0}.camera-container{display:flex;flex-direction:column;gap:24px}.video-wrapper{position:relative;width:100%;max-width:320px;height:400px;margin:0 auto;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 8px 32px #0000004d;border:2px solid rgba(102,126,234,.2)}.camera-video{width:100%;height:100%;display:block;border-radius:16px;object-fit:cover;-webkit-transform:scaleX(-1);transform:scaleX(-1)}.face-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.face-frame{position:relative;width:100%;height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.face-grid{position:absolute;inset:0;pointer-events:none}.grid-line{position:absolute;background:#fffc;border-radius:1px;box-shadow:0 0 2px #ffffff80}.grid-line.horizontal{width:100%;height:1px}.grid-line.vertical{width:1px;height:100%}.grid-line.diagonal{width:1px;height:160%;background:#fff9}.grid-dot{position:absolute;width:4px;height:4px;background:#ffffffe6;border-radius:50%;box-shadow:0 0 3px #ffffffb3}.corner-marker{position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 4px #ffffff80}.corner-marker.top-left{top:-10px;left:-10px;border-right:none;border-bottom:none}.corner-marker.top-right{top:-10px;right:-10px;border-left:none;border-bottom:none}.corner-marker.bottom-left{bottom:-10px;left:-10px;border-right:none;border-top:none}.corner-marker.bottom-right{bottom:-10px;right:-10px;border-left:none;border-top:none}.scan-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#00ff88,transparent);box-shadow:0 0 8px #0f89;animation:scan-vertical 2.5s ease-in-out infinite}@keyframes scan-vertical{0%{top:0;opacity:0}20%{opacity:1}80%{opacity:1}to{top:100%;opacity:0}}.camera-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:10}.capture-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 32px;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;box-shadow:0 8px 25px #667eea4d;min-width:160px;justify-content:center}.capture-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 12px 35px #667eea66}.capture-btn:active:not(.disabled){transform:translateY(0)}.capture-btn.disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #9ca3af4d}.capture-btn .camera-icon{font-size:20px;transition:transform .3s ease}.capture-btn:hover:not(.disabled) .camera-icon{transform:scale(1.1)}.capture-btn .camera-icon.disabled{opacity:.6}.capture-btn .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.camera-instructions{background:#f7fafc;border-radius:12px;padding:20px;border-left:4px solid #667eea}.camera-instructions h3{color:#2d3748;font-size:18px;font-weight:600;margin-bottom:12px}.camera-instructions ul{list-style:none;padding:0;margin:0}.camera-instructions li{color:#4a5568;font-size:14px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.captured-image-container{text-align:center}.captured-image{width:100%;max-width:400px;height:auto;border-radius:16px;box-shadow:0 8px 24px #00000026;margin-bottom:24px}.upload-error-message{background:#ff6b6b1a;border:2px solid #ff6b6b;border-radius:10px;padding:15px;margin:15px 0;display:flex;align-items:center;gap:10px}.upload-error-message .error-icon{font-size:1.2rem;color:#ff6b6b}.upload-error-message p{margin:0;color:#ff6b6b;font-weight:500}.image-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.btn-secondary{background:#e2e8f0;color:#4a5568;border:none;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-secondary:hover{background:#cbd5e0}.retake-icon,.confirm-icon{font-size:16px}.selfie-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.btn-link{background:none;border:none;color:#667eea;font-size:14px;font-weight:500;cursor:pointer;text-decoration:underline;padding:8px 0}.error-message{background:#fed7d7;border:1px solid #feb2b2;border-radius:6px;padding:8px 12px;margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.error-icon{font-size:14px;color:#742a2a;flex-shrink:0}.error-message p{color:#742a2a;font-size:12px;margin:0;font-weight:500;flex:1}.retry-camera-btn{background:#742a2a;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:4px;flex-shrink:0}.retry-camera-btn:hover{background:#5a1f1f;transform:translateY(-1px);box-shadow:0 4px 12px #742a2a4d}.retry-camera-btn:active{transform:translateY(0)}.retry-icon{font-size:12px}canvas{display:none}@media (max-width: 768px){.selfie-capture-container{padding:16px}.selfie-card{padding:24px;max-width:100%}.selfie-header h2{font-size:24px}.selfie-header p{font-size:14px}.face-frame{width:180px;height:180px}.face-indicator{top:-50px;font-size:12px;padding:6px 12px}.camera-controls{bottom:16px}.capture-btn{padding:12px 20px;font-size:14px}.camera-instructions{padding:16px}.camera-instructions h3{font-size:16px}.camera-instructions li{font-size:13px}.image-actions{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:200px;justify-content:center}}@media (max-width: 480px){.selfie-capture-container{padding:12px}.selfie-card{padding:20px;border-radius:16px}.selfie-header h2{font-size:22px}.selfie-header p{font-size:13px}.face-frame{width:140px;height:140px}.face-indicator{top:-40px;font-size:11px;padding:4px 8px}.capture-btn{padding:10px 16px;font-size:13px}.camera-instructions{padding:12px}.camera-instructions h3{font-size:15px}.camera-instructions li{font-size:12px}}@media (max-width: 480px){.video-wrapper{max-width:280px;height:350px}}@media (max-width: 360px){.video-wrapper{max-width:240px;height:300px}}.face-frame{animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 8px #667eea1a,0 0 20px #667eea4d,inset 0 0 20px #667eea1a}50%{box-shadow:0 0 0 12px #667eea33,0 0 30px #667eea80,inset 0 0 30px #667eea33}}@keyframes pulse-glow{0%,to{text-shadow:0 0 8px rgba(72,187,120,.5)}50%{text-shadow:0 0 15px rgba(72,187,120,.8)}}.face-detected .check-icon{animation:bounce .8s ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-12px) scale(1.1)}60%{transform:translateY(-6px) scale(1.05)}}.face-status{position:absolute;top:15px;left:50%;transform:translate(-50%);z-index:15;background:#000c;color:#fff;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.status-loading{color:gold;animation:pulse 1.5s ease-in-out infinite}.status-detected.good{color:#0f8}.status-detected.warning{color:#ff6b35}.status-none{color:gold}.face-detection-box{animation:faceBoxPulse 2s ease-in-out infinite}@keyframes faceBoxPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.capture-btn.disabled{background:#ccc!important;cursor:not-allowed!important;opacity:.6!important}.capture-btn.disabled:hover{transform:none!important;box-shadow:none!important}.status-detected.error{color:#dc3545;background:#dc35451a;border:1px solid rgba(220,53,69,.3)}.face-landmark-dot{animation:landmarkPulse 1.5s ease-in-out infinite}@keyframes landmarkPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.searching-animation-container,.searching-animation-container *,.searching-animation-container h3,.searching-animation-container p,.searching-animation-container span,.searching-animation-container div{color:red!important;--force-text-color: red !important}.video-loader-container{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:999999!important;background:#000!important;overflow:hidden!important;margin:0!important;padding:0!important;border:none!important;border-radius:0!important;box-shadow:none!important}.video-loader-container video{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;min-width:100vw!important;min-height:100vh!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;z-index:1000000!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important;background:transparent!important;margin:0!important;padding:0!important;transform:none!important}:root{--primary-blue: #1a73e8;--primary-purple: #8e24aa;--primary-pink: #e91e63;--background-light: #ffffff;--background-medium: #f8f9fa;--background-dark: #202124;--text-dark: #202124;--text-subtitle: #5f6368;--border-light: #dadce0;--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .15)}.image-gallery-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.brand-logo{margin-bottom:30px;text-align:center;padding:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.2)}.brand-image{width:90px;height:auto;border-radius:8px;box-shadow:0 4px 15px #0000001a}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 30px;background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001f;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.gallery-title h2{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.photo-stats{display:flex;gap:15px;flex-wrap:wrap;margin-top:8px}.photo-stats .stat-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffffe6;border-radius:20px;border:1px solid rgba(102,126,234,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.photo-stats .stat-label{font-weight:500;color:#4a5568;font-size:13px}.photo-stats .stat-value{font-weight:600;color:#2d3748;font-size:13px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2px 8px;border-radius:12px;min-width:20px;text-align:center}.gallery-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.icon-btn{width:50px;height:50px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.icon-btn:before{content:"";position:absolute;inset:0;background:#0000000d;border-radius:50%;opacity:0;transition:opacity .3s ease}.icon-btn:hover:before{opacity:1}.icon-btn .icon{font-size:24px;z-index:1;position:relative;transition:all .3s ease}.icon-btn:hover .icon{transform:scale(1.2)}.icon-btn.download-icon .icon{color:#007bff;font-weight:700}.icon-btn.download-icon:hover .icon{color:#0056b3;transform:scale(1.3)}.icon-btn.checkbox-icon .icon{font-size:20px;font-weight:700;color:#495057}.icon-btn.checkbox-icon:hover .icon{color:#007bff;transform:scale(1.1)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn:disabled .icon{transform:none}.icon-btn-with-text{width:auto;height:50px;border:none;border-radius:25px;background:transparent;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;position:relative;overflow:visible}.icon-btn-with-text:before{content:"";position:absolute;inset:0;background:#0000000d;border-radius:25px;opacity:0;transition:opacity .3s ease}.icon-btn-with-text:hover:before{opacity:1}.icon-btn-with-text .icon{font-size:20px;z-index:1;position:relative;transition:all .3s ease}.icon-btn-with-text .btn-text{font-size:12px;font-weight:500;color:#495057;z-index:1;position:relative;transition:all .3s ease}.icon-btn-with-text:hover .icon{transform:scale(1.1)}.icon-btn-with-text:hover .btn-text{color:#007bff}.icon-btn-with-text.checkbox-icon .icon{font-size:18px;font-weight:700;color:#495057}.icon-btn-with-text.checkbox-icon:hover .icon{color:#007bff;transform:scale(1.1)}.icon-btn-with-text.download-icon .icon{color:#007bff;font-weight:700}.icon-btn-with-text.download-icon:hover .icon{color:#0056b3;transform:scale(1.2)}.icon-btn-with-text.download-icon .btn-text{color:#007bff;font-weight:600}.icon-btn-with-text:disabled{opacity:.5;cursor:not-allowed}.icon-btn-with-text:disabled .icon,.icon-btn-with-text:disabled .btn-text{transform:none}.logout-btn{width:auto;height:44px;border:none;border-radius:22px;background:linear-gradient(135deg,#dc35451a,#dc35450d);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid rgba(220,53,69,.2);box-shadow:0 2px 8px #dc35451a}.logout-btn:hover{background:linear-gradient(135deg,#dc354526,#dc35451a);transform:translateY(-2px);border-color:#dc35454d;box-shadow:0 4px 16px #dc354533}.logout-btn .icon{font-size:16px;color:#dc3545;transition:all .3s ease}.logout-btn .btn-text{font-size:13px;font-weight:600;color:#dc3545;transition:all .3s ease;letter-spacing:.3px}.logout-btn:hover .icon{transform:scale(1.1)}.logout-btn:hover .btn-text{color:#c82333}.icon-btn[title]:hover:after{content:attr(title);position:absolute;bottom:-35px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;z-index:1000;pointer-events:none;animation:tooltipFadeIn .2s ease-out}.icon-btn[title]:hover:before{content:"";position:absolute;bottom:-25px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid rgba(0,0,0,.8);z-index:1000;pointer-events:none;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.selected-count{padding:8px 12px;background:#28a745;color:#fff;border-radius:6px;font-size:14px;font-weight:500}.stats{display:flex;align-items:center;gap:10px;background:#ffffff26;padding:8px 12px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.photos-found{display:flex;flex-direction:column;align-items:center;gap:2px}.photo-count{font-weight:700;font-size:1.2rem;color:#fff}.google-photos-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:8px!important;padding:0!important;margin:0!important;width:100%!important;box-sizing:border-box!important}@media (max-width: 480px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:6px!important;padding:0!important}.photo-item{width:100%!important;height:auto!important;margin-bottom:0!important}}@media (min-width: 481px) and (max-width: 767px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:6px!important;padding:0!important}.photo-item{width:100%!important;height:auto!important;margin-bottom:0!important}}@media (min-width: 768px) and (max-width: 1023px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:8px!important;padding:0!important}.photo-item{width:100%!important;height:auto!important;margin-bottom:0!important}}@media (min-width: 1025px){.gallery-header{padding:24px 40px;margin-bottom:24px}.gallery-title h2{font-size:28px;letter-spacing:-.8px}.gallery-actions{gap:16px}.logout-btn{height:48px;padding:0 20px;gap:10px}.logout-btn .icon{font-size:18px}.logout-btn .btn-text{font-size:14px;letter-spacing:.5px}.icon-btn{width:52px;height:52px}.icon-btn .icon{font-size:26px}.icon-btn-with-text{padding:12px 18px;gap:8px}.icon-btn-with-text .btn-text{font-size:13px}}@media (min-width: 1024px) and (max-width: 1439px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:10px!important;padding:0!important}.photo-item{width:100%!important;height:auto!important;margin-bottom:0!important}}@media (min-width: 1440px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:12px!important;padding:0!important}.photo-item{width:100%!important;height:auto!important;margin-bottom:0!important}}.photo-item{position:relative!important;cursor:pointer!important;overflow:hidden!important;background:transparent!important;transition:transform .2s ease,opacity .2s ease!important;border-radius:8px!important;width:100%!important;height:auto!important;box-sizing:border-box!important;display:block!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;box-shadow:0 2px 8px #0000001a!important;aspect-ratio:1!important}.photo-item.pressing{transform:scale(.95)!important;opacity:.8!important;border:2px solid #007bff!important;box-shadow:0 0 0 2px #007bff4d!important;z-index:15!important}.photo-item.loading{background:#f8f9fa!important;min-height:200px!important;display:flex!important;align-items:center!important;justify-content:center!important}.photo-item.loading .photo-image{opacity:0!important;transition:opacity .3s ease!important}.photo-item.loaded .photo-image{opacity:1!important;transition:opacity .5s ease!important}.image-loading-skeleton{position:absolute!important;inset:0!important;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%)!important;background-size:200% 100%!important;animation:shimmer 1.5s infinite!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:8px!important}.loading-shimmer{position:absolute!important;inset:0!important;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%)!important;animation:shimmer 1.5s infinite!important;border-radius:8px!important}.loading-icon{font-size:32px!important;color:#999!important;z-index:1!important;position:relative!important}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.modal-image-container{position:relative!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#000!important}.modal-image{max-width:100%!important;max-height:100%!important;object-fit:contain!important;opacity:0!important;transition:opacity .5s ease!important}.modal-image.loaded{opacity:1!important}.modal-loading-skeleton{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:200px!important;height:200px!important;background:linear-gradient(90deg,#333 25%,#555,#333 75%)!important;background-size:200% 100%!important;animation:shimmer 1.5s infinite!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-loading-shimmer{position:absolute!important;inset:0!important;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)!important;animation:shimmer 1.5s infinite!important;border-radius:12px!important}.modal-loading-icon{font-size:48px!important;color:#999!important;z-index:1!important;position:relative!important}.nav-button{transition:all .3s ease!important;opacity:.8!important}.nav-button:hover{opacity:1!important;transform:scale(1.1)!important}.photo-counter{transition:all .3s ease!important;opacity:.9!important}.photo-item{transition:all .3s ease!important}.photo-item:hover{transform:scale(1.02)!important;transition:transform .2s ease!important}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.photo-item.loaded .photo-image,.modal-image.loaded{animation:fadeIn .5s ease-out!important}.photo-image{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:opacity .3s ease-in-out!important;background:transparent!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;box-shadow:none!important;border-radius:8px!important;opacity:0}.photo-image:not([src]){background:#000!important;min-height:150px!important}.photo-image[src=""]{background:#000!important;min-height:150px!important}.photo-item:not(:has(img.loaded)){display:none!important}.photo-item.multi-select-mode:not(:has(img.loaded)){display:block!important;visibility:visible!important;opacity:1!important}.photo-item{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important}.photo-item.multi-select-mode{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:relative!important;left:auto!important;top:auto!important}.photo-item:has(.photo-image.loaded){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important}.photo-item:has(.photo-image.loaded).multi-select-mode,.photo-item:has(.photo-image.loaded).selected{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important}.photo-item:has(.photo-image.loaded) .photo-image{display:block!important;visibility:visible!important;opacity:1!important}.photo-item.selected:has(.photo-image.loaded),.photo-item.multi-select-mode:has(.photo-image.loaded){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:relative!important;left:auto!important;top:auto!important}.photo-item.selected:has(.photo-image.loaded) .photo-image,.photo-item.multi-select-mode:has(.photo-image.loaded) .photo-image{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;background:none!important;transform:none!important;box-shadow:none!important}.photo-item.selected:before,.photo-item.selected:after,.photo-item.multi-select-mode:before,.photo-item.multi-select-mode:after{display:none!important;content:none!important}.photo-item.selected,.photo-item.multi-select-mode{background:transparent!important;box-shadow:0 0 0 3px #007aff,0 0 20px #007aff4d!important}.google-photos-grid .photo-item.selected .photo-image,.google-photos-grid .photo-item.multi-select-mode .photo-image{opacity:1!important;filter:none!important;background:none!important;display:block!important;visibility:visible!important;transform:none!important;box-shadow:none!important;-webkit-filter:none!important;-moz-filter:none!important;-ms-filter:none!important}.google-photos-grid .photo-item.multi-select-mode,.google-photos-grid .photo-item.selected{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important}.google-photos-grid .photo-item.multi-select-mode .photo-image,.google-photos-grid .photo-item.selected .photo-image{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;background:none!important}.photo-item.multi-select-mode{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;box-shadow:none!important}.photo-item.multi-select-mode .photo-image{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;background:none!important;transform:none!important;box-shadow:none!important;-webkit-filter:none!important;-moz-filter:none!important;-ms-filter:none!important;width:100%!important;height:auto!important;object-fit:cover!important}.photo-item:not(:has(.photo-image.loaded)){display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:absolute!important;left:-9999px!important;top:-9999px!important}.photo-item.multi-select-mode:not(:has(.photo-image.loaded)){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:relative!important;left:auto!important;top:auto!important}.photo-item.multi-select-mode{cursor:pointer!important;display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important}.photo-item.multi-select-mode .photo-image{display:block!important;visibility:visible!important;opacity:1!important}.photo-item.selected{transform:scale(.98)!important;box-shadow:0 0 0 3px #007aff,0 0 20px #007aff4d!important;display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important}.photo-item.selected .photo-image{opacity:1!important;display:block!important;visibility:visible!important;filter:none!important;background:none!important}.selection-indicator{position:absolute!important;top:8px!important;right:8px!important;z-index:10!important;pointer-events:none!important;display:block!important;visibility:visible!important;opacity:1!important}.selection-checkbox{width:24px!important;height:24px!important;border:2px solid rgba(255,255,255,.8)!important;border-radius:50%!important;background:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;position:relative!important;z-index:11!important}.selection-checkbox.checked{background:#007aff!important;border-color:#007aff!important;transform:scale(1.1)!important;animation:selectionPulse .3s ease-out!important}.selection-checkbox span{color:#fff!important;font-size:14px!important;font-weight:700!important;display:block!important;visibility:visible!important;opacity:1!important}@keyframes selectionPulse{0%{transform:scale(.8);opacity:.7}50%{transform:scale(1.2);opacity:1}to{transform:scale(1.1);opacity:1}}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode,.image-gallery-container .google-photos-grid .photo-item.selected{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;box-shadow:none!important;z-index:1!important}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode .photo-image,.image-gallery-container .google-photos-grid .photo-item.selected .photo-image{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;background:none!important;transform:none!important;box-shadow:none!important;-webkit-filter:none!important;-moz-filter:none!important;-ms-filter:none!important;width:100%!important;height:auto!important;object-fit:cover!important;position:relative!important;left:auto!important;top:auto!important;z-index:1!important}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode:not(:has(.photo-image.loaded)),.image-gallery-container .google-photos-grid .photo-item.multi-select-mode:not(:has(img.loaded)),.image-gallery-container .google-photos-grid .photo-item.multi-select-mode:has(.photo-image[style*="display: none"]){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;box-shadow:none!important;z-index:1!important}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode *{display:block!important;visibility:visible!important;opacity:1!important}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode img{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;background:none!important;transform:none!important;box-shadow:none!important;-webkit-filter:none!important;-moz-filter:none!important;-ms-filter:none!important;width:100%!important;height:auto!important;object-fit:cover!important;position:relative!important;left:auto!important;top:auto!important;z-index:1!important}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode .selection-indicator{position:absolute!important;top:8px!important;right:8px!important;z-index:10!important;pointer-events:none!important;display:block!important;visibility:visible!important;opacity:1!important}.image-gallery-container .google-photos-grid .photo-item.multi-select-mode .selection-indicator *{display:block!important;visibility:visible!important;opacity:1!important}.download-progress-modal{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#000c!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.download-progress-content{background:#fff!important;border-radius:20px!important;padding:30px!important;max-width:400px!important;width:90%!important;text-align:center!important;box-shadow:0 20px 40px #0000004d!important}.download-progress-header h3{margin:0 0 10px!important;color:#333!important;font-size:1.5rem!important}.download-progress-header p{margin:0 0 20px!important;color:#666!important;font-size:1rem!important}.download-progress-bar{width:100%!important;height:8px!important;background:#e5e5e7!important;border-radius:4px!important;overflow:hidden!important;margin:20px 0!important}.download-progress-fill{height:100%!important;background:linear-gradient(90deg,#007aff,#5856d6)!important;border-radius:4px!important;transition:width .3s ease!important;animation:progressPulse 2s ease-in-out infinite!important}.download-progress-text{color:#666!important;font-size:.9rem!important;margin-top:10px!important}@keyframes progressPulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@media (max-width: 768px){.face-search-message{padding:15px 20px!important;max-width:95%!important}.face-search-title{font-size:.9rem!important;line-height:1.3!important;gap:8px!important}.face-search-subtitle{font-size:.75rem!important;line-height:1.2!important}.search-icon{font-size:1rem!important}}.user-icon{font-size:1.5rem;background:#fff3;padding:8px;border-radius:50%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-id{font-weight:600;font-size:1.1rem;flex:1}.stats{display:flex;align-items:center;gap:10px;background:#ffffff26;padding:8px 15px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.stats span:first-child{font-size:1.2rem}.photos-found{display:flex;align-items:center;gap:5px}.photo-count{font-weight:700;font-size:1.1rem;color:#fff}.photo-text{font-size:.9rem;color:#ffffffe6}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-container h3{font-size:2rem;color:#2c3e50;margin:20px 0 15px;font-weight:600}.loading-subtitle{color:#7f8c8d;font-size:1.1rem;margin-top:15px;opacity:.9;text-align:center;max-width:500px;line-height:1.6}.searching-animation-container{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:60vh!important;text-align:center!important;background:linear-gradient(135deg,var(--background-light) 0%,var(--background-medium) 50%,var(--background-dark) 100%)!important;border-radius:25px!important;padding:50px 40px!important;box-shadow:0 20px 60px #667eea26,0 8px 32px #764ba21a,inset 0 1px #fffc!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:2px solid rgba(102,126,234,.2)!important;margin:20px 0!important;position:relative!important;overflow:hidden!important;background-image:linear-gradient(135deg,#f8f9ff,#e8ecff,#d4e0ff)!important;background-color:#f8f9ff!important;background:red!important}.searching-animation-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(102,126,234,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(118,75,162,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(147,112,219,.05) 0%,transparent 50%);pointer-events:none}.searching-animation-container h3{font-size:2.5rem!important;color:var(--primary-blue)!important;margin:25px 0 20px!important;font-weight:800!important;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-purple) 50%,var(--primary-pink) 100%)!important;text-shadow:0 2px 10px rgba(102,126,234,.2)!important;position:relative!important;z-index:2!important;background-image:linear-gradient(135deg,#667eea,#764ba2,#f093fb)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}@supports not (-webkit-background-clip: text){.searching-animation-container h3{color:var(--primary-blue)!important;background:none!important}}.searching-subtitle{color:#5a6c7d!important;font-size:1.3rem!important;margin-top:20px!important;opacity:.95!important;text-align:center!important;max-width:550px!important;line-height:1.7!important;font-weight:600!important;position:relative!important;z-index:2!important}.searching-animation{display:flex;flex-direction:column;align-items:center;margin-bottom:35px;position:relative;z-index:2}.magnifying-glass{position:relative;width:130px;height:130px;margin-bottom:25px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 10px 25px rgba(102,126,234,.3))}.glass-lens{width:90px;height:90px;border:5px solid #667eea;border-radius:50%;background:linear-gradient(135deg,#667eea26,#764ba21a);position:relative;margin:0 auto;box-shadow:0 0 30px #667eea66,0 0 60px #764ba233,inset 0 0 30px #667eea1a}.glass-reflection{position:absolute;top:18px;left:18px;width:25px;height:25px;background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:50%;animation:sparkle 2.5s ease-in-out infinite;box-shadow:0 0 15px #fffc}.glass-handle{width:10px;height:70px;background:linear-gradient(45deg,#667eea,#764ba2,#f093fb);border-radius:5px;position:absolute;bottom:-45px;right:25px;transform:rotate(45deg);box-shadow:3px 3px 12px #0000004d,0 0 20px #667eea66}.search-beam{position:absolute;top:50%;left:50%;width:120px;height:3px;background:linear-gradient(90deg,transparent,#667eea,#764ba2,transparent);border-radius:2px;transform:translate(-50%,-50%) rotate(45deg);animation:scan 3s ease-in-out infinite;box-shadow:0 0 20px #667eea99}.searching-dots{display:flex;gap:8px;margin-top:20px}.searching-dots .dot{width:12px;height:12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:dots-bounce 1.4s ease-in-out infinite both;box-shadow:0 0 15px #667eea66}.searching-dots .dot:nth-child(1){animation-delay:-.32s}.searching-dots .dot:nth-child(2){animation-delay:-.16s}.searching-dots .dot:nth-child(3){animation-delay:0s}.search-status{display:flex;align-items:center;gap:12px;margin-top:20px;padding:12px 20px;background:#667eea1a;border-radius:25px;border:1px solid rgba(102,126,234,.2)}.search-pulse-ring{width:12px;height:12px;border:2px solid #667eea;border-radius:50%;animation:pulse-ring 2s ease-in-out infinite}.searching-animation-container:before,.searching-animation-container:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#667eea1a,#764ba21a);animation:float 6s ease-in-out infinite}.searching-animation-container:before{top:20px;left:20px;animation-delay:0s}.searching-animation-container:after{bottom:20px;right:20px;animation-delay:3s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes searchBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.1)}}@keyframes searchPulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes sparkle{0%,to{opacity:.8;transform:scale(1) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}@keyframes scan{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scaleX(0)}50%{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scaleX(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scaleX(0)}}@keyframes dots-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.search-timer{margin-top:35px;text-align:center;position:relative;z-index:2}.timer-circle{width:90px;height:90px;border:5px solid rgba(102,126,234,.2);border-top:5px solid #667eea;border-right:5px solid #764ba2;border-bottom:5px solid #f093fb;border-radius:50%;margin:0 auto 20px;animation:timerSpin 180s linear infinite;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px #667eea4d,inset 0 0 20px #667eea1a;background:linear-gradient(135deg,#ffffff1a,#667eea0d)}.timer-text{font-size:1.2rem;font-weight:700;color:#667eea;text-shadow:0 2px 8px rgba(102,126,234,.3)}.timer-label{color:#5a6c7d;font-size:.95rem;font-weight:600;margin:0;opacity:.9}.search-progress{margin-top:25px;width:200px;height:6px;background:#667eea1a;border-radius:3px;overflow:hidden;position:relative;z-index:2}.search-progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:3px;animation:progressFill 3s ease-in-out infinite;box-shadow:0 0 15px #667eea80}.search-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShine 2s ease-in-out infinite}@keyframes timerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes timerPulse{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.1);opacity:.4}}@keyframes progressFill{0%{width:0%}50%{width:70%}to{width:100%}}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.error-message{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:25px;margin-bottom:30px;box-shadow:0 8px 32px #0000001a;display:flex;align-items:center;gap:20px;border:1px solid rgba(231,76,60,.2)}.error-icon{font-size:2.5rem;color:#e74c3c}.error-message h3{margin:0 0 8px;color:#2c3e50;font-size:1.3rem}.error-message p{margin:0;color:#7f8c8d;font-size:1rem}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-left:auto;font-size:.95rem}.retry-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.empty-gallery{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;margin:20px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(102,126,234,.1)}.empty-gallery h3{color:#2d3748;font-size:24px;font-weight:600;margin:20px 0 12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-gallery p{color:#4a5568;font-size:16px;line-height:1.6;max-width:400px;margin:0 auto 20px}.image-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-user-select:none;user-select:none}.modal-content{background:#fff;border-radius:20px;max-width:90vw;max-height:90vh;overflow:hidden;position:relative;box-shadow:0 20px 60px #0000004d}.close-button{position:absolute;top:15px;right:20px;background:#000000b3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;transition:all .3s ease}.close-button:hover{background:#000000e6;transform:scale(1.1)}.modal-image-container{max-height:70vh;overflow:hidden}.modal-image-container img{width:100%;height:auto;max-height:70vh;object-fit:contain}.modal-caption{padding:20px;background:#f8f9fa;border-top:1px solid #e9ecef}.modal-photo-name{margin:0 0 8px;color:#2c3e50;font-size:1.1rem;font-weight:600;font-family:Monaco,Menlo,monospace}.modal-photo-caption{margin:0;color:#7f8c8d;font-size:1rem;line-height:1.5}.modal-actions{padding:20px;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.download-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.download-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #28a7454d}.share-button{background:linear-gradient(135deg,#17a2b8,#6f42c1);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.share-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #17a2b84d}@media (max-width: 768px){.gallery-header{flex-direction:column;gap:15px;text-align:center}.gallery-actions{flex-wrap:wrap;justify-content:center;gap:6px}.icon-btn{width:44px;height:44px}.icon-btn .icon{font-size:20px}.icon-btn-with-text{height:44px;padding:0 10px;gap:4px}.icon-btn-with-text .icon{font-size:18px}.icon-btn-with-text .btn-text{font-size:11px}.logout-btn{top:8px;right:8px;height:36px;padding:0 10px;gap:3px}.logout-btn .icon{font-size:14px}.logout-btn .btn-text{font-size:10px}.icon-btn[title]:hover:after{bottom:-30px;font-size:11px;padding:5px 10px}.icon-btn[title]:hover:before{bottom:-20px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.gallery-info h2{font-size:1.8rem}.brand-logo{padding:15px}.brand-image{width:80px}.error-message{flex-direction:column;text-align:center;gap:15px}.retry-button{margin-left:0}.modal-actions{flex-direction:column;align-items:center}.icon-btn{width:40px;height:40px}.icon-btn .icon{font-size:18px}.icon-btn-with-text{height:40px;padding:0 8px;gap:3px}.icon-btn-with-text .icon{font-size:16px}.icon-btn-with-text .btn-text{font-size:10px}.logout-btn{top:6px;right:6px;height:32px;padding:0 8px;gap:2px}.logout-btn .icon{font-size:12px}.logout-btn .btn-text{font-size:9px}.icon-btn[title]:hover:after{bottom:-28px;font-size:10px;padding:4px 8px}.icon-btn[title]:hover:before{bottom:-18px}}@media (max-width: 480px){.photo-grid{grid-template-columns:1fr;gap:16px}.modal-content{max-width:95vw;max-height:95vh}.gallery-info h2,.loading-container h3{font-size:1.6rem}}.small-loader{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#ffffffe6}.loader-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.video-loader-container{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:9999!important;overflow:hidden!important;margin:0!important;padding:0!important;border:none!important;border-radius:0!important;box-shadow:none!important}.video-loader-container *{box-sizing:border-box!important}.video-loader-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.08) 0%,transparent 50%);pointer-events:none;animation:backgroundFloat 20s ease-in-out infinite}.video-loader-content{text-align:center;z-index:2;position:relative;animation:contentFadeIn 1s ease-out;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.loader-video{width:500px;height:500px;border-radius:0!important;box-shadow:none!important;border:none!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:all .3s ease;animation:none!important}.loader-video:hover{transform:none!important;box-shadow:none!important}.loader-text{margin-top:50px;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.4);animation:textSlideUp 1.2s ease-out .3s both}.loader-text h3{font-size:4rem;font-weight:800;margin:0 0 25px;background:linear-gradient(135deg,#fff,#f0f8ff,#e6f3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;animation:titleGlow 2s ease-in-out infinite alternate}.loader-text p{font-size:1.8rem;font-weight:500;opacity:.95;margin:0;max-width:700px;line-height:1.6;color:#ffffffe6;animation:subtitleFade 2s ease-in-out infinite alternate}.video-loader-container:after{content:"";position:absolute;top:10%;left:10%;width:120px;height:120px;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);border-radius:50%;animation:float 8s ease-in-out infinite;pointer-events:none}.video-loader-container:before{content:"";position:absolute;bottom:15%;right:15%;width:180px;height:180px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;animation:float 10s ease-in-out infinite reverse;pointer-events:none}@keyframes backgroundFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(1deg)}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes videoPulse{0%,to{transform:scale(1);box-shadow:0 25px 80px #0006,0 0 0 4px #fff3,inset 0 0 0 1px #ffffff1a}50%{transform:scale(1.02);box-shadow:0 30px 90px #00000073,0 0 0 5px #ffffff40,inset 0 0 0 1px #ffffff26}}@keyframes titleGlow{0%{filter:drop-shadow(0 0 20px rgba(255,255,255,.3));transform:scale(1)}to{filter:drop-shadow(0 0 30px rgba(255,255,255,.5));transform:scale(1.02)}}@keyframes subtitleFade{0%{opacity:.85;transform:translateY(0)}to{opacity:1;transform:translateY(-2px)}}@keyframes textSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.8}50%{transform:translateY(-30px) rotate(2deg);opacity:1}}@media (max-width: 768px){.video-loader-container .loader-video{width:350px!important;height:350px!important;border-radius:25px!important}.video-loader-container .loader-text h3{font-size:2.5rem!important}.video-loader-container .loader-text p{font-size:1.3rem!important;max-width:500px!important}}@media (max-width: 480px){.video-loader-container .loader-video{width:280px!important;height:280px!important;border-radius:20px!important}.video-loader-container .loader-text h3{font-size:2rem!important}.video-loader-container .loader-text p{font-size:1.1rem!important;max-width:400px!important}}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.video-loader-container .fallback-loader{width:500px;height:500px;border-radius:0!important;background:transparent!important;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:none!important}.fallback-loader .loader-icon{font-size:8rem;color:#fffc;animation:fallbackPulse 2s ease-in-out infinite;text-shadow:0 4px 20px rgba(0,0,0,.3)}@keyframes fallbackPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:1.8rem;cursor:pointer;z-index:10;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.nav-button:hover{background:#000000e6;transform:translateY(-50%) scale(1.1)}.nav-button.prev{left:20px}.nav-button.next{right:20px}.photo-counter{position:absolute;top:20px;left:20px;background:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;z-index:10}@media (max-width: 768px){.nav-button{width:45px;height:45px;font-size:1.5rem}.nav-button.prev{left:15px}.nav-button.next{right:15px}.photo-counter{top:15px;left:15px;padding:6px 12px;font-size:.8rem}}.websocket-status{margin-top:1rem;text-align:center}.status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:500;background:#ffffff1a;color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-indicator.authenticated{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-indicator.connected{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.status-indicator.connecting{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-indicator.disconnected,.status-indicator.error{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.image-error-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-size:12px;text-align:center;z-index:1}.image-error-placeholder .error-icon{font-size:24px;margin-bottom:4px;opacity:.5}.image-error-placeholder .error-text{font-size:10px;font-weight:500}.gallery-image.error{opacity:.3}.user-registration-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;position:relative;overflow-x:hidden}.registration-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:30px;width:100%;max-width:480px;position:relative;overflow:hidden;margin:0 auto;clear:both}.registration-header{text-align:center;margin-bottom:20px;position:relative;width:100%;display:block}.registration-header h1{color:#2d3748;font-size:24px;font-weight:700;margin-bottom:4px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.registration-header p{color:#718096;font-size:14px;margin:0}.brand-logo{margin-bottom:15px;text-align:center;position:relative;display:block;width:100%}.brand-image{width:100px;height:auto;border-radius:8px;display:block;margin:0 auto;position:relative;z-index:1}.album-loading{text-align:center;padding:20px;background:#667eea1a;border-radius:12px;margin:20px 0}.loading-spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}.album-error{text-align:center;padding:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;margin:20px 0}.album-error p{color:#dc2626;font-weight:500;margin:0}.album-info{text-align:center;padding:15px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:12px;margin:15px 0}.album-info h3{color:#059669;font-size:18px;font-weight:700;margin:0 0 4px}.album-info p{color:#047857;font-size:13px;margin:2px 0}.registration-form,.otp-form{display:flex;flex-direction:column;gap:24px}.success-message{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.success-icon{font-size:48px;color:#10b981;animation:bounce .6s ease-in-out}.success-message h3{color:#2d3748;font-size:24px;font-weight:700;margin:0}.success-message p{color:#718096;font-size:16px;margin:0}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#2d3748;font-size:14px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px;transition:all .3s ease;background:#f7fafc;width:100%}.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input.valid{border-color:#10b981;background:#f0fdf4}.form-group input.invalid{border-color:#ef4444;background:#fef2f2}.form-group input.valid:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-group input.invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.contact-type-selector{display:flex;gap:16px;margin-top:8px;width:100%}.contact-type-tabs{margin-top:8px;width:100%;display:flex;flex-direction:column;gap:20px}.tab-container{display:flex;background:#f8fafc;border-radius:16px;padding:6px;border:2px solid #e2e8f0;transition:all .3s ease}.tab-container:hover{border-color:#667eea;background:#f1f5f9}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;color:#64748b;position:relative;overflow:hidden}.tab-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.tab-button:hover:before{left:100%}.tab-button:hover{background:#667eea1a;color:#667eea;transform:translateY(-1px)}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.tab-icon{font-size:20px;transition:transform .3s ease;display:flex;align-items:center;justify-content:center}.tab-icon svg{width:20px;height:20px;transition:all .3s ease}.email-icon svg{filter:drop-shadow(0 2px 4px rgba(66,133,244,.3))}.whatsapp-icon svg{filter:drop-shadow(0 2px 4px rgba(37,211,102,.3))}.tab-button:hover .tab-icon{transform:scale(1.1)}.tab-button:hover .email-icon svg{filter:drop-shadow(0 4px 8px rgba(66,133,244,.4));transform:scale(1.05)}.tab-button:hover .whatsapp-icon svg{filter:drop-shadow(0 4px 8px rgba(37,211,102,.4));transform:scale(1.05)}.tab-button.active .tab-icon{transform:scale(1.15)}.tab-button.active .email-icon svg{filter:drop-shadow(0 4px 12px rgba(255,255,255,.3))}.tab-button.active .whatsapp-icon svg{filter:drop-shadow(0 4px 12px rgba(255,255,255,.3))}.tab-button.disabled .whatsapp-icon svg{filter:grayscale(100%) opacity(.5);transform:scale(.9)}.tab-text{font-size:16px;font-weight:600;transition:all .3s ease}.tab-button.active .tab-text{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.or-divider{display:flex;align-items:center;justify-content:center;position:relative;margin:8px 0}.or-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.or-text{background:#fff;padding:0 16px;color:#64748b;font-size:14px;font-weight:500;position:relative;z-index:1}.contact-input-section{margin-top:0}.contact-input-section label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:14px}.contact-input-section input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;transition:all .3s ease;background:#fff;color:#374151}.contact-input-section input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.contact-input-section input.valid{border-color:#10b981;background:#f0fdf4}.contact-input-section input.invalid{border-color:#ef4444;background:#fef2f2}.input-error-message{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;font-weight:500;animation:slideDown .3s ease-out}.input-error-message .error-icon{font-size:16px;flex-shrink:0}.input-error-message .error-text{flex:1;line-height:1.4}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.contact-input-section .submit-btn{width:100%;margin-top:16px;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea4d;position:relative;overflow:hidden}.contact-input-section .submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.contact-input-section .submit-btn:hover:before{left:100%}.contact-input-section .submit-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.contact-input-section .submit-btn:active{transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.contact-input-section .submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #667eea33}.contact-input-section .submit-btn .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.radio-option{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;flex:1;transition:all .3s ease;background:#fff;min-width:0}.radio-option:hover{border-color:#667eea;background:#f8fafc}.radio-option input[type=radio]{display:none}.radio-custom{width:24px;height:24px;border:3px solid #cbd5e0;border-radius:50%;position:relative;background:#fff;flex-shrink:0;display:block}.radio-option input[type=radio]:checked+.radio-custom{border-color:#667eea;background:#667eea;box-shadow:0 0 0 2px #667eea4d}.radio-option input[type=radio]:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#fff;border-radius:50%}.radio-option input[type=radio]:checked~.radio-label{color:#667eea;font-weight:600}.radio-option input[type=radio]:checked~.radio-label .label-text{color:#667eea;font-weight:600}.radio-option input[type=radio]:checked{background:#667eea0d;border-color:#667eea}.radio-label{display:flex;align-items:center;justify-content:space-between;font-weight:500;color:#4a5568;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;width:100%}.radio-label .label-text{font-weight:500;color:#4a5568}.radio-label .icon{font-size:18px;flex-shrink:0}.radio-option:hover .icon{transform:scale(1.1)}.radio-option input[type=radio]:checked~.radio-label .icon{animation:iconBounce .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes iconBounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;width:100%}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{background:#e2e8f0;color:#4a5568;border:none;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn-secondary:disabled{opacity:.7;cursor:not-allowed}.btn-link{background:none;border:none;color:#667eea;font-size:14px;font-weight:500;cursor:pointer;text-decoration:underline;padding:8px 0;margin-top:16px}.btn-link:hover{color:#764ba2}.submit-btn{width:100%}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#fed7d7;border:1px solid #feb2b2;border-radius:12px;padding:16px;margin-bottom:24px;display:flex;align-items:center;gap:12px}.error-icon{font-size:20px;color:#742a2a;flex-shrink:0}.error-message p{color:#742a2a;font-size:14px;margin:0;font-weight:500}.otp-info{text-align:center;background:#f7fafc;border-radius:12px;padding:20px;margin-bottom:16px}.otp-info p{color:#4a5568;font-size:14px;margin:0 0 8px}.contact-display{font-weight:600;color:#2d3748!important;font-size:16px!important;margin:0!important}.album-info{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:10px 15px;margin:15px 0;text-align:center}.album-info p{margin:0;color:#1976d2;font-weight:500;font-size:.9rem}.album-info code{background:#2196f333;color:#1565c0;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem}.otp-actions{display:flex;gap:12px;flex-direction:column}.otp-actions .btn-primary{margin-top:0}.success-message{text-align:center;padding:32px 0}.success-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 16px;background:#c6f6d5;color:#22543d}.success-message h3{color:#2d3748;font-size:20px;margin-bottom:8px}.success-message p{color:#718096;font-size:14px;margin-bottom:24px;line-height:1.5}.session-info{background:#f7fafc;border-radius:12px;padding:16px;margin:20px 0;text-align:left}.session-info p{color:#4a5568;font-size:14px;margin:4px 0}.selfie-preview{text-align:center;margin:20px 0;padding:16px;background:#f7fafc;border-radius:12px;border:2px solid #e2e8f0}.selfie-thumbnail{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #667eea;margin-bottom:8px}.selfie-preview p{color:#4a5568;font-size:14px;font-weight:500;margin:0}.upload-status{font-size:12px!important;color:#718096!important;margin-top:4px!important}.success-actions{display:flex;gap:12px;flex-direction:column;margin-top:24px}.registration-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.registration-footer p{color:#718096;font-size:12px;margin:0;font-family:monospace}@media (max-width: 768px){.user-registration-container{padding:16px}.registration-card{padding:32px 24px;max-width:100%;margin:0}.registration-header h1{font-size:24px}.registration-header p{font-size:14px}.contact-type-selector{flex-direction:column;gap:12px}.contact-type-tabs{margin-top:8px;gap:16px}.tab-button{padding:14px 18px}.tab-text{font-size:15px}.tab-icon{font-size:18px}.gmail-logo-button{padding:16px 24px}.gmail-oauth-option.primary-login .gmail-logo-button{padding:18px 28px;font-size:16px}.gmail-oauth-option.primary-login .gmail-text{font-size:16px}.contact-input-section{margin-top:0}.contact-input-section input{padding:10px 14px;font-size:16px}.contact-input-section .submit-btn{padding:14px 20px;font-size:15px;margin-top:14px}.input-error-message{font-size:13px;padding:6px 10px;margin-top:6px}.input-error-message .error-icon{font-size:14px}.radio-option{padding:10px 12px}.radio-label{font-size:14px}.radio-label .icon{font-size:16px}.gmail-logo-button{padding:12px 20px}.gmail-text{font-size:14px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{font-size:16px}.otp-actions{flex-direction:column}}@media (max-width: 480px){.user-registration-container{padding:12px}.registration-card{padding:24px 20px;border-radius:16px}.registration-header h1{font-size:22px}.registration-header p{font-size:13px}.form-group{gap:6px}.form-group label{font-size:13px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{padding:10px 14px;font-size:16px}.contact-type-tabs{margin-top:8px;gap:12px}.tab-container{padding:4px}.tab-button{padding:12px 16px}.tab-text{font-size:14px}.tab-icon{font-size:16px}.gmail-logo-button{padding:14px 20px}.gmail-text{font-size:14px}.gmail-oauth-option.primary-login .gmail-logo-button{padding:16px 24px;font-size:15px}.gmail-oauth-option.primary-login .gmail-text{font-size:15px}.contact-input-section{margin-top:0}.contact-input-section input{padding:10px 12px;font-size:16px}.contact-input-section .submit-btn{padding:12px 18px;font-size:14px;margin-top:12px}.input-error-message{font-size:12px;padding:6px 8px;margin-top:6px}.input-error-message .error-icon{font-size:13px}.radio-option{padding:8px 10px}.radio-label{font-size:13px}.radio-label .icon{font-size:14px}.gmail-logo-button{padding:10px 16px}.gmail-text{font-size:13px}.gmail-logo{width:20px;height:20px}.btn-primary{padding:14px 20px;font-size:15px}.btn-secondary{padding:10px 16px;font-size:13px}.otp-info{padding:16px}.otp-info p{font-size:13px}.contact-display{font-size:15px!important}.success-message h3{font-size:18px}.success-message p{font-size:13px}.session-info{padding:12px}.session-info p{font-size:13px}.registration-footer p{font-size:11px}}@media (min-width: 769px){.registration-card{max-width:520px}.registration-header h1{font-size:32px}.registration-header p{font-size:18px}.otp-actions{flex-direction:row}.otp-actions .btn-primary{flex:2}.otp-actions .btn-secondary{flex:1}}@media (min-width: 1024px){.registration-card{max-width:560px;padding:48px}.registration-header h1{font-size:36px}.registration-header p{font-size:20px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{padding:14px 18px;font-size:16px}.btn-primary{padding:18px 28px;font-size:17px}}.registration-form,.otp-form{animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#root{width:100%;min-height:100vh}.otp-notes{margin-top:12px;padding:0 4px}.otp-note-item{display:flex;align-items:center;margin-bottom:6px;font-size:13px}.asterisk{color:#667eea;font-weight:700;margin-right:8px;font-size:14px}.note-text{color:#718096;font-weight:400}.radio-label{display:flex;align-items:center;gap:8px}.gmail-oauth-option{margin-top:16px;width:100%}.gmail-oauth-option.primary-login{margin-top:0;margin-bottom:0}.gmail-oauth-option.primary-login .gmail-logo-button{background:#fff;color:#374151;border:2px solid #e5e7eb;box-shadow:0 4px 12px #0000000f;font-weight:700;font-size:17px;padding:16px 24px;border-radius:14px}.gmail-oauth-option.primary-login .gmail-logo-button:hover{background:#fff;border-color:#d1d5db;box-shadow:0 8px 20px #00000014;transform:translateY(-2px)}.gmail-oauth-option.primary-login .gmail-logo-button:active{transform:translateY(0);box-shadow:0 3px 8px #00000014}.gmail-oauth-option.primary-login .gmail-text{color:#374151;font-weight:700;font-size:16px;text-shadow:none}.gmail-oauth-option.primary-login .gmail-logo{filter:none}.gmail-logo-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 28px;border:2px solid transparent;border-radius:16px;background:linear-gradient(135deg,#fff,#f8fafc);cursor:pointer;transition:all .3s ease;width:100%;font-weight:600;color:#4a5568;text-decoration:none;box-shadow:0 4px 12px #00000014;position:relative;overflow:hidden}.gmail-logo-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.gmail-logo-button:hover:before{left:100%}.gmail-logo-button:hover{border-color:#ea4335;background:linear-gradient(135deg,#fef7f7,#fce8e6);transform:translateY(-3px);box-shadow:0 12px 24px #ea433533}.gmail-logo-button:active{transform:translateY(-1px);box-shadow:0 6px 12px #ea433540}.gmail-logo{width:24px;height:24px;flex-shrink:0}.gmail-text{font-size:16px;font-weight:600;color:#4a5568;transition:all .3s ease}.gmail-logo-button:hover .gmail-text{color:#ea4335;font-weight:700;text-shadow:0 1px 2px rgba(234,67,53,.2)}.gmail-logo-button:hover .gmail-logo{transform:scale(1.15) rotate(5deg);transition:transform .3s ease}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;pointer-events:none;animation:toastSlideDown .3s ease-out}.toast-content{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0000001f;color:#374151;pointer-events:auto}.toast-container.success .toast-content{border-color:#86efac}.toast-container.error .toast-content{border-color:#fecaca}.toast-text{font-size:14px;font-weight:600}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 480px){.toast-content{padding:10px 14px}.toast-text{font-size:13px}}.name-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.name-modal{width:100%;max-width:480px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 40px #00000026;padding:20px 24px}.name-modal-title{font-size:20px;font-weight:700;color:#111827}.name-modal-subtitle{font-size:14px;color:#6b7280;margin-top:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 480px){.name-modal{margin:0 16px;padding:16px 18px}.name-modal-title{font-size:18px}}.admin-signin-container{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.admin-signin-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;box-shadow:0 20px 60px #0003;width:100%;max-width:400px;border:1px solid rgba(255,255,255,.2)}.admin-signin-header{text-align:center;margin-bottom:30px}.admin-icon{font-size:3rem;margin-bottom:15px;display:block}.admin-signin-header h1{margin:0 0 10px;font-size:2rem;font-weight:700;color:#1e3c72}.admin-signin-header p{margin:0;color:#666;font-size:1rem}.error-message{background:#ff6b6b1a;border:2px solid #ff6b6b;border-radius:10px;padding:15px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.admin-signin-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px;position:relative}.form-group label{font-weight:600;color:#333;font-size:.9rem}.form-group input{padding:12px 16px;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fff}.form-group input:focus{outline:none;border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a}.form-group input::placeholder{color:#999}.admin-signin-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;padding:15px 24px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px}.admin-signin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #1e3c724d}.admin-signin-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.signin-icon{font-size:1.1rem}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.admin-signin-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e1e5e9}.admin-signin-footer p{margin:0;color:#666;font-size:.85rem;line-height:1.4}.toggle-password{position:absolute;right:16px;top:calc(50% + 16px);transform:translateY(-50%);cursor:pointer;font-size:1.1rem;padding:4px;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;z-index:10;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;color:#666}.toggle-password:hover{background:#1e3c721a;color:#1e3c72}.form-group input[type=password],.form-group input[type=text]{padding-right:40px}@media (max-width: 480px){.admin-signin-container{padding:15px}.admin-signin-card{padding:30px 20px}.admin-signin-header h1{font-size:1.8rem}.admin-icon{font-size:2.5rem}}.admin-dashboard-container{height:100vh;width:100vw;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column;overflow:hidden;position:relative;inset:0}.admin-navbar{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.navbar-container{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;max-width:1400px;margin:0 auto;gap:2rem}.navbar-left{flex:1;display:flex;align-items:center}.welcome-section{color:#fff}.welcome-title{font-size:1.8rem;font-weight:700;margin:0 0 .25rem;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:.5px}.welcome-message{font-size:1rem;margin:0;opacity:.9;font-weight:400}.navbar-center{flex:1;display:flex;justify-content:center;align-items:center}.navbar-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .3s ease}.navbar-logo:hover{transform:scale(1.05)}.logo-image{width:80px;height:80px;border-radius:12px;box-shadow:0 4px 20px #0003;border:2px solid rgba(255,255,255,.2)}.logo-text{font-size:1.8rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.navbar-right{flex:1;display:flex;justify-content:flex-end;align-items:center}.user-profile{display:flex;align-items:center;gap:1rem;background:#ffffff1a;padding:.75rem 1.25rem;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.user-profile:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.user-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#feca57);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0003}.avatar-text{color:#fff;font-size:1.2rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.user-details{display:flex;flex-direction:column;gap:.25rem}.user-name{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.user-role{color:#fffc;font-size:.85rem;font-weight:400}.sign-out-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:25px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sign-out-btn:hover{background:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 15px #0003}.sign-out-icon{font-size:1rem}.sign-out-text{font-size:.85rem}@media (max-width: 1024px){.navbar-container{padding:1.25rem 1.5rem;gap:1.5rem}.welcome-title{font-size:1.6rem}.logo-image{width:75px;height:75px}.logo-text{font-size:1.7rem}}@media (max-width: 480px){.navbar-container{padding:.75rem}.welcome-title{font-size:1.2rem}.welcome-message{font-size:.8rem}.logo-image{width:65px;height:65px}.logo-text{font-size:1.4rem}.user-profile{padding:.5rem .75rem;gap:.75rem}.user-avatar{width:35px;height:35px}.avatar-text{font-size:1rem}.sign-out-btn{padding:.4rem .8rem;font-size:.8rem}}.admin-header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.admin-header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.admin-info{display:flex;align-items:center;gap:15px;justify-self:start;grid-column:1}.brand-logo{grid-column:2;text-align:center;min-width:120px;z-index:10}.brand-image{width:80px;height:auto;border-radius:6px}.admin-avatar{font-size:2.5rem;background:#fff3;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.admin-details h1,.admin-details h2{margin:0 0 5px;font-size:1.8rem;font-weight:700}.admin-details p{margin:0;opacity:.9;font-size:1rem}.admin-header-content>button:last-child,.admin-header-content>button:nth-last-child(2){justify-self:end;grid-column:3}.signout-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:.9rem;flex-shrink:0}.signout-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.signout-icon{font-size:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#666}.loading-spinner{width:50px;height:50px;border:4px solid #e1e5e9;border-top:4px solid #1e3c72;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-message{background:#ff6b6b1a;border:2px solid #ff6b6b;border-radius:10px;padding:15px;display:flex;align-items:center;gap:10px;max-width:1200px;margin:20px auto}.error-icon{font-size:1.2rem;color:#ff6b6b}.error-message p{margin:0;color:#ff6b6b;font-weight:500}.success-message{background:#4caf501a;border:2px solid #4caf50;border-radius:10px;padding:15px;display:flex;align-items:center;gap:10px;max-width:1200px;margin:20px auto}.success-icon{font-size:1.2rem;color:#4caf50}.success-message p{margin:0;color:#2e7d32;font-weight:500;white-space:pre-line;line-height:1.5}.admin-content{display:flex;flex:1;overflow:hidden;height:100%}.admin-sidebar{width:250px;background:#f8f9fa;border-right:1px solid #e1e5e9;flex-shrink:0;overflow-y:auto}.admin-main{flex:1;overflow-y:auto;background:#fff;display:flex;flex-direction:column}.admin-top-nav{width:100%;background:#fff;border-bottom:1px solid #e1e5e9;padding:8px 20px;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:1000;margin-bottom:15px;display:flex;justify-content:center;align-items:center;min-height:50px}.admin-nav{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;max-width:800px;margin:0 auto}.nav-item{padding:8px 16px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:all .3s ease;text-align:center;font-size:.9rem;color:#666;display:flex;align-items:center;gap:6px;min-width:100px;justify-content:center;flex:0 0 auto;max-width:140px}.nav-item:hover{background:#f8f9fa;color:#1e3c72}.nav-item.active{background:#1e3c72;color:#fff}.nav-icon{font-size:1.2rem;flex-shrink:0}.nav-text{font-weight:500}.loading-indicator{margin-left:8px;font-size:.9em;animation:pulse 1.5s ease-in-out infinite}.admin-main-content{flex:1;padding:20px;overflow-y:auto;background:#fff}.sidebar-nav{padding:20px 0}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#666;text-decoration:none;transition:all .3s ease;border-left:3px solid transparent;font-weight:500;background:transparent;border:none;width:100%;text-align:left;cursor:pointer}.sidebar-nav-item:hover{background:#007bff1a;color:#007bff;border-left-color:#007bff}.sidebar-nav-item.active{background:#007bff26;color:#007bff;border-left-color:#007bff;font-weight:600}.sidebar-nav-icon{font-size:1.2rem;width:20px;text-align:center}.sidebar-nav-text{font-size:14px}.admin-main h2{margin:0 0 25px;color:#333;font-size:1.8rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:12px;display:flex;align-items:center;gap:15px;box-shadow:0 4px 15px #667eea4d}.stat-icon{font-size:2rem;background:#fff3;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.stat-content h3{margin:0 0 5px;font-size:2rem;font-weight:700}.stat-content p{margin:0;opacity:.9;font-size:.9rem}.album-card{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:10px;padding:20px;display:flex;justify-content:space-between;align-items:center}.album-info h3{margin:0 0 8px;color:#333;font-size:1.2rem}.album-info p{margin:0 0 5px;color:#666;font-size:.9rem}.album-actions{display:flex;gap:10px}.action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.action-btn.small{padding:6px 12px;font-size:.8rem}.view-btn{background:#17a2b8;color:#fff}.view-btn:hover{background:#138496}.edit-btn{background:#28a745;color:#fff}.edit-btn:hover{background:#218838}.qr-btn{background:#6f42c1;color:#fff}.qr-btn:hover{background:#5a32a3}.upload-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.upload-btn:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.upload-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.refresh-btn{background:#17a2b8;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.refresh-btn:hover{background:#138496;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.process-btn{background:#6f42c1;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.process-btn:hover{background:#5a32a3;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.process-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.users-tab{padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:0;overflow:hidden;width:100%;max-width:100%}.users-tab h2{margin:0 0 20px;color:#2c3e50;font-size:1.8rem;font-weight:700;border-bottom:3px solid #e9ecef;padding-bottom:15px}.users-header{margin-bottom:20px}.users-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:15px;width:100%}.album-selector{display:flex;align-items:center;gap:10px}.album-selector label{font-weight:500;color:#495057;font-size:14px}.album-select-wrapper{position:relative;display:flex;align-items:center;gap:8px}.album-select{padding:8px 12px;border:1px solid #dee2e6;border-radius:6px;background:#fff;color:#495057;font-size:14px;min-width:200px;cursor:pointer;transition:all .2s ease}.album-select:hover:not(:disabled){border-color:#007bff}.album-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.album-select:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.album-select-loader{display:flex;align-items:center;justify-content:center}.users-info{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.page-size-selector{display:flex;align-items:center;gap:8px}.page-size-selector label{font-weight:500;color:#495057;font-size:14px}.page-size-select{padding:6px 10px;border:1px solid #dee2e6;border-radius:4px;background:#fff;color:#495057;font-size:14px;min-width:60px;cursor:pointer;transition:all .2s ease}.page-size-select:hover:not(:disabled){border-color:#007bff}.page-size-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.page-size-select:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.selected-album-info{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#e8f5e8;border-radius:6px;border:1px solid #c3e6c3}.selected-album-label{font-size:12px;color:#2d5a2d;font-weight:500}.selected-album-name{font-size:13px;color:#1a4d1a;font-weight:600}.users-count{font-weight:500;color:#495057;font-size:14px}.users-page{font-weight:500;color:#007bff;font-size:14px;background:#e3f2fd;padding:4px 8px;border-radius:4px}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #e9ecef;flex-wrap:wrap;width:100%;background:#f8f9fa;border-radius:8px;margin:20px auto 0;max-width:100%}.pagination-btn{padding:8px 16px;border:1px solid #dee2e6;background:#fff;color:#495057;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#007bff;color:#007bff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f8f9fa;color:#6c757d}.pagination-info{display:flex;align-items:center;font-size:14px;color:#495057;font-weight:500;gap:15px;flex-wrap:wrap;justify-content:center}.page-jump{display:flex;align-items:center;gap:6px}.page-jump label{font-size:12px;color:#6c757d;font-weight:500}.page-jump-input{width:60px;padding:4px 8px;border:1px solid #dee2e6;border-radius:4px;text-align:center;font-size:14px;transition:all .2s ease}.page-jump-input:hover:not(:disabled){border-color:#007bff}.page-jump-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.page-jump-input:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.users-table-container{position:relative;width:100%;overflow-x:auto;border-radius:8px;border:1px solid #e1e5e9;background:#fff;box-shadow:0 2px 8px #0000001a;max-width:100%;margin:0;padding:0}@media (max-width: 1200px){.users-table-container{overflow-x:scroll}}.users-table-container::-webkit-scrollbar{height:8px}.users-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.users-table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.users-table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.pagination-loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;border-radius:8px}.pagination-loading-overlay .loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.pagination-loading-overlay p{margin:0;color:#666;font-size:14px;font-weight:500}.no-users-found{text-align:center;padding:60px 20px;color:#666}.no-users-found h3{margin:0 0 15px;color:#333;font-size:1.5rem}.no-users-found p{margin:0 0 10px;font-size:1rem;line-height:1.5}.users-table{overflow-x:auto;border-radius:8px;border:1px solid #e1e5e9;background:#fff;width:100%}.users-table table{width:100%;border-collapse:collapse;margin:0;min-width:1200px;table-layout:auto}.users-table th,.users-table td{padding:12px 8px;text-align:left;border-bottom:1px solid #e1e5e9;white-space:nowrap;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.users-table th{white-space:nowrap;overflow:visible;text-overflow:unset;font-size:14px;font-weight:600}.users-table td:nth-child(2){white-space:normal;word-break:break-word}.users-table td:nth-child(4){white-space:normal;word-break:break-word}.users-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:10}.users-table th:nth-child(1),.users-table td:nth-child(1){width:15%;min-width:120px}.users-table th:nth-child(2),.users-table td:nth-child(2){width:25%;min-width:200px}.users-table th:nth-child(3),.users-table td:nth-child(3){width:10%;min-width:80px}.users-table th:nth-child(4),.users-table td:nth-child(4){width:10%;min-width:80px}.users-table th:nth-child(5),.users-table td:nth-child(5){width:12%;min-width:100px}.users-table th:nth-child(6),.users-table td:nth-child(6){width:10%;min-width:100px}.users-table th:nth-child(7),.users-table td:nth-child(7){width:8%;min-width:70px}.users-table th:nth-child(8),.users-table td:nth-child(8){width:12%;min-width:100px}.users-table th:nth-child(9),.users-table td:nth-child(9){width:12%;min-width:100px}.users-table th:nth-child(10),.users-table td:nth-child(10){width:10%;min-width:80px;text-align:center}.status-badge{padding:6px 16px;border-radius:25px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;box-shadow:0 2px 8px #00000026}.status-badge.active{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.status-badge.inactive{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.status-badge.verified{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.status-badge.pending{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#212529}.status-badge.has-selfie{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff}.status-badge.no-selfie{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff}.album-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;background:linear-gradient(135deg,#6f42c1,#8e44ad);color:#fff;box-shadow:0 2px 6px #6f42c14d;display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.auth-type-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;background:#e3f2fd;color:#1976d2;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.create-album-form,.edit-album-form{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.create-album-form .form-container,.edit-album-form .form-container{background:#fff;border:1px solid #e1e5e9;border-radius:20px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.create-album-form h3,.edit-album-form h3{margin:0 0 28px;color:#2c3e50;font-size:1.8rem;font-weight:700;border-bottom:3px solid #e9ecef;padding-bottom:20px;text-align:center;position:relative}.create-album-form h3:after,.edit-album-form h3:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(90deg,#007bff,#17a2b8);border-radius:2px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#2c3e50;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:14px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s ease;background:#fff;font-family:inherit;box-sizing:border-box;color:#2c3e50}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007bff;background:#fff;box-shadow:0 0 0 3px #007bff1a;transform:translateY(-1px)}.form-group textarea{min-height:120px;resize:vertical}.form-group input[type=checkbox]{width:auto;margin-right:10px;transform:scale(1.2)}.form-group input[type=date]{font-family:inherit;cursor:pointer}.create-album-form .form-buttons,.edit-album-form .form-buttons{display:flex;gap:16px;justify-content:center;margin-top:32px;padding-top:24px;border-top:2px solid #f8f9fa}.create-album-form .action-btn,.edit-album-form .action-btn{padding:14px 28px;border-radius:10px;font-size:15px;font-weight:600;min-width:140px;transition:all .3s ease;border:none;cursor:pointer;color:#fff;background:#007bff}.create-album-form .action-btn:hover,.edit-album-form .action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003;background:#0056b3}.cancel-btn{background:#6c757d!important;color:#fff!important}.cancel-btn:hover{background:#5a6268!important}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:8px;border-radius:50%;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f8f9fa;color:#495057;transform:rotate(90deg)}.user-stats{font-size:.8rem;color:#666}.user-stats div{margin:2px 0}.user-actions{display:flex;gap:5px}.photos-tab{padding:20px}.photos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.photos-info{margin:15px 0}.photo-stats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:15px}.photo-stats .stat-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.photo-stats .stat-label{font-weight:500;color:#495057;font-size:14px}.photo-stats .stat-value{font-weight:600;color:#212529;font-size:14px;background:#007bff;color:#fff;padding:2px 8px;border-radius:12px;min-width:24px;text-align:center}.process-users-section{display:flex;align-items:center;gap:12px}.photo-count-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#6c757d;border-radius:6px;border:none;font-size:14px;font-weight:500;color:#fff;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;cursor:default}.photo-count-badge:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.photo-count-badge .count-label{font-weight:500;color:#fff;display:flex;align-items:center;gap:6px}.photo-count-badge .count-value{font-weight:600;color:#fff;background:#fff3;padding:2px 8px;border-radius:12px;min-width:20px;text-align:center}.selected-album-info{background:#e3f2fd;padding:15px;border-radius:8px;border-left:4px solid #2196f3}.selected-album-info h3{margin:0 0 5px;color:#1976d2;font-size:1.1rem}.selected-album-info p{margin:0;color:#666;font-size:.9rem}.photos-actions{display:flex;gap:10px}.photos-info{margin-bottom:15px}.photos-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:10px 15px;margin:0;color:#856404;font-size:.9rem;font-style:italic}.no-album-selected{text-align:center;padding:60px 20px;color:#666}.no-album-icon{font-size:4rem;margin-bottom:20px}.no-album-selected h3{margin:0 0 10px;color:#333}.no-photos{text-align:center;padding:60px 20px;color:#666}.no-photos-icon{font-size:4rem;margin-bottom:20px}.no-photos h3{margin:0 0 10px;color:#333}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px}.photo-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000001a;transition:transform .3s ease}.photo-card:hover{transform:translateY(-2px)}.photo-image{position:relative;height:200px;overflow:hidden}.photo-image img{width:100%;height:100%;object-fit:cover}.photo-placeholder{display:none;flex-direction:column;align-items:center;justify-content:center;height:100%;background:#f8f9fa;color:#666}.photo-placeholder span{font-size:2rem;margin-bottom:10px}.photo-info{padding:15px}.photo-info h4{margin:0 0 8px;color:#333;font-size:1rem;word-break:break-word}.photo-info p{margin:0 0 5px;color:#666;font-size:.85rem}.faces-detected{color:#17a2b8!important;font-weight:600;font-size:.8rem}.photo-actions{padding:0 15px 15px;display:flex;gap:8px}.upload-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.upload-modal{background:#fff;border-radius:10px;width:90%;max-width:500px;max-height:80vh;overflow:hidden}.upload-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e1e5e9}.upload-modal-header h3{margin:0;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.close-btn:hover{background:#f8f9fa}.upload-modal-content{padding:20px}.upload-area{border:2px dashed #ddd;border-radius:10px;padding:40px;text-align:center;transition:border-color .3s ease}.upload-area:hover{border-color:#2196f3}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:3rem;margin-bottom:15px;color:#666}.upload-label p{margin:0 0 5px;color:#333;font-size:1.1rem}.upload-hint{color:#666;font-size:.9rem}.upload-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px}.upload-spinner{width:20px;height:20px;border:2px solid #e1e5e9;border-top:2px solid #2196f3;border-radius:50%;animation:spin 1s linear infinite}.upload-queue{max-height:300px;overflow-y:auto;margin-bottom:20px}.upload-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #e1e5e9;border-radius:8px;margin-bottom:10px;background:#f8f9fa}.upload-item-info{display:flex;flex-direction:column;gap:4px}.upload-item-name{font-weight:500;color:#333;font-size:.9rem}.upload-item-size{color:#666;font-size:.8rem}.upload-item-status{display:flex;align-items:center;gap:10px}.upload-item-progress{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:120px}.progress-bar{width:100px;height:6px;background:#e1e5e9;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2196f3,#21cbf3);transition:width .3s ease}.status-success{color:#4caf50;font-weight:500;font-size:.9rem}.status-error{color:#f44336;font-weight:500;font-size:.9rem}.status-pending{color:#ff9800;font-weight:500;font-size:.9rem}.status-processing{color:#2196f3;font-weight:500;font-size:.9rem}.processing-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;background:#e3f2fd;border-radius:8px;margin-top:20px}.processing-status p{margin:0;color:#1976d2;font-weight:500}.upload-complete{display:flex;justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid #e1e5e9}.analytics-content{display:grid;gap:20px}.analytics-card{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:10px;padding:25px}.analytics-card h3{margin:0 0 15px;color:#333;font-size:1.3rem}.analytics-card p{margin:0;color:#666;line-height:1.5}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-content h3{font-size:1.5rem}}.upload-area.drag-over{border-color:#1e3c72;background:#1e3c720d;transform:scale(1.02)}.drag-drop-divider{margin:15px 0;color:#666;font-size:.9rem;font-weight:500}.drag-drop-text{color:#1e3c72;font-weight:500;margin:10px 0}.drag-drop-icon{font-size:2rem;margin-top:10px;opacity:.7}.upload-notification{position:fixed;bottom:20px;right:20px;width:280px;max-height:300px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;border:1px solid #e1e5e9;z-index:1000;overflow:hidden;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.upload-notification-header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}.upload-notification-header h4{margin:0;font-size:.9rem;font-weight:600}.upload-status-indicator{display:flex;align-items:center;gap:8px}.uploading-status,.auto-processing-status{font-size:.8rem;padding:4px 8px;border-radius:4px;font-weight:500}.uploading-status{background:#ffc10733;color:#856404;border:1px solid rgba(255,193,7,.3)}.auto-processing-status{background:#1976d233;color:#1976d2;border:1px solid rgba(25,118,210,.3)}.close-notification-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease}.close-notification-btn:hover{background:#fff3}.upload-notification-stats{padding:10px 15px;background:#f8f9fa;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between}.stat-item{display:flex;flex-direction:column;align-items:center;gap:3px}.stat-label{font-size:.7rem;color:#666;font-weight:500}.stat-value{font-size:.9rem;font-weight:600;color:#333}.stat-value.success{color:#28a745}.stat-value.error{color:#dc3545}.stat-value.processing{color:#2196f3}.upload-notification-queue{max-height:200px;overflow-y:auto;padding:10px 15px}.notification-upload-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f0f0f0}.notification-upload-item:last-child{border-bottom:none}.notification-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notification-item-name{font-size:.8rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-size{font-size:.7rem;color:#666;display:flex;align-items:center;gap:4px}.original-size{color:#666}.arrow{color:#999;font-size:.7rem}.processed-size{color:#28a745;font-weight:500}.notification-item-status{display:flex;align-items:center;gap:8px;min-width:60px}.notification-progress{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px}.notification-progress-bar{width:60px;height:4px;background:#e1e5e9;border-radius:2px;overflow:hidden}.notification-progress-fill{height:100%;background:linear-gradient(90deg,#1e3c72,#2a5298);border-radius:2px;transition:width .3s ease}.notification-progress span{font-size:.7rem;color:#666;font-weight:500}.status-pending{color:#ffc107;font-size:1.2rem}.status-success{color:#28a745;font-size:1.2rem}.status-error{color:#dc3545;font-size:1.2rem;cursor:help}.notification-more-items{text-align:center;padding:10px 0;color:#666;font-size:.8rem;font-style:italic}.upload-notification-actions{padding:10px 15px;background:#f8f9fa;border-top:1px solid #e1e5e9;display:flex;gap:8px}.clear-queue-btn,.process-users-btn{flex:1;padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.clear-queue-btn{background:#6c757d;color:#fff}.clear-queue-btn:hover{background:#5a6268}.process-users-btn{background:#28a745;color:#fff}.process-users-btn:hover{background:#218838}.process-users-btn:disabled{background:#6c757d;cursor:not-allowed}.auto-processing-notice{flex:1;text-align:center;padding:6px 10px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:.8rem;font-weight:500;border:1px solid #bbdefb;display:flex;flex-direction:column;gap:2px}.auto-processing-notice small{font-size:.7rem;opacity:.8;font-weight:400}.completion-notice{flex:1;text-align:center;padding:8px 12px;background:#28a7451a;color:#28a745;border-radius:4px;font-size:.8rem;font-weight:500;border:1px solid rgba(40,167,69,.3);display:flex;flex-direction:column;gap:2px}.completion-notice small{font-size:.7rem;opacity:.8;font-weight:400}.albums-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:25px;background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 8px #00000014}.albums-header h2{margin:0;color:#2c3e50;font-size:1.8rem;font-weight:600}.create-btn{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #007bff33}.create-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.albums-list{display:grid;gap:20px}.album-card{background:#fff;border:1px solid #e1e5e9;border-radius:20px;padding:0;margin-bottom:0;box-shadow:0 4px 16px #00000014;transition:all .4s ease;position:relative;overflow:hidden}.album-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026;border-color:#007bff}.album-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#007bff,#17a2b8,#6f42c1,#007bff);background-size:300% 100%;animation:gradientShift 4s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.album-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px 24px;border-bottom:2px solid #f8f9fa;background:linear-gradient(135deg,#f8f9fa,#fff);position:relative}.album-header:after{content:"";position:absolute;bottom:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,#e9ecef,transparent)}.album-header h3{color:#2c3e50;margin:0;font-size:1.8rem;font-weight:800;position:relative;letter-spacing:-.5px}.album-header h3:after{content:"";position:absolute;bottom:-10px;left:0;width:80px;height:4px;background:linear-gradient(90deg,#007bff,#17a2b8);border-radius:2px;box-shadow:0 2px 8px #007bff4d}.album-status{display:flex;align-items:center}.album-content{padding:28px 32px 32px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}.album-details{display:flex;flex-direction:column;gap:18px}.detail-row{display:flex;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#f8f9facc,#ffffffe6);border-radius:12px;border-left:4px solid transparent;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.detail-row:hover{background:linear-gradient(135deg,#007bff14,#17a2b814);border-left-color:#007bff;transform:translate(6px);box-shadow:0 4px 16px #007bff26}.detail-label{color:#495057;font-weight:700;margin-right:20px;min-width:130px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.detail-value{color:#6c757d;font-size:15px;font-weight:500;flex:1}.album-actions{display:flex;flex-direction:column;gap:14px;min-width:160px;background:linear-gradient(135deg,#f8f9fae6,#fffffff2);padding:24px;border-radius:16px;border:1px solid #e9ecef;box-shadow:0 4px 16px #00000014;position:relative}.album-actions:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#007bff,#17a2b8);border-radius:16px 16px 0 0}.action-btn{padding:14px 22px;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.action-btn:hover:before{left:100%}.action-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000040}.view-btn{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff}.view-btn:hover{background:linear-gradient(135deg,#138496,#117a8b)}.edit-btn{background:linear-gradient(135deg,#ffc107,#e0a800);color:#212529}.edit-btn:hover{background:linear-gradient(135deg,#e0a800,#d39e00)}.qr-btn{background:linear-gradient(135deg,#6f42c1,#5a32a3);color:#fff}.qr-btn:hover{background:linear-gradient(135deg,#5a32a3,#4c2889)}.pdf-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.pdf-btn:hover{background:linear-gradient(135deg,#c82333,#bd2130)}.pdf-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);cursor:not-allowed;opacity:.6}.pdf-btn:disabled:hover{transform:none;box-shadow:none}.toggle-status-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.toggle-status-btn:hover{background:linear-gradient(135deg,#c82333,#bd2130)}.delete-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.delete-btn:hover{background:linear-gradient(135deg,#c82333,#bd2130)}@media (max-width: 1200px){.album-content{gap:30px;padding:24px 28px 28px}.album-header{padding:24px 28px 20px}.album-header h3{font-size:1.6rem}}@media (max-width: 992px){.album-content{grid-template-columns:1fr;gap:24px;padding:20px 24px 24px}.album-actions{min-width:auto;flex-direction:row;flex-wrap:wrap;justify-content:center}.action-btn{min-width:140px;width:auto;flex:1}.album-header{padding:20px 24px 16px}.album-header h3{font-size:1.5rem}}@media (max-width: 576px){.albums-header{flex-direction:column;gap:16px;text-align:center;padding:20px}.albums-header h2{font-size:1.5rem}.create-btn{padding:12px 20px;font-size:13px}.album-card{margin:0 4px 12px;border-radius:12px}.album-header{padding:16px 16px 12px}.album-header h3{font-size:1.3rem}.album-content{padding:12px 16px 16px}.detail-row{padding:12px}.detail-label{font-size:13px}.detail-value{font-size:14px}.album-actions{padding:16px;gap:10px}.action-btn{padding:10px 16px;font-size:12px;min-width:100px}}@media (max-width: 1200px){.admin-content{max-width:100%;padding:15px}.admin-sidebar{width:250px}.admin-main{max-width:calc(100vw - 280px)}.admin-header-content{padding:0 15px;gap:15px}.brand-logo{min-width:100px}.brand-image{width:70px}}@media (max-width: 768px){.admin-dashboard-container{position:relative!important;height:100vh!important;width:100vw!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}body{overflow-x:hidden!important}.admin-content{display:flex!important;flex-direction:column!important;height:calc(100vh - 80px)!important;gap:0!important;width:100%!important}.admin-sidebar{display:flex!important;width:100%!important;height:60px!important;border-right:none!important;border-bottom:1px solid #e1e5e9!important;flex-shrink:0!important;background:#f8f9fa!important;overflow:hidden!important;border-top:2px solid #007bff!important}.admin-main{display:flex!important;flex:1!important;overflow-y:auto!important;height:calc(100vh - 140px)!important;background:#fff!important;width:100%!important}.sidebar-nav{display:flex!important;overflow-x:auto!important;padding:8px 0!important;gap:0!important;height:100%!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important}.sidebar-nav-item{flex-shrink:0!important;border-left:none!important;border-bottom:3px solid transparent!important;padding:8px 16px!important;min-width:120px!important;white-space:nowrap!important;background:transparent!important;border:none!important;width:auto!important;text-align:center!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;transition:all .3s ease!important}.sidebar-nav-item:hover{background:#007bff1a!important;color:#007bff!important}.sidebar-nav-item.active{border-left:none!important;border-bottom-color:#007bff!important;background:#007bff26!important;color:#007bff!important;font-weight:600!important}.sidebar-nav-text{font-size:12px!important;display:block!important}.sidebar-nav-icon{font-size:1rem!important;width:16px!important}.users-table table{min-width:700px!important}.admin-top-nav,.admin-nav{display:none!important}.users-controls{flex-direction:column;align-items:stretch;gap:15px}.pagination-controls{flex-direction:column;gap:15px;padding:15px 0}.pagination-info{order:-1;margin-bottom:10px;flex-direction:column;gap:10px;text-align:center}.page-jump{flex-direction:column;gap:8px}.users-table table{min-width:800px;font-size:.85rem}.create-album-form,.edit-album-form{padding:16px}.create-album-form .form-container,.edit-album-form .form-container{padding:24px;max-width:100%;border-radius:16px}.create-album-form h3,.edit-album-form h3{font-size:1.5rem;margin-bottom:24px}.form-group{margin-bottom:20px}.create-album-form .form-buttons,.edit-album-form .form-buttons{flex-direction:column;gap:12px}.create-album-form .action-btn,.edit-album-form .action-btn{width:100%;min-width:auto}.upload-notification{width:calc(100vw - 40px);right:20px;left:20px}.upload-notification-actions{flex-direction:column}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.album-card{flex-direction:column;align-items:flex-start;gap:15px}.users-table{font-size:.9rem}.users-table th,.users-table td{padding:8px}.photos-header{flex-direction:column;align-items:flex-start}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:10px!important;padding:10px!important}.photo-item{aspect-ratio:1!important;min-height:150px!important}.albums-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:20px!important}.album-card{flex-direction:column!important;align-items:flex-start!important;padding:20px!important;gap:15px!important}.album-actions{width:100%!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:10px!important}.upload-modal{width:95%;margin:20px}.upload-item{flex-direction:column;align-items:flex-start;gap:10px}.upload-item-status{width:100%;justify-content:flex-start}.upload-item-progress{min-width:auto;width:100%}.progress-bar{width:100%}.navbar-container{padding:1rem;gap:1rem;flex-direction:column;text-align:center}.navbar-left,.navbar-center,.navbar-right{flex:none;width:100%}.navbar-left{order:1}.navbar-center{order:2}.navbar-right{order:3;justify-content:center}.welcome-title{font-size:1.4rem}.welcome-message{font-size:.9rem}.logo-image{width:70px;height:70px}.logo-text{font-size:1.6rem}.user-profile{padding:.6rem 1rem}.user-avatar{width:40px;height:40px}.avatar-text{font-size:1.1rem}.album-card{border-radius:16px;margin:0 8px 16px}.album-header{flex-direction:column;gap:16px;text-align:center;padding:20px 20px 16px}.album-header h3{font-size:1.4rem}.album-header h3:after{left:50%;transform:translate(-50%)}.album-content{padding:16px 20px 20px}.detail-row{flex-direction:column;align-items:flex-start;gap:8px;padding:16px}.detail-label{min-width:auto;margin-right:0;margin-bottom:4px}.album-actions{padding:20px;gap:12px}.action-btn{padding:12px 18px;font-size:13px;min-width:120px}}@media (max-width: 480px){.admin-dashboard-container{position:relative!important;height:100vh!important;width:100vw!important;overflow:hidden!important}.admin-navbar{padding:.1rem 0!important;min-height:40px!important}.navbar-container{padding:.2rem .3rem!important;gap:.1rem!important;flex-direction:row!important;align-items:center!important}.navbar-left{flex:1!important;min-width:0!important}.navbar-center{flex:0 0 auto!important;order:2!important}.navbar-right{flex:1!important;justify-content:flex-end!important;order:3!important}.welcome-title{font-size:.8rem!important;margin:0!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.welcome-message{display:none!important}.logo-image{width:25px!important;height:25px!important}.logo-text{display:none!important}.user-profile{padding:.1rem .2rem!important;gap:.1rem!important;flex-direction:row!important}.user-avatar{width:18px!important;height:18px!important}.avatar-text{font-size:.7rem!important}.user-details,.user-name,.user-role{display:none!important}.sign-out-btn{padding:.1rem .2rem!important;font-size:.6rem!important;min-width:auto!important}.sign-out-text{display:none!important}.admin-content{height:calc(100vh - 50px)!important}.admin-sidebar{height:45px!important}.admin-main{height:calc(100vh - 95px)!important}.sidebar-nav{padding:5px 0!important;height:100%!important;align-items:center!important}.sidebar-nav-item{padding:6px 12px!important;min-width:80px!important;font-size:.8rem!important}.sidebar-nav-text{font-size:10px!important;display:none!important}.sidebar-nav-icon{font-size:1.2rem!important;width:24px!important}.admin-main-content,.albums-tab{padding:5px!important}.albums-list{grid-template-columns:1fr!important;gap:8px!important}.album-card{flex-direction:column!important;align-items:flex-start!important;padding:10px!important;gap:8px!important;margin-bottom:10px!important}.album-info{width:100%!important}.album-info h3{font-size:1rem!important;margin-bottom:4px!important;line-height:1.2!important}.album-info p{font-size:.75rem!important;margin-bottom:2px!important;line-height:1.3!important}.album-actions{width:100%!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:6px!important;margin-top:5px!important}.action-btn{flex:1!important;min-width:70px!important;padding:6px 8px!important;font-size:.7rem!important;text-align:center!important}.action-btn.small{padding:4px 6px!important;font-size:.65rem!important}.photos-tab{padding:10px!important}.photos-header{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.photos-info{margin:10px 0!important}.photo-stats{flex-direction:column!important;gap:10px!important}.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:8px!important;padding:5px!important;max-height:calc(100vh - 200px)!important}.photo-item{aspect-ratio:1!important;min-height:120px!important}.photo-image{border-radius:8px!important}.photo-info-overlay{padding:8px!important}.photo-details h4{font-size:10px!important}.photo-details p{font-size:8px!important}.photo-actions-overlay{gap:4px!important;margin-top:4px!important}.photo-action-btn{padding:4px 6px!important;font-size:10px!important}.users-table table{min-width:800px;font-size:.8rem}.users-table th,.users-table td{padding:8px 6px}.users-table th{font-size:12px;font-weight:600}.stats-grid{grid-template-columns:1fr;gap:10px}.stat-card{padding:15px}.stat-icon{width:40px;height:40px;font-size:1.2rem}.stat-content h3{font-size:1.5rem}.album-card{margin:0 4px 12px;border-radius:12px}.album-header{padding:16px 16px 12px}.album-header h3{font-size:1.3rem}.album-content{padding:12px 16px 16px}.detail-row{padding:12px}.detail-label{font-size:13px}.detail-value{font-size:14px}.album-actions{padding:16px;gap:10px}.action-btn{padding:10px 16px;font-size:12px;min-width:100px}.sidebar-nav-item{min-height:44px;display:flex;align-items:center;justify-content:center}.action-btn{min-height:44px}.admin-main,.admin-sidebar{-webkit-overflow-scrolling:touch}.admin-main::-webkit-scrollbar,.admin-sidebar::-webkit-scrollbar{width:0px;background:transparent}.admin-header-content{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:15px;padding:15px;text-align:center}.brand-logo{grid-column:1;grid-row:1;order:1}.admin-info{grid-column:1;grid-row:2;order:2;justify-self:center}.signout-btn{grid-column:1;grid-row:3;order:3;justify-self:center}.admin-details h2{font-size:1.5rem}.admin-details p{font-size:.9rem}}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e1e5e9}.overview-header h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.refresh-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:6px}.refresh-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.refresh-btn:active{transform:translateY(0)}.rates-section{margin-top:30px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:1px solid #e1e5e9}.rates-section h3{margin:0 0 20px;color:#333;font-size:1.4rem;font-weight:600;text-align:center}.rates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.rate-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:15px;transition:transform .2s ease,box-shadow .2s ease}.rate-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.rate-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff}.rate-content h4{margin:0 0 5px;font-size:1.8rem;font-weight:700;color:#333}.rate-content p{margin:0;color:#666;font-size:.9rem;font-weight:500}.activity-section{margin-top:30px;padding:20px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;border:1px solid #90caf9}.activity-section h3{margin:0 0 20px;color:#1565c0;font-size:1.4rem;font-weight:600;text-align:center}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.activity-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:15px;transition:transform .2s ease,box-shadow .2s ease}.activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.activity-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:50%;color:#fff}.activity-content h4{margin:0 0 5px;font-size:1.8rem;font-weight:700;color:#333}.activity-content p{margin:0;color:#666;font-size:.9rem;font-weight:500}@media (max-width: 480px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:6px!important;padding:10px!important}}@media (min-width: 481px) and (max-width: 767px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:6px!important;padding:10px!important}}@media (min-width: 768px) and (max-width: 1023px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:8px!important;padding:10px!important}}@media (min-width: 1024px) and (max-width: 1439px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:10px!important;padding:10px!important}}@media (min-width: 1440px){.google-photos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:12px!important;padding:10px!important}}.photo-item{position:relative!important;display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;background:#f8f9fa!important;border:1px solid #e1e5e9!important;box-shadow:0 2px 4px #0000001a!important;border-radius:8px!important;overflow:hidden!important;cursor:pointer!important;transition:transform .2s ease,opacity .2s ease!important;aspect-ratio:1!important;min-height:200px!important;max-height:300px!important}.photo-item:hover{transform:scale(1.02)!important;opacity:.9!important;z-index:10!important}.photo-container{position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important;border-radius:8px!important}.photo-image{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:opacity .3s ease-in-out!important;background:transparent!important;position:absolute!important;top:0!important;left:0!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;box-shadow:0 2px 8px #0000001a!important;border-radius:8px!important;opacity:0}.photo-image.loaded{opacity:1}.photo-item:hover .photo-image{transform:scale(1.05)!important}.photo-info-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:20px 10px 10px;opacity:0;transition:opacity .3s ease;pointer-events:none}.photo-item:hover .photo-info-overlay{opacity:1;pointer-events:auto}.photo-details h4{margin:0 0 5px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-details p{margin:2px 0;font-size:10px;opacity:.9}.faces-detected{color:#4ade80!important;font-weight:500}.photo-actions-overlay{display:flex;gap:8px;margin-top:8px;justify-content:center}.action-btn-overlay{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-btn-overlay:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.action-btn-overlay.view-btn:hover{background:#3b82f6cc;border-color:#3b82f6}.action-btn-overlay.delete-btn:hover{background:#ef4444cc;border-color:#ef4444}.photo-image[src=""],.photo-image:not([src]),.photo-item:has(.photo-image[src=""]),.photo-item:has(.photo-image:not([src])){display:none!important}.photo-image{opacity:0;transition:opacity .3s ease!important}.photo-image.loaded{opacity:1!important}.photo-item:has(.photo-image[style*="display: none"]){display:none!important}.photo-item{display:block!important}.photo-item.deleting{position:relative;opacity:.6;pointer-events:none}.photo-deleting-overlay{position:absolute;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:100;border-radius:8px}.deleting-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}.photo-deleting-overlay p{margin:0;font-size:14px;font-weight:600;text-align:center}.action-btn-overlay:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;animation:slideInRight .3s ease-out}.toast-content{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#fff;box-shadow:0 4px 12px #00000026;border:2px solid #e5e7eb;max-width:400px;word-wrap:break-word}.toast-container.success .toast-content{border-color:#86efac;background:#f0fdf4}.toast-container.error .toast-content{border-color:#fecaca;background:#fef2f2}.toast-container.warning .toast-content{border-color:#fed7aa;background:#fffbeb}.toast-icon{font-size:18px}.toast-text{font-size:14px;font-weight:500;color:#374151;margin:0}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.toast-container{right:10px;left:10px;max-width:none}.toast-content{padding:10px 14px}.toast-text{font-size:13px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-container p{color:#666;font-size:16px;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-state h3{color:#333;font-size:24px;margin:0 0 10px}.empty-state p{color:#666;font-size:16px;margin:0}.loading-indicator{display:inline-block;margin-left:8px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.small-loader{display:inline-block;width:12px;height:12px;border:2px solid #f3f3f3;border-top:2px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-left:6px;vertical-align:middle}.qr-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.qr-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:qrModalSlideIn .3s ease-out}@keyframes qrModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.qr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.qr-modal-header h3{margin:0;font-size:1.4rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.qr-modal-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.qr-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.qr-modal-body{padding:24px}.qr-modal-generator{margin:0;border:none;background:transparent;box-shadow:none;padding:0}@media (max-width: 768px){.qr-modal-overlay{padding:10px}.qr-modal-content{max-width:100%;border-radius:12px}.qr-modal-header{padding:16px 20px;border-radius:12px 12px 0 0}.qr-modal-header h3{font-size:1.2rem}.qr-modal-body{padding:20px}}@media (max-width: 480px){.qr-modal-overlay{padding:5px}.qr-modal-header{padding:12px 16px}.qr-modal-header h3{font-size:1.1rem}.qr-modal-body{padding:16px}}.loading-more-photos{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:#666;font-size:14px}.load-more-photos{display:flex;justify-content:center;padding:20px}.load-more-btn{background:#1e3c72;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.load-more-btn:hover{background:#2c5282;transform:translateY(-2px);box-shadow:0 4px 12px #1e3c724d}.photos-pagination-info{text-align:center;padding:15px;color:#666;font-size:14px;background:#f8f9fa;border-top:1px solid #e9ecef;margin-top:10px}.google-photos-grid{max-height:70vh;overflow-y:auto;padding:10px;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:8px!important;margin:0!important;width:100%!important;box-sizing:border-box!important;align-items:start!important;justify-items:stretch!important;min-height:200px!important;background:#f8f9fa!important;border-radius:8px!important}.google-photos-grid::-webkit-scrollbar{width:8px}.google-photos-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.google-photos-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.google-photos-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.admin-dashboard-container{display:flex!important;flex-direction:column!important;height:100vh!important;width:100%!important;position:relative!important;overflow:hidden!important;inset:0!important}.admin-content{display:flex!important;flex-direction:column!important;height:calc(100vh - 80px)!important;width:100%!important;gap:0!important}.admin-sidebar{display:flex!important;width:100%!important;height:60px!important;border-right:none!important;border-bottom:1px solid #e1e5e9!important;flex-shrink:0!important;background:#f8f9fa!important;overflow:hidden!important;order:1!important}.admin-main{display:flex!important;flex:1!important;width:100%!important;height:calc(100vh - 140px)!important;overflow-y:auto!important;background:#fff!important;order:2!important}.sidebar-nav{display:flex!important;overflow-x:auto!important;padding:8px 0!important;gap:0!important;height:100%!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important}.sidebar-nav-item{flex-shrink:0!important;border-left:none!important;border-bottom:3px solid transparent!important;padding:8px 16px!important;min-width:120px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}.sidebar-nav-item.active{border-left:none!important;border-bottom-color:#007bff!important}.sidebar-nav-icon{font-size:1.2rem!important;width:20px!important;text-align:center!important}.sidebar-nav-text{font-size:12px!important}}@media screen and (max-width: 768px){*{box-sizing:border-box!important}.admin-dashboard-container{position:relative!important;display:flex!important;flex-direction:column!important;height:100vh!important;width:100%!important;max-width:100%!important;overflow:hidden!important;inset:0!important;margin:0!important;padding:0!important}.admin-navbar{position:relative!important;width:100%!important;height:auto!important;min-height:50px!important;padding:.5rem 0!important;flex-shrink:0!important}.navbar-container{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:.5rem 1rem!important;gap:.5rem!important}.navbar-left{flex:1!important;min-width:0!important}.navbar-center{flex:0 0 auto!important}.navbar-right{flex:1!important;display:flex!important;justify-content:flex-end!important}.admin-content{display:flex!important;flex-direction:column!important;width:100%!important;height:calc(100vh - 50px)!important;overflow:hidden!important;flex:1!important}.admin-sidebar{display:flex!important;width:100%!important;height:60px!important;min-height:60px!important;max-height:60px!important;border-right:none!important;border-bottom:1px solid #e1e5e9!important;background:#f8f9fa!important;flex-shrink:0!important;overflow:hidden!important;order:1!important}.admin-main{display:flex!important;flex-direction:column!important;width:100%!important;height:calc(100vh - 110px)!important;overflow-y:auto!important;background:#fff!important;flex:1!important;order:2!important}.admin-main-content{width:100%!important;padding:10px!important}.sidebar-nav{display:flex!important;flex-direction:row!important;width:100%!important;height:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px 0!important;gap:0!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important}.sidebar-nav-item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;min-width:80px!important;height:100%!important;padding:8px 12px!important;border:none!important;border-bottom:3px solid transparent!important;background:transparent!important;color:#666!important;text-decoration:none!important;cursor:pointer!important;transition:all .3s ease!important}.sidebar-nav-item:hover{background:#007bff1a!important;color:#007bff!important}.sidebar-nav-item.active{background:#007bff26!important;color:#007bff!important;border-bottom-color:#007bff!important}.sidebar-nav-icon{font-size:1.2rem!important;margin-bottom:2px!important}.sidebar-nav-text{font-size:10px!important;text-align:center!important;white-space:nowrap!important}}@media (max-width: 768px){.admin-main-content{padding:5px!important;width:100%!important;max-width:100%!important;min-width:100%!important;overflow-x:hidden!important;margin:0!important;box-sizing:border-box!important}.overview-tab{padding:10px!important}.stats-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:20px!important}.stat-card{padding:15px!important;margin:0!important;width:100%!important;max-width:100%!important}.stat-content h3{font-size:1.5rem!important}.stat-content p{font-size:.9rem!important}.albums-tab{padding:5px!important;width:100%!important;max-width:100%!important;margin:0!important}.albums-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.album-card{display:flex!important;flex-direction:column!important;padding:15px!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:100%!important;box-sizing:border-box!important}.album-info{width:100%!important;max-width:100%!important;margin-bottom:15px!important;box-sizing:border-box!important}.album-info h3{font-size:1.2rem!important;margin-bottom:8px!important;word-wrap:break-word!important}.album-info p{font-size:.9rem!important;margin-bottom:4px!important;word-wrap:break-word!important}.album-actions{width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;gap:10px!important;box-sizing:border-box!important}.action-btn{width:100%!important;max-width:100%!important;padding:12px!important;font-size:.9rem!important;text-align:center!important;box-sizing:border-box!important}.users-tab{padding:10px!important}.users-table-container{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.users-table{width:100%!important;min-width:600px!important}.users-table table{width:100%!important;min-width:600px!important;font-size:.8rem!important}.users-table th,.users-table td{padding:8px 4px!important;font-size:.8rem!important}.photos-tab{padding:10px!important}.google-photos-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:8px!important;padding:10px!important}.photo-item{width:100%!important;aspect-ratio:1!important}.admin-dashboard-container{display:block!important;width:100%!important;max-width:100%!important;min-width:100%!important;height:100vh!important;position:relative!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow-y:auto!important}.admin-content{display:block!important;width:100%!important;max-width:100%!important;min-width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important;height:auto!important;min-height:100vh!important}.admin-sidebar{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;position:relative!important;border-right:none!important;border-bottom:1px solid #ccc!important;margin:0!important;padding:0!important;box-sizing:border-box!important}.admin-main{display:block!important;width:100%!important;max-width:100%!important;min-width:100%!important;height:auto!important;min-height:calc(100vh - 100px)!important;position:relative!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow-y:auto!important}.sidebar-nav{display:flex!important;flex-direction:row!important;overflow-x:auto!important;padding:10px!important;gap:10px!important}.sidebar-nav-item{display:flex!important;flex-direction:column!important;align-items:center!important;padding:10px!important;min-width:80px!important;border:1px solid #ddd!important;border-radius:5px!important;background:#fff!important;text-decoration:none!important;color:#333!important}.sidebar-nav-item.active{background:#007bff!important;color:#fff!important}.sidebar-nav-icon{font-size:20px!important;margin-bottom:5px!important}.sidebar-nav-text{font-size:12px!important;text-align:center!important}}.qr-generator-container{display:flex;flex-direction:column;align-items:center;padding:20px;border:1px solid #e0e0e0;border-radius:12px;background:#f9f9f9;box-shadow:0 2px 8px #0000001a;max-width:100%;margin:0 auto}.qr-no-data{text-align:center;color:#666;padding:20px;font-style:italic}.qr-loading{text-align:center;color:#666;padding:20px}.qr-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qr-error{text-align:center;color:#d32f2f;background:#ffebee;padding:15px;border-radius:8px;border:1px solid #ffcdd2;margin:10px 0}.qr-code-display{text-align:center;width:100%}.qr-image-container{margin:15px 0;padding:10px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:inline-block}.qr-image{max-width:100%;height:auto;border-radius:4px}.qr-actions{margin:20px 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.qr-download-btn,.qr-refresh-btn,.qr-copy-btn,.qr-retry-btn{padding:10px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .2s ease;min-width:100px;justify-content:center}.qr-download-btn{background:#1976d2;color:#fff}.qr-download-btn:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 4px 8px #1976d24d}.qr-refresh-btn{background:#757575;color:#fff}.qr-refresh-btn:hover{background:#616161;transform:translateY(-1px);box-shadow:0 4px 8px #7575754d}.qr-copy-btn{background:#4caf50;color:#fff}.qr-copy-btn:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.qr-retry-btn{background:#ff9800;color:#fff}.qr-retry-btn:hover{background:#f57c00;transform:translateY(-1px);box-shadow:0 4px 8px #ff98004d}.qr-icon{font-size:16px}.qr-info{margin-top:20px;text-align:left;font-size:14px;color:#333;background:#fff;padding:20px;border-radius:8px;border:1px solid #e0e0e0;width:100%;box-sizing:border-box}.qr-info h4{margin:0 0 15px;color:#2c3e50;font-size:16px;text-align:center}.qr-info-item{display:flex;justify-content:space-between;align-items:flex-start;margin:10px 0;padding:8px 0;border-bottom:1px solid #f0f0f0}.qr-info-item:last-child{border-bottom:none}.qr-info-item strong{color:#555;min-width:100px;flex-shrink:0}.qr-info-item span{color:#333;word-break:break-all;text-align:right;flex:1;margin-left:10px}.qr-url{font-family:Courier New,monospace;font-size:12px;background:#f5f5f5;padding:4px 6px;border-radius:4px;border:1px solid #ddd}@media (max-width: 768px){.qr-generator-container{padding:15px;margin:10px}.qr-actions{flex-direction:column;align-items:center}.qr-download-btn,.qr-refresh-btn,.qr-copy-btn,.qr-retry-btn{width:100%;max-width:200px}.qr-info-item{flex-direction:column;align-items:flex-start}.qr-info-item span{text-align:left;margin-left:0;margin-top:4px}}@media (max-width: 480px){.qr-generator-container{padding:10px;margin:5px}.qr-info{padding:15px;font-size:13px}.qr-info h4{font-size:15px}}.qr-generator-container{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.qr-download-btn:active,.qr-refresh-btn:active,.qr-copy-btn:active,.qr-retry-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.qr-download-btn:focus,.qr-refresh-btn:focus,.qr-copy-btn:focus,.qr-retry-btn:focus{outline:2px solid #3498db;outline-offset:2px}.no-album-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.no-album-card{background:#fff;border-radius:20px;padding:40px;text-align:center;box-shadow:0 20px 40px #0000001a;max-width:500px;width:100%}.no-album-icon{font-size:4rem;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.no-album-card h1{color:#333;margin:0 0 15px;font-size:2rem;font-weight:700}.no-album-card>p{color:#666;font-size:1.1rem;margin:0 0 30px;line-height:1.6}.album-url-example{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;padding:20px;margin:20px 0;text-align:left}.album-url-example h3{color:#333;margin:0 0 10px;font-size:1.1rem;font-weight:600}.album-url-example code{background:#e9ecef;color:#495057;padding:8px 12px;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;display:block;word-break:break-all}.album-instructions{text-align:left;margin:20px 0}.album-instructions h3{color:#333;margin:0 0 15px;font-size:1.1rem;font-weight:600}.album-instructions ul{list-style:none;padding:0;margin:0}.album-instructions li{color:#666;padding:8px 0;font-size:1rem;line-height:1.5}.contact-info{margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.contact-info p{color:#666;font-size:.95rem;margin:0;font-style:italic}@media (max-width: 768px){.no-album-container{padding:15px}.no-album-card{padding:30px 20px}.no-album-card h1{font-size:1.5rem}.no-album-card>p{font-size:1rem}.album-url-example code{font-size:.8rem}}@media (max-width: 480px){.no-album-card{padding:25px 15px}.no-album-icon{font-size:3rem}.no-album-card h1{font-size:1.3rem}}.privacy-policy-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.privacy-policy-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:800px;position:relative;overflow:hidden;margin:0 auto;max-height:90vh;overflow-y:auto}.privacy-policy-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.privacy-header{text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.brand-logo{margin-bottom:20px}.brand-image{width:80px;height:80px;border-radius:12px;object-fit:cover;box-shadow:0 4px 12px #0000001a}.privacy-header h1{color:#2d3748;font-size:32px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:#718096;font-size:16px;font-weight:500;margin:0}.privacy-content{line-height:1.6;color:#4a5568}.privacy-section{margin-bottom:30px}.privacy-section h2{color:#2d3748;font-size:20px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.privacy-section p{margin:0 0 16px;font-size:15px;line-height:1.6}.contact-link{color:#667eea;text-decoration:none;font-weight:500;transition:color .3s ease}.contact-link:hover{color:#764ba2;text-decoration:underline}.privacy-footer{margin-top:40px;padding-top:20px;border-top:2px solid #f0f0f0;text-align:center}.last-updated{color:#718096;font-size:14px;margin:0 0 8px;font-weight:500}.version{color:#a0aec0;font-size:12px;margin:0}.privacy-actions{margin-top:30px;text-align:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:active{transform:translateY(0)}@media (max-width: 768px){.privacy-policy-container{padding:10px}.privacy-policy-card{padding:20px;max-height:95vh}.privacy-header h1{font-size:24px}.subtitle{font-size:14px}.privacy-section h2{font-size:18px}.privacy-section p{font-size:14px}.brand-image{width:60px;height:60px}}@media (max-width: 480px){.privacy-policy-card{padding:15px}.privacy-header h1{font-size:20px}.privacy-section h2{font-size:16px}.btn-primary{padding:10px 24px;font-size:14px}}.App{width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden}@media screen and (max-width: 768px){.App{width:100%!important;min-height:100vh!important;margin:0!important;padding:0!important;overflow-x:hidden!important;max-width:100%!important}html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;margin:0!important;padding:0!important}#root{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}}.hidden-admin-access{position:fixed;top:10px;left:10px;color:transparent;font-size:12px;cursor:pointer;z-index:1001;-webkit-user-select:none;user-select:none;transition:color .3s ease}.hidden-admin-access:hover{color:#1e3c724d}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{width:100%;min-height:100vh;margin:0;padding:0}
