body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.home-content{max-width:1200px;width:100%}.hero-section{animation:fadeIn .8s ease-in;margin-bottom:4rem;text-align:center}.home-logo{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));height:150px;margin-bottom:1.5rem;object-fit:contain;width:150px}.home-title{color:#fff;font-size:4rem;font-weight:800;margin:0 0 1rem;text-shadow:2px 2px 4px #0003}.home-subtitle{color:#ffffffe6;font-size:1.5rem;margin:0}.features-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:4rem}.feature-card{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;padding:2.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-8px)}.feature-icon{font-size:4rem;margin-bottom:1rem}.feature-card h3{color:#333;font-size:1.5rem;margin:0 0 1rem}.feature-card p{color:#666;line-height:1.6;margin:0 0 1.5rem}.feature-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;max-width:250px;padding:.875rem 2rem;transition:all .3s ease;width:100%}.feature-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.feature-button.primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:scale(1.05)}.feature-button.secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.feature-button.secondary:hover{background:linear-gradient(135deg,#f5576c,#f093fb);transform:scale(1.05)}.feature-button.admin{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.feature-button.admin:hover{background:linear-gradient(135deg,#00f2fe,#4facfe);transform:scale(1.05)}.info-section{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;margin-bottom:2rem;padding:3rem}.info-section h2{color:#333;font-size:2.5rem;margin:0 0 2.5rem;text-align:center}.steps-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.step-item{text-align:center}.step-number{background:linear-gradient(135deg,#667eea,#764ba2);display:inline-flex;font-size:1.75rem;height:60px;margin-bottom:1rem;width:60px}.step-item h4{color:#333;font-size:1.25rem;margin:0 0 .5rem}.step-item p{color:#666;line-height:1.6;margin:0}.home-footer{color:#fffc;font-size:.875rem;padding:2rem 0;text-align:center}.home-footer p{margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.home-title{font-size:2.5rem}.home-subtitle{font-size:1.125rem}.features-section{grid-template-columns:1fr}.info-section{padding:2rem 1.5rem}.info-section h2{font-size:2rem}.steps-grid{grid-template-columns:1fr}}.landing-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.landing-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:40px;width:100%}.logo-section{margin-bottom:20px;text-align:center}.landing-logo{height:80px;object-fit:contain;width:auto}.title{color:#333;font-size:2.5rem;margin-bottom:30px;text-align:center}.instructions h2{color:#667eea;margin-bottom:20px}.steps{margin-bottom:30px}.step{background:#f8f9fa;border-radius:10px;margin-bottom:15px;padding:15px}.step,.step-number{align-items:center;display:flex}.step-number{background:#667eea;border-radius:50%;color:#fff;flex-shrink:0;font-weight:700;height:40px;justify-content:center;margin-right:15px;width:40px}.step p{color:#555;margin:0}.timing-info{background:#e8f4f8;border-radius:10px;margin-bottom:30px;padding:20px}.timing-info h3{color:#333;margin-bottom:10px}.timing-info ul{list-style:none;padding:0}.timing-info li{color:#555;padding:5px 0}.start-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:transform .3s ease;width:100%}.start-button:hover{box-shadow:0 10px 20px #667eea66;transform:translateY(-2px)}.logout-button{background:#dc3545;border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:15px;padding:12px 30px;transition:all .3s ease;width:100%}.logout-button:hover{background:#c82333;box-shadow:0 10px 20px #dc354566;transform:translateY(-2px)}.camera-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh;padding:20px}.camera-header{color:#fff;margin-bottom:20px;text-align:center}.camera-header h2{font-size:2rem;margin-bottom:10px}.photo-progress{font-size:1.2rem;opacity:.9}.camera-view{aspect-ratio:3/2;background:#000;border-radius:15px;box-shadow:0 20px 60px #0000004d;max-width:900px;overflow:hidden;position:relative;width:100%}.video-feed{height:100%;object-fit:cover;width:100%}.countdown-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.countdown-number{animation:pulse 1s ease-in-out;color:#fff;font-size:8rem;font-weight:700}@keyframes pulse{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.preview-strip{background:#ffffff1a;border-radius:15px;display:flex;gap:15px;justify-content:center;margin-top:20px;padding:20px}.preview-thumbnail{border:3px solid #fff;border-radius:10px;box-shadow:0 5px 15px #0000004d;height:150px;object-fit:cover;width:150px}.controls{margin-top:30px}.capture-button{background:#fff;border:none;border-radius:50px;color:#667eea;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 40px;transition:transform .3s ease}.capture-button:hover{box-shadow:0 10px 20px #ffffff4d;transform:translateY(-2px)}.action-buttons{display:flex;gap:20px}.retake-button,.save-button{border:none;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 30px;transition:transform .3s ease}.retake-button{background:#fff3;border:2px solid #fff;color:#fff}.save-button{background:#fff;color:#667eea}.retake-button:hover,.save-button:hover{box-shadow:0 10px 20px #0003;transform:translateY(-2px)}.capturing-status{color:#fff;font-size:1.2rem;padding:20px;text-align:center}.frame-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.print-frame{aspect-ratio:2/3;background:#0000;border:3px solid #ffffffe6;border-radius:15px;box-shadow:0 0 0 9999px #0006;max-width:400px;position:relative;width:70%}.frame-corner{border:4px solid #fff;height:30px;position:absolute;width:30px}.frame-corner.top-left{border-bottom:none;border-right:none;border-top-left-radius:15px;left:-4px;top:-4px}.frame-corner.top-right{border-bottom:none;border-left:none;border-top-right-radius:15px;right:-4px;top:-4px}.frame-corner.bottom-left{border-bottom-left-radius:15px;border-right:none;border-top:none;bottom:-4px;left:-4px}.frame-corner.bottom-right{border-bottom-right-radius:15px;border-left:none;border-top:none;bottom:-4px;right:-4px}.frame-text{background:#000000b3;border-radius:15px;color:#fff;font-size:.9rem;font-weight:600;left:50%;padding:5px 12px;position:absolute;top:-35px;transform:translateX(-50%);white-space:nowrap}.square-frame-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.frame-border{animation:framePulse 2s ease-in-out infinite;aspect-ratio:1/1;background:#0000;border:4px dashed #ffffffb3;border-radius:20px;box-shadow:0 0 0 9999px #0000004d,inset 0 0 30px #ffffff1a;position:relative;width:min(90%,600px)}@keyframes framePulse{0%,to{border-color:#ffffffb3}50%{border-color:#ffffffe6}}.frame-hint{background:#667eeaf2;border-radius:20px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:1rem;font-weight:600;left:50%;padding:8px 20px;position:absolute;top:-50px;transform:translateX(-50%);white-space:nowrap}@media (max-width:768px){.frame-hint{font-size:.85rem;padding:6px 15px;top:-40px}}.review-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.review-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:1200px;padding:40px;width:100%}.review-content h1{color:#333;margin-bottom:10px;text-align:center}.instruction{color:#666;font-size:1.1rem;margin-bottom:30px;text-align:center}.photo-sets{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:40px}.photo-set{background:#fafafa;border:3px solid #e0e0e0;border-radius:15px;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.photo-set:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-5px)}.photo-set.selected{background:linear-gradient(180deg,#667eea0d,#764ba20d);border-color:#667eea}.photo-set h3{color:#667eea;margin-bottom:15px;text-align:center}.photos-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.review-photo{border:2px solid #e0e0e0;border-radius:8px;height:auto;width:100%}.selected-badge{background:#4caf50;border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:5px 15px;position:absolute;right:10px;top:10px}.review-controls{display:flex;gap:20px;justify-content:center}.finalize-button,.retake-all-button{border:none;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 40px;transition:all .3s ease}.retake-all-button{background:#fff;border:2px solid #667eea;color:#667eea}.finalize-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.finalize-button:disabled{cursor:not-allowed;opacity:.5}.finalize-button:hover:not(:disabled),.retake-all-button:hover:not(:disabled){box-shadow:0 10px 20px #0003;transform:translateY(-2px)}.single-photo-review{align-items:center;display:flex;justify-content:center;margin-bottom:40px;padding:20px;position:relative}.review-preview-canvas{border:5px solid #fff;border-radius:15px;box-shadow:0 10px 40px #0003;height:auto;max-width:100%}.rendering-overlay{background:#fffffff2;border-radius:10px;box-shadow:0 4px 12px #00000026;color:#667eea;font-weight:700;left:50%;padding:20px 40px;position:absolute;top:50%;transform:translate(-50%,-50%)}.review-single-photo{border:5px solid #fff;border-radius:15px;box-shadow:0 10px 40px #0003;height:auto;max-width:500px;width:100%}.template-selector{margin:30px 0}.template-selector h3{color:#333;margin-bottom:20px}.template-grid{grid-gap:15px;gap:15px}.template-option{border-radius:12px;font-weight:600;gap:5px;padding:20px}.template-option:hover{box-shadow:0 8px 20px #0003}.template-option.active{border-color:#333;box-shadow:0 0 0 3px #667eea4d}.template-desc{font-size:.85rem}.download-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.download-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:1000px;padding:40px;width:100%}.download-content h1{color:#333;font-size:2.5rem;margin-bottom:20px;text-align:center}.template-selector{margin-bottom:30px}.template-selector h3{color:#667eea;font-size:1.3rem;margin-bottom:15px;text-align:center}.template-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.template-option{align-items:center;border:3px solid #0000;border-radius:15px;color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:80px;padding:15px;text-shadow:1px 1px 2px #00000080;transition:all .3s ease}.template-option:hover{box-shadow:0 8px 25px #0003;transform:translateY(-3px)}.template-option.active{border-color:#fff;box-shadow:0 10px 30px #667eea66;transform:scale(1.05)}.template-name{font-size:1.1rem;font-weight:700;margin-bottom:5px}.template-desc{font-size:.9rem;opacity:.9;text-align:center}.format-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.tab{background:#f0f0f0;border:none;border-radius:25px;cursor:pointer;font-size:1rem;padding:12px 30px;transition:all .3s ease}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:scale(1.05)}.tab:hover{transform:translateY(-2px)}.preview-section{margin-bottom:30px;text-align:center}.preview-label{color:#666;font-size:1.1rem;font-weight:500;margin-bottom:15px}.preview-container{align-items:center;background:#f8f9fa;border-radius:15px;display:flex;justify-content:center;min-height:300px;padding:20px}.preview-canvas{border:3px solid #667eea;border-radius:10px;box-shadow:0 10px 30px #0003;display:none;height:auto;max-width:100%}.preview-canvas.visible{display:block}.actions{text-align:center}.download-options{align-items:center;display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.download-btn{border:none;border-radius:50px;cursor:pointer;display:block;font-size:1.2rem;font-weight:700;margin:0 auto 20px;max-width:400px;padding:15px 30px;transition:all .3s ease;width:100%}.download-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.download-btn:hover:not(:disabled){box-shadow:0 15px 35px #667eea66;transform:translateY(-3px)}.download-btn:disabled{cursor:not-allowed;opacity:.5}.button-group{display:flex;gap:20px;justify-content:center;margin:20px 0}.new-session-btn,.retake-btn{background:#fff;border:2px solid #667eea;border-radius:50px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 30px;transition:all .3s ease}.new-session-btn:hover,.retake-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.qr-container{background:#f8f9fa;border-radius:15px;margin-top:30px;padding:20px;text-align:center}.qr-container p{color:#666;font-size:1rem;margin-bottom:15px}.qr-code{background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;height:180px;padding:10px;width:180px}.share-section{text-align:center}.share-section h3{color:#333;font-size:1.5rem;margin-bottom:20px}.share-buttons{max-width:800px}@media (max-width:768px){.button-group,.format-tabs{flex-direction:column}.download-content{padding:20px}.preview-container{padding:10px}.share-buttons{gap:12px;grid-template-columns:repeat(2,1fr)}.share-btn{font-size:.85rem;padding:15px 10px}.share-icon{font-size:1.8rem}.share-label{font-size:.75rem}}.super-admin-login{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-container{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#333;font-size:32px;margin:0 0 10px}.login-header p{color:#666;font-size:14px;margin:0}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input{border:1px solid #ddd;border-radius:5px;font-size:16px;padding:12px;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{border-radius:5px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.super-admin-dashboard{background:#f5f7fa;min-height:100vh}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:30px 40px}.header-left h1{font-size:28px;margin:0 0 5px}.header-left p{margin:0;opacity:.9}.logout-btn{background:#fff3;border:2px solid #fff;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .3s}.logout-btn:hover{background:#fff;color:#667eea}.error-banner{align-items:center;background:#fee;border-left:4px solid #c33;color:#c33;display:flex;justify-content:space-between;padding:15px 40px}.error-banner button{background:none;border:none;color:#c33;cursor:pointer;font-size:24px;padding:0 10px}.dashboard-content{margin:0 auto;max-width:1200px;padding:40px 20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:25px}.stat-card h3{color:#666;font-size:14px;font-weight:600;margin:0 0 10px;text-transform:uppercase}.stat-number{color:#667eea;font-size:36px;font-weight:700;margin:0}.create-btn{background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.create-btn:hover{background:#5568d3;transform:translateY(-2px)}.create-form{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr auto}.form-row input{border:1px solid #ddd;border-radius:5px;font-size:16px;padding:12px}.form-row input:focus{border-color:#667eea;outline:none}.submit-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;white-space:nowrap}.submit-btn:hover{background:#218838}.companies-list{display:flex;flex-direction:column;gap:20px}.empty-state{padding:60px}.company-card,.empty-state{background:#fff;border-radius:10px}.company-card{box-shadow:0 2px 8px #0000001a;padding:25px;transition:box-shadow .3s}.company-card:hover{box-shadow:0 4px 16px #00000026}.company-header{align-items:start;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.company-header h3{color:#333;font-size:22px;margin:0 0 5px}.company-slug{color:#667eea;font-family:monospace;font-size:14px;margin:0}.status-badge{border-radius:20px;padding:6px 12px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.company-info{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.info-item{align-items:center;display:flex;gap:10px}.info-item label{color:#666;font-weight:600;min-width:120px}.info-item a{color:#667eea;text-decoration:none}.info-item a:hover{text-decoration:underline}.active-sessions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.session-badge{align-items:center;background:#e7f3ff;border-radius:5px;color:#004085;display:flex;font-family:monospace;font-size:14px;gap:12px;justify-content:space-between;padding:8px 12px}.session-info{align-items:center;gap:8px}.session-time{font-size:12px;opacity:.8}.revoke-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:24px;justify-content:center;line-height:1;transition:all .2s;width:24px}.revoke-btn:hover{background:#c82333;transform:scale(1.1)}.company-actions{display:flex;gap:10px}.action-btn{border:none;border-radius:5px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.action-btn.primary{background:#667eea;color:#fff}.action-btn.primary:hover{background:#5568d3;transform:translateY(-2px)}.action-btn.danger{background:#dc3545;color:#fff}.action-btn.danger:hover{background:#c82333}@media (max-width:768px){.form-row,.stats-grid{grid-template-columns:1fr}.company-header{flex-direction:column;gap:10px}}.company-login{align-items:center;background:linear-gradient(135deg,#2575fc,#6a11cb);display:flex;justify-content:center;min-height:100vh}.company-login .login-container{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.company-login .login-header{margin-bottom:30px;text-align:center}.company-login .login-header h1{color:#2575fc;font-size:36px;margin:0 0 5px}.company-login .login-header h2{color:#333;font-size:24px;margin:0 0 5px}.company-login .login-header p{color:#666;font-size:14px;margin:0}.login-footer{border-top:1px solid #eee;margin-top:20px;padding-top:20px;text-align:center}.login-footer p{color:#999;font-size:13px;margin:0}.company-dashboard{background:#f5f7fa;min-height:100vh}.company-dashboard .dashboard-header{align-items:center;background:linear-gradient(135deg,#2575fc,#6a11cb);box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:30px 40px}.company-dashboard .header-left h1{font-size:28px;margin:0 0 5px}.company-dashboard .header-left p{margin:0;opacity:.9}.company-dashboard .dashboard-content{margin:0 auto;max-width:1000px;padding:40px 20px}.section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#333;font-size:22px;margin:0}.photo-count{font-size:14px;font-style:italic;margin:-10px 0 20px}.generate-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.generate-btn:hover{background:#218838;transform:translateY(-2px)}.refresh-btn{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.refresh-btn:hover{background:#5a6268}.kiosk-info-card{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.info-row{display:flex;gap:15px;margin-bottom:10px}.info-row:last-child{margin-bottom:0}.info-row label{color:#666;font-weight:600;min-width:120px}.info-row a{color:#2575fc;text-decoration:none}.info-row a:hover{text-decoration:underline}.active-sessions{margin-top:20px}.active-sessions h3{color:#333;font-size:18px;margin:0 0 15px}.session-card{align-items:center;background:#e7f3ff;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.session-info{display:flex;flex-direction:column;gap:5px}.otp-code{color:#004085;font-family:monospace;font-size:24px;font-weight:700}.session-time{color:#666;font-size:13px}.session-card .revoke-btn{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.session-card .revoke-btn:hover{background:#c82333}.photo-gallery{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.photo-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.photo-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.photo-image-container{aspect-ratio:1/1;background:#f0f0f0;overflow:hidden;width:100%}.photo-image{display:block;height:100%;object-fit:cover;width:100%}.photo-info{display:flex;flex-direction:column;gap:10px}.photo-date{color:#666;font-size:14px;margin:0}.photo-qr{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;padding:10px}.qr-code-small{border-radius:4px;height:80px;width:80px}.qr-label{color:#666;font-size:13px;margin:0}.photo-actions{display:flex;flex-direction:column;gap:10px}.print-photo-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;text-align:center;transition:background .3s ease}.print-photo-btn:hover{background:#218838}.delete-photo-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:110px;padding:10px 20px;text-align:center;transition:background .3s ease}.delete-photo-btn:hover:not(:disabled){background:#c82333}.delete-photo-btn:disabled{background:#999;cursor:not-allowed;opacity:.7}.delete-photo-btn .spinner{animation:spinner-rotate .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes spinner-rotate{to{transform:rotate(1turn)}}.view-link{background:#2575fc;border-radius:6px;color:#fff;display:inline-block;font-weight:600;padding:10px 20px;text-align:center;text-decoration:none;transition:background .3s ease}.view-link:hover{background:#1a5cdb}.load-more-container{display:flex;justify-content:center;margin-top:30px;padding:20px 0}.load-more-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 40px;transition:all .3s ease}.load-more-btn:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.photo-sessions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.photo-session-card{background:#f8f9fa;border-left:4px solid #2575fc;border-radius:8px;padding:20px}.photo-session-card .session-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-badge.in_progress{background:#fff3cd;color:#856404}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.cancelled{background:#f8d7da;color:#721c24}.photo-count{color:#666;font-weight:600}.session-details p{color:#666;font-size:14px;margin:5px 0}.empty-state{color:#999;padding:60px 20px;text-align:center}.empty-state p{margin:10px 0}.empty-hint{color:#bbb;font-size:14px}@media (max-width:768px){.section-header{align-items:flex-start;flex-direction:column;gap:15px}.photo-gallery,.photo-sessions{grid-template-columns:1fr}}.kiosk-otp{align-items:center;background:linear-gradient(135deg,#6a11cb,#2575fc);display:flex;justify-content:center;min-height:100vh}.otp-container{background:#fff;border-radius:15px;box-shadow:0 15px 35px #0000004d;max-width:450px;padding:50px 40px;text-align:center;width:100%}.otp-header h1{color:#333;font-size:36px;margin:0 0 10px}.otp-header p{color:#666;font-size:16px;margin:0 0 40px}.otp-form{display:flex;flex-direction:column;gap:25px}.otp-input-group{display:flex;justify-content:center}.otp-input{border:2px solid #ddd;border-radius:10px;color:#333;font-size:48px;font-weight:700;letter-spacing:10px;max-width:300px;padding:20px;text-align:center;transition:border-color .3s;width:100%}.otp-input:focus{border-color:#2575fc;outline:none}.otp-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.otp-button{background:linear-gradient(135deg,#6a11cb,#2575fc);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:18px;transition:transform .2s,box-shadow .2s}.otp-button:hover:not(:disabled){box-shadow:0 7px 20px #2575fc66;transform:translateY(-2px)}.otp-button:active:not(:disabled){transform:translateY(0)}.otp-button:disabled{cursor:not-allowed;opacity:.5}.otp-help{color:#999;font-size:14px;margin:10px 0 0}.error-message{background-color:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;font-size:14px;padding:12px}.public-photo-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.photo-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:30px;width:100%}.photo-content h1{font-size:2rem}.photo-content h1,.photo-content h2{color:#333;margin-bottom:20px;text-align:center}.photo-content h2{font-size:1.5rem}.photo-display{background:#f8f9fa;border-radius:15px;margin-bottom:30px;padding:20px;text-align:center}.photo-image{border-radius:10px;box-shadow:0 10px 30px #0003;height:auto;max-width:100%}.error-message,.loading{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:40px;text-align:center}.loading{color:#667eea;font-size:1.2rem}.error-message h2{color:#333;margin-bottom:15px}.error-message p{color:#666;margin-bottom:10px}.error-message .hint{color:#999;font-size:.9rem;font-style:italic}.share-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;margin-top:30px;padding:25px}.share-buttons{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0 auto}.share-btn{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:18px 15px;transition:all .3s ease}.share-btn:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.share-btn:active{transform:translateY(-2px)}.share-icon{font-size:2rem;line-height:1}.share-label{font-size:.85rem;font-weight:600}.share-native{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.share-linkedin{background:linear-gradient(135deg,#0077b5,#005885);color:#fff}.share-instagram{background:linear-gradient(135deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);color:#fff}.share-facebook{background:linear-gradient(135deg,#1877f2,#0c63d4);color:#fff}.share-twitter{background:linear-gradient(135deg,#1da1f2,#0c85d0);color:#fff}.share-download{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.photo-info{background:#f8f9fa;border-radius:10px;margin-top:20px;padding:15px;text-align:center}.timestamp{color:#666;font-size:.9rem;margin:0}@media (max-width:768px){.photo-content{padding:20px}.photo-content h1{font-size:1.5rem}.share-buttons{gap:12px;grid-template-columns:repeat(2,1fr)}.share-btn{font-size:.85rem;padding:15px 10px}.share-icon{font-size:1.8rem}.share-label{font-size:.75rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}
/*# sourceMappingURL=main.113fe4c7.css.map*/