.photographer-dashboard{padding:2rem}.dashboard-header{text-align:center;color:#fff;margin-bottom:2rem}.dashboard-header h2{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.dashboard-header p{font-size:1.1rem;opacity:.9}.dashboard-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;margin-bottom:2rem}.panel{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);padding:1.5rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.panel h3{margin-bottom:1rem;color:#fff;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.create-event-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.create-event-form input,.create-event-form textarea{padding:.75rem;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:1rem;transition:all .3s;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffff1a}.create-event-form input::placeholder,.create-event-form textarea::placeholder{color:#fff9}.create-event-form input:focus,.create-event-form textarea:focus{outline:none;border-color:#ffffff80;background:#ffffff26;box-shadow:0 4px 12px #00000026,inset 0 1px #fff3}.create-event-form button{padding:.75rem;background:var(--primary-color-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.2),inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.create-event-form button:hover:not(:disabled){background:var(--primary-color-medium);border-color:#fff6;transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.create-event-form button:disabled{background:#ffffff1a;border-color:#ffffff26;cursor:not-allowed;opacity:.5}.empty-state{text-align:center;padding:1rem;color:#fff;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-medium);margin-bottom:1rem;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.empty-state p{margin:0;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.events-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.events-list::-webkit-scrollbar{width:8px}.events-list::-webkit-scrollbar-track{background:#ffffff1a;border-radius:var(--radius-small)}.events-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:var(--radius-small);border:1px solid rgba(255,255,255,.2)}.events-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}.event-item{padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-medium);cursor:pointer;transition:all .3s;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3}.event-item:hover{border-color:#fff6;background:#fff3;transform:translateY(-2px);box-shadow:0 6px 20px #00000026,inset 0 1px #ffffff4d}.event-item.active{border-color:#ffffff80;background:var(--primary-color-light);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#fff;box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.event-item h4{margin-bottom:.25rem;font-size:1.1rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.event-item.active h4{color:#fff}.event-date{font-size:.85rem;opacity:.9;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-area{margin-bottom:1.5rem}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;border:2px dashed rgba(255,255,255,.4);border-radius:var(--radius-large);cursor:pointer;transition:all .3s;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3}.upload-label:hover:not(.disabled){background:#fff3;border-color:#fff9;transform:translateY(-2px);box-shadow:0 6px 20px #00000026,inset 0 1px #ffffff4d}.upload-label.disabled{opacity:.4;cursor:not-allowed;border-color:#fff3;background:#ffffff0d}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-label p{margin:.25rem 0;color:#fff;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-hint{font-size:.9rem;opacity:.7}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-medium);max-height:300px;overflow-y:auto;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3}.preview-item{position:relative}.preview-item img{width:100%;height:100px;object-fit:cover;border-radius:var(--radius-small);box-shadow:0 2px 8px #0003}.preview-name{font-size:.75rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-progress{margin-bottom:1rem}.upload-progress p{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);margin-top:.5rem}.progress-bar{width:100%;height:10px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-small);overflow:hidden;margin-bottom:.5rem;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color-dark),rgba(122,63,168,.8));transition:width .3s;box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.3)}.upload-button{width:100%;padding:1rem;background:var(--primary-color-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.2),inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-button:hover:not(:disabled){background:var(--primary-color-medium);border-color:#fff6;transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.upload-button:disabled{background:#ffffff1a;border-color:#ffffff26;cursor:not-allowed;opacity:.5}.photos-gallery{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);padding:1.5rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.photos-gallery h3{margin-bottom:1.5rem;color:#fff;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-height:80vh;overflow-y:auto;padding-right:.5rem}.gallery-grid::-webkit-scrollbar{width:8px}.gallery-grid::-webkit-scrollbar-track{background:#ffffff1a;border-radius:var(--radius-small)}.gallery-grid::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:var(--radius-small);border:1px solid rgba(255,255,255,.2)}.gallery-grid::-webkit-scrollbar-thumb:hover{background:#ffffff80}.gallery-item{position:relative}.gallery-image-container{position:relative;width:100%;border-radius:var(--radius-small);overflow:hidden;box-shadow:0 2px 4px #0000001a;background:#f0f0f0}.gallery-image-container img{width:100%;height:250px;object-fit:cover;display:block;cursor:pointer;transition:transform .3s}.gallery-image-container:hover img{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;gap:1rem;opacity:0;transition:opacity .3s;pointer-events:none}.gallery-overlay button{pointer-events:auto}.gallery-image-container:hover .gallery-overlay{opacity:1}.delete-button{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;gap:.5rem;color:#fff;box-shadow:0 4px 12px #0003,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.delete-button:hover{background:#dc354599;border-color:#dc3545cc;color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #dc354566,inset 0 1px #ffffff4d}.delete-button svg{width:18px;height:18px;flex-shrink:0}.photo-name{margin-top:.75rem;font-size:.9rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2)}.no-photos{text-align:center;padding:3rem;color:#fff;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-medium);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.loading-indicator{color:#fff;font-size:1rem;font-weight:500;padding:1rem;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-medium);display:inline-block;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.image-error-container{padding:2rem;text-align:center;color:#ffffffb3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.image-error-container p{margin:.5rem 0}.image-error-container p:first-child{font-size:1rem}.image-error-container p:last-child{font-size:.8rem;opacity:.8}.photo-modal-content{position:relative;max-width:90vw;max-height:90vh;background:#ffffff26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:var(--radius-large);overflow:hidden;box-shadow:0 20px 60px #0006,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2);animation:slideUp .3s}.modal-close{position:absolute;top:1rem;right:1rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s;box-shadow:0 4px 12px #0003,inset 0 1px #fff3}.modal-close:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.modal-info{padding:1.5rem;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-top:1px solid rgba(255,255,255,.2)}.modal-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.modal-date{font-size:.9rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media (max-width: 968px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.photographer-dashboard{padding:1rem}.dashboard-header h2{font-size:2rem}.gallery-grid{grid-template-columns:1fr;gap:1rem;max-height:60vh}.gallery-image-container img{height:200px}.scroll-sentinel{padding:1.5rem}.photo-modal{padding:1rem}}.user-search{padding:2rem}.search-header{text-align:center;color:#fff;margin-bottom:2rem}.search-header h2{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.search-header p{font-size:1.1rem;opacity:.9}.message{padding:1rem;border-radius:var(--radius-medium);margin-bottom:1.5rem;text-align:center;animation:slideIn .3s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.message-success{background:#d4edda4d;color:#155724;border:1px solid rgba(195,230,203,.4)}.message-error{background:#f8d7da4d;color:#721c24;border:1px solid rgba(245,198,203,.4)}.message-info{background:#d1ecf14d;color:#004085;border:1px solid rgba(184,218,255,.4)}.search-container{max-width:1000px;margin:0 auto}.input-section{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-extra-large);padding:2rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;margin-bottom:2rem;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.input-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.input-section h3{margin-bottom:1.5rem;color:#fff;font-size:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,.3);font-weight:600}.input-options{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.input-card{flex:1;min-width:200px}.action-button{width:100%;padding:1.5rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-large);font-size:1.1rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 3px rgba(0,0,0,.2)}.action-button:hover{background:#ffffff59;border-color:#ffffff80;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003,inset 0 1px #ffffff4d}.action-button.upload-button:hover,.action-button.camera-button:hover{background:var(--primary-color-medium);color:#fff;border-color:var(--primary-color-dark);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.action-button svg{width:24px;height:24px;flex-shrink:0;transition:transform .3s}.action-button:hover svg{transform:scale(1.1)}.divider{display:flex;align-items:center;color:#ffffffe6;font-weight:600;font-size:1.2rem;text-shadow:0 1px 3px rgba(0,0,0,.2)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);margin:0 1rem}.camera-section{margin-bottom:2rem;display:block;visibility:visible;opacity:1}.video-container{position:relative;width:100%;max-width:640px;margin:0 auto 1.5rem;border-radius:var(--radius-large);overflow:hidden;box-shadow:0 8px 24px #0000004d,inset 0 1px #fff3;border:2px solid rgba(255,255,255,.2);background:#00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-height:400px;display:flex;align-items:center;justify-content:center;visibility:visible;opacity:1}.camera-video{width:100%;height:100%;display:block;background:#000;object-fit:cover;min-height:400px;position:absolute;top:0;left:0;z-index:1;visibility:visible;opacity:1}.camera-controls{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:1rem;visibility:visible;opacity:1;z-index:10;position:relative}.capture-button-primary{width:65px;height:65px;border-radius:50%;background:linear-gradient(135deg,#fff,#f0f0f0);border:3px solid rgba(255,255,255,.9);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d,0 0 0 8px #ffffff26,0 0 0 15px #5d2d911a,inset 0 2px 6px #fff9,inset 0 -2px 6px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:10;overflow:visible}.capture-button-primary:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:50%;background:linear-gradient(135deg,#5d2d9133,#5d2d910d);opacity:0;transition:opacity .3s ease;z-index:-1}.capture-button-primary:hover{transform:scale(1.1);background:linear-gradient(135deg,#fff,#f8f8f8);border-color:#fff;box-shadow:0 6px 30px #5d2d9180,0 0 0 10px #ffffff40,0 0 0 20px #5d2d9126,inset 0 2px 6px #ffffffb3,inset 0 -2px 6px #0000001a}.capture-button-primary:hover:before{opacity:1}.capture-button-primary:active{transform:scale(.95);box-shadow:0 2px 12px #0006,0 0 0 6px #fff3,0 0 0 12px #5d2d911a,inset 0 3px 10px #0003}.capture-button-primary:disabled{opacity:.5;cursor:not-allowed;transform:scale(1)}.capture-button-primary:disabled:hover{transform:scale(1);box-shadow:0 4px 20px #0000004d,0 0 0 8px #ffffff26,0 0 0 15px #5d2d911a,inset 0 2px 6px #fff9,inset 0 -2px 6px #0000001a}.capture-button-inner{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,#6b3d9e 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:inset 0 2px 5px #0000004d,inset 0 -2px 3px #fff3,0 2px 4px #0003;transition:all .3s ease;position:relative}.capture-button-primary:hover .capture-button-inner{background:linear-gradient(135deg,var(--primary-color) 0%,#7a4ba8 100%);box-shadow:inset 0 2px 5px #0000004d,inset 0 -2px 3px #ffffff4d,0 3px 6px #0000004d;transform:scale(1.05)}.capture-button-primary:active .capture-button-inner{transform:scale(.95);box-shadow:inset 0 3px 7px #0006,inset 0 -1px 2px #ffffff1a}.capture-button-inner svg{width:24px;height:24px;transition:transform .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.capture-button-primary:hover .capture-button-inner svg{transform:scale(1.1)}.capture-button-primary:active .capture-button-inner svg{transform:scale(.9)}.capture-button{background:#ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);padding:1rem 2rem;font-size:1.1rem;box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 3px rgba(0,0,0,.2)}.capture-button:hover{background:#ffffff59;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 6px 20px #0003,inset 0 1px #ffffff4d}.camera-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:5}.camera-loading p{margin-top:1rem;font-size:1.1rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.camera-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:1.5rem 1rem 1rem;pointer-events:none;z-index:2}.camera-instruction{color:#fff;text-align:center;font-size:1rem;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0}.cancel-button{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);padding:1rem 2rem;font-size:1.1rem;box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 3px rgba(0,0,0,.2)}.cancel-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 6px 20px #0003,inset 0 1px #ffffff4d}.capture-button svg,.cancel-button svg{width:24px;height:24px;flex-shrink:0;transition:transform .3s}.capture-button:hover svg,.cancel-button:hover svg{transform:scale(1.1)}.preview-section{text-align:center;margin-bottom:2rem}.preview-image{max-width:100%;max-height:400px;border-radius:var(--radius-large);box-shadow:0 8px 24px #0000004d,inset 0 1px #fff3;margin-bottom:1rem;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.remove-button{padding:.5rem 1rem;background:#dc354566;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(220,53,69,.5);border-radius:var(--radius-medium);cursor:pointer;font-weight:500;transition:all .3s;box-shadow:0 4px 15px #dc35454d,inset 0 1px #fff3;text-shadow:0 1px 3px rgba(0,0,0,.2)}.remove-button:hover{background:#dc354599;border-color:#dc3545b3;transform:translateY(-2px);box-shadow:0 6px 20px #dc354566,inset 0 1px #ffffff4d}.search-button{width:100%;padding:1.25rem;background:#ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-large);font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 3px rgba(0,0,0,.2)}.search-button-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:.75rem}.search-button-content svg{width:24px;height:24px;flex-shrink:0;transition:transform .3s}.search-button:hover:not(:disabled) .search-button-content svg{transform:scale(1.1)}.search-progress-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,rgba(var(--primary-color-rgb),var(--progress-opacity, .3)),rgba(var(--primary-color-rgb),calc(var(--progress-opacity, .3) + .1)));transition:width .3s ease,background .3s ease;z-index:1;border-radius:var(--radius-large);box-shadow:0 0 20px rgba(var(--primary-color-rgb),var(--progress-opacity, .3))}.search-button:hover:not(:disabled){background:var(--primary-color-medium);border-color:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.search-button:disabled{cursor:not-allowed;opacity:.6;background:#ffffff26}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.results-section{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-extra-large);padding:2rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;margin-bottom:2rem;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.results-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.results-section h3{margin:0;color:#fff;font-size:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,.3);font-weight:600}.results-actions{display:flex;gap:.75rem;flex-wrap:wrap}.select-all-button,.download-selected-button{padding:.75rem 1.5rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;text-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3}.select-all-button:hover,.download-selected-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 6px 20px #0003,inset 0 1px #ffffff4d}.download-selected-button{background:#28a7454d;border-color:#28a74566;display:flex;align-items:center;gap:.5rem}.download-selected-button:hover{background:#28a74580;border-color:#28a74599}.download-selected-button svg{width:18px;height:18px;flex-shrink:0}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;max-height:80vh;overflow-y:auto;padding-right:.5rem}.matches-grid::-webkit-scrollbar{width:8px}.matches-grid::-webkit-scrollbar-track{background:#ffffff1a;border-radius:var(--radius-small)}.matches-grid::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:var(--radius-small);border:1px solid rgba(255,255,255,.2)}.matches-grid::-webkit-scrollbar-thumb:hover{background:#ffffff80}.match-card{border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-large);overflow:hidden;transition:all .3s;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3}.match-card:hover{border-color:#fff6;box-shadow:0 8px 24px #0003,inset 0 1px #ffffff4d;transform:translateY(-4px);background:#ffffff26}.match-image-container{position:relative;width:100%;height:200px;overflow:hidden;background:#ffffff0d;border-radius:var(--radius-medium) var(--radius-medium) 0 0}.photo-checkbox{position:absolute;top:.5rem;left:.5rem;z-index:10;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0003,inset 0 1px #fff3}.photo-checkbox:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.photo-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.photo-checkbox.checked{background:rgba(var(--primary-color-rgb),.5);border-color:rgba(var(--primary-color-rgb),.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.match-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;gap:1rem;opacity:0;transition:opacity .3s;pointer-events:none}.match-overlay button{pointer-events:auto}.match-image-container:hover .match-overlay{opacity:1}.view-button,.download-button{padding:.75rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;gap:.5rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3}.view-button:hover{background:var(--primary-color-light);border-color:var(--primary-color-medium);color:#fff;transform:scale(1.1);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.download-button:hover{background:#28a74566;border-color:#28a74599;color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #28a7454d,inset 0 1px #ffffff4d}.view-button svg,.download-button svg{width:18px;height:18px;flex-shrink:0}.match-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.match-card:hover .match-image{transform:scale(1.1)}.match-info{padding:1rem;background:#ffffff0d}.match-event{font-weight:600;color:#fff;margin-bottom:.5rem;font-size:1rem;text-shadow:0 1px 3px rgba(0,0,0,.2)}.match-date{font-size:.85rem;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.2)}.no-results{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-extra-large);padding:3rem;text-align:center;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.no-results p{color:#fff;font-size:1.1rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.scroll-sentinel{grid-column:1 / -1;padding:2rem;text-align:center}.loading-indicator{color:#fff;font-size:1rem;font-weight:500;padding:1rem;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-medium);display:inline-block;border:1px solid rgba(255,255,255,.2);text-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 4px 15px #0000001a,inset 0 1px #fff3}@media (max-width: 768px){.user-search{padding:1rem .75rem}.search-header{margin-bottom:1.5rem}.search-header h2{font-size:1.75rem;margin-bottom:.5rem}.search-header p{font-size:.95rem;padding:0 .5rem}.search-container{max-width:100%}.input-section{padding:1.5rem 1rem;margin-bottom:1.5rem}.input-section h3{font-size:1.25rem;margin-bottom:1rem}.input-options{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.input-card{width:100%;min-width:unset}.action-button{padding:.875rem 1rem;font-size:.95rem;min-height:48px;gap:.5rem}.action-button svg{width:20px;height:20px}.divider{width:100%;margin:.5rem 0;font-size:1rem}.divider:before,.divider:after{margin:0 .5rem}.camera-section,.video-container{margin-bottom:1rem}.camera-video{max-height:300px}.camera-controls{flex-direction:column;gap:1rem;align-items:center}.capture-button-primary{width:60px;height:60px;margin-bottom:.5rem;border-width:3px}.capture-button-primary:before{top:-3px;left:-3px;right:-3px;bottom:-3px}.capture-button-inner{width:46px;height:46px}.capture-button-inner svg{width:24px;height:24px}.capture-button,.cancel-button{width:100%;padding:1rem;font-size:1rem;min-height:48px}.preview-section{margin-bottom:1.5rem}.preview-image{max-height:300px}.remove-button{padding:.75rem 1.5rem;font-size:.95rem;min-height:44px}.search-button{padding:1rem;font-size:1.1rem;min-height:56px}.search-button-content svg{width:22px;height:22px}.results-section{padding:1.5rem 1rem;margin-bottom:1.5rem}.results-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1rem}.results-section h3{font-size:1.25rem;width:100%}.results-actions{width:100%;flex-wrap:wrap;gap:.5rem}.select-all-button,.download-selected-button{flex:1 1 calc(50% - .25rem);min-width:120px;padding:.75rem 1rem;font-size:.9rem;min-height:44px}.matches-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;max-height:65vh;padding-right:.25rem}.match-image-container{height:180px}.photo-checkbox{width:28px;height:28px;top:.4rem;left:.4rem}.photo-checkbox input[type=checkbox]{width:18px;height:18px}.match-info{padding:.75rem}.match-event{font-size:.9rem}.match-date{font-size:.8rem}.view-button,.download-button{padding:.6rem .75rem;font-size:.85rem;min-height:40px}.view-button svg,.download-button svg{width:16px;height:16px}.scroll-sentinel{padding:1.5rem 1rem}.loading-indicator{font-size:.9rem;padding:.75rem}.message{padding:.75rem;font-size:.9rem;margin-bottom:1rem}.photo-modal{padding:1rem .5rem}.photo-modal-content{max-width:95vw;max-height:95vh}.modal-close{width:36px;height:36px;font-size:1.25rem;top:.5rem;right:.5rem}.modal-image{max-height:70vh}.modal-info{padding:1rem}.modal-name{font-size:1rem}.modal-event{font-size:.9rem}.modal-date{font-size:.85rem}.modal-download-button{padding:.875rem;font-size:.95rem;min-height:48px}}@media (max-width: 480px){.user-search{padding:.75rem .5rem}.search-header h2{font-size:1.5rem}.search-header p{font-size:.85rem}.input-section{padding:1.25rem .75rem}.input-section h3{font-size:1.1rem}.action-button{padding:.75rem .875rem;font-size:.9rem;gap:.5rem}.action-button svg{width:18px;height:18px}.search-button{padding:.875rem;font-size:1rem}.results-section{padding:1.25rem .75rem}.results-section h3{font-size:1.1rem}.matches-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;max-height:60vh}.match-image-container{height:160px}.select-all-button,.download-selected-button{flex:1 1 100%;font-size:.85rem;padding:.7rem .875rem}.photo-checkbox{width:26px;height:26px}.photo-checkbox input[type=checkbox]{width:16px;height:16px}.view-button,.download-button{padding:.5rem .6rem;font-size:.8rem}.match-info{padding:.6rem}.match-event{font-size:.85rem}.match-date{font-size:.75rem}.divider{font-size:.9rem}}@media (max-width: 360px){.matches-grid{grid-template-columns:1fr}.search-header h2{font-size:1.35rem}.action-button{padding:.7rem .8rem;font-size:.85rem;gap:.4rem}.action-button svg{width:16px;height:16px}.search-button{font-size:.9rem;padding:.875rem}}.photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .3s}.photo-modal-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:var(--radius-medium);overflow:hidden;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s}.modal-close{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background .3s}.modal-close:hover{background:#000000e6}.modal-image{width:100%;max-height:75vh;object-fit:contain;display:block}.modal-info{padding:1.5rem;background:#fff}.modal-name{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.5rem}.modal-event{font-size:1rem;color:var(--primary-color);font-weight:500;margin-bottom:.5rem}.modal-date{font-size:.9rem;color:#666;margin-bottom:1rem}.modal-download-button{width:100%;padding:1rem;background:#28a745;color:#fff;border:none;border-radius:var(--radius-small);font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-download-button:hover{background:#218838}.modal-download-button svg{width:20px;height:20px;flex-shrink:0}.admin-container .photo-checkbox{position:absolute;top:.5rem;left:.5rem;z-index:10;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #0003,inset 0 1px #fff3}.admin-container .photo-checkbox:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1);box-shadow:0 6px 20px #0000004d,inset 0 1px #ffffff4d}.admin-container .photo-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color-dark)}.admin-container .photo-checkbox.checked{background:rgba(var(--primary-color-rgb),.5);border-color:rgba(var(--primary-color-rgb),.7);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.admin-container{padding:2rem}.admin-container .admin-header{text-align:center;color:#fff;margin-bottom:2rem}.admin-container .admin-header h2{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.admin-container .admin-header p{font-size:1.1rem;opacity:.9}.admin-container .message{padding:1rem;border-radius:var(--radius-medium);margin-bottom:1.5rem;text-align:center;animation:slideIn .3s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.admin-container .message-success{background:#d4edda4d;color:#155724;border:1px solid rgba(195,230,203,.4)}.admin-container .message-error{background:#f8d7da4d;color:#721c24;border:1px solid rgba(245,198,203,.4)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-container .admin-content{max-width:1200px;margin:0 auto}.admin-container .admin-actions{margin-bottom:2rem}.admin-container .create-button{padding:1rem 2rem;background:var(--primary-color-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.2),inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .create-button:hover{background:var(--primary-color-medium);border-color:#fff6;transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.admin-container .create-form-card{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.admin-container .create-form-card h3{color:#fff;margin-bottom:1.5rem;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.admin-container .create-form{display:flex;flex-direction:column;gap:1.25rem}.admin-container .create-form .form-group{display:flex;flex-direction:column;gap:.5rem}.admin-container .create-form label{font-weight:600;color:#fff;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .create-form input{padding:.875rem;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:1rem;transition:all .3s;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffff1a}.admin-container .create-form input::placeholder{color:#fff9}.admin-container .create-form input:focus{outline:none;border-color:#ffffff80;background:#ffffff26;box-shadow:0 4px 12px #00000026,inset 0 1px #fff3}.admin-container .create-form input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color-dark)}.admin-container .create-form label span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .submit-create-button{padding:1rem;background:var(--primary-color-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:.5rem;box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.2),inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .submit-create-button:hover:not(:disabled){background:var(--primary-color-medium);border-color:#fff6;transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.admin-container .submit-create-button:disabled{background:#ffffff1a;border-color:#ffffff26;opacity:.5;cursor:not-allowed}.admin-container .photographers-list{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);padding:2rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.admin-container .photographers-list h3{color:#fff;margin-bottom:1.5rem;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.admin-container .empty-state{text-align:center;padding:3rem;color:#fff;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-medium);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .empty-state p{margin:0;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photographers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.admin-container .photographer-card{background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-large);padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3}.admin-container .photographer-card:hover{border-color:#fff6;background:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 20px #00000026,inset 0 1px #ffffff4d}.admin-container .photographer-info{flex:1}.admin-container .photographer-info h4{color:#fff;margin-bottom:.5rem;font-size:1.2rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photographer-email{color:#ffffffe6;margin-bottom:.5rem;font-size:.95rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photographer-date{color:#fffc;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .delete-button{padding:.75rem 1rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #0003,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .delete-button:hover{background:#dc354599;border-color:#dc3545cc;color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #dc354566,inset 0 1px #ffffff4d}.admin-container .delete-button svg{width:18px;height:18px;flex-shrink:0}.admin-container .back-button{padding:.5rem 1rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s;margin-bottom:1rem;box-shadow:0 4px 12px #0003,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .back-button:hover{background:var(--primary-color-light);border-color:#ffffff80;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.admin-container .photographer-detail-card{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.admin-container .photographer-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.admin-container .photographer-header h3{font-size:1.8rem;color:#fff;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.admin-container .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.admin-container .stat-card{background:var(--primary-color-light);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#fff;padding:1.5rem;border-radius:var(--radius-large);text-align:center;box-shadow:0 8px 32px rgba(var(--primary-color-rgb),.2),inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.admin-container .stat-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.admin-container .stat-label{font-size:1rem;opacity:.9}.admin-container .detail-section{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2)}.admin-container .detail-section h3{color:#fff;margin-bottom:1.5rem;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.admin-container .events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.admin-container .event-item-card{background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-medium);padding:1.5rem;transition:all .3s;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3}.admin-container .event-item-card:hover{border-color:#fff6;background:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 20px #00000026,inset 0 1px #ffffff4d}.admin-container .event-item-card.active-filter{border-color:#ffffff80;background:rgba(var(--primary-color-rgb),.3)}.admin-container .event-item-card h4{color:#fff;margin-bottom:.75rem;font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .event-description{color:#ffffffe6;font-size:.9rem;margin-bottom:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .event-date{color:#fffc;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photos-grid-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.admin-container .photo-item-admin{position:relative;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-medium);overflow:hidden;transition:all .3s;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3}.admin-container .photo-item-admin:hover{border-color:#fff6;background:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 20px #00000026,inset 0 1px #ffffff4d}.admin-container .photo-item-admin img{width:100%;height:200px;object-fit:cover;display:block}.admin-container .photo-info-admin{padding:1rem}.admin-container .photo-name-admin{font-weight:600;color:#fff;margin-bottom:.5rem;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photo-event{color:#ffffffe6;font-size:.85rem;margin-bottom:.25rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photo-date{color:#fffc;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .history-list{display:flex;flex-direction:column;gap:1rem}.admin-container .history-item{display:flex;gap:1rem;padding:1rem;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-left:4px solid rgba(255,255,255,.4);border-radius:var(--radius-medium);transition:all .3s;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.2)}.admin-container .history-item:hover{background:#ffffff26;transform:translate(4px);box-shadow:0 6px 20px #00000026,inset 0 1px #ffffff4d}.admin-container .history-icon{font-size:1.5rem;flex-shrink:0}.admin-container .history-content{flex:1}.admin-container .history-title{font-weight:600;color:#fff;margin-bottom:.25rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .history-details{color:#ffffffe6;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photographer-actions{display:flex;gap:.5rem;flex-direction:column}.admin-container .view-button{padding:.75rem 1rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #0003,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .view-button:hover{background:rgba(var(--primary-color-rgb),.5);border-color:#fff6;color:#fff;transform:scale(1.1);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}.admin-container .view-button svg{width:18px;height:18px;flex-shrink:0}.admin-container .loading-state{text-align:center;padding:3rem;color:#fff;font-size:1.2rem}.admin-container .loading-state .spinner-large{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.admin-container .error-state{text-align:center;padding:3rem;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-large);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .error-state p{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-container .photo-modal-content{position:relative;max-width:90vw;max-height:90vh;background:#ffffff26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:var(--radius-large);overflow:hidden;box-shadow:0 20px 60px #0006,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.2);animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-container .modal-close{position:absolute;top:1rem;right:1rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s;box-shadow:0 4px 12px #0003,inset 0 1px #fff3}.admin-container .modal-close:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.admin-container .modal-image{width:100%;max-height:75vh;object-fit:contain;display:block}.admin-container .modal-info{padding:1.5rem;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-top:1px solid rgba(255,255,255,.2)}.admin-container .modal-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .modal-date{font-size:.9rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;gap:1rem;opacity:0;transition:opacity .3s;pointer-events:none}.admin-container .gallery-overlay button{pointer-events:auto}.admin-container .photo-item-admin:hover .gallery-overlay{opacity:1}.admin-container .action-button{padding:.75rem 1.5rem;background:var(--primary-color-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-medium);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-block;box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.2),inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-container .action-button:hover{background:var(--primary-color-medium);border-color:#fff6;transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3),inset 0 1px #ffffff4d}@media (max-width: 768px){.admin-container{padding:1rem}.admin-container .admin-header h2{font-size:2rem}.admin-container .photographers-grid{grid-template-columns:1fr}.admin-container .photographer-header{flex-direction:column;gap:1rem}.admin-container .stats-grid,.admin-container .events-grid{grid-template-columns:1fr}.admin-container .photos-grid-admin{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.admin-container .photographer-actions{flex-direction:row;width:100%;justify-content:flex-end}}:root{--primary-color: #5d2d91;--primary-color-rgb: 93, 45, 145;--primary-color-light: rgba(93, 45, 145, .4);--primary-color-medium: rgba(93, 45, 145, .6);--primary-color-dark: rgba(93, 45, 145, .8);--radius-small: 8px;--radius-medium: 12px;--radius-large: 16px;--radius-extra-large: 20px}.login-container{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{background:#fff;border-radius:var(--radius-large);padding:2.5rem;width:100%;max-width:450px;box-shadow:0 10px 40px #00000026}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.login-header p{color:#666;font-size:.95rem}.error-message{background:#f8d7da;color:#721c24;padding:.75rem 1rem;border-radius:var(--radius-small);margin-bottom:1.5rem;border:1px solid #f5c6cb;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.9rem}.form-group input{padding:.875rem;border:2px solid #e0e0e0;border-radius:var(--radius-small);font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--primary-color)}.password-hint{font-size:.8rem;color:#999}.submit-button{padding:1rem;background:linear-gradient(135deg,var(--primary-color) 0%,#7a3fa8 100%);color:#fff;border:none;border-radius:var(--radius-small);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px var(--primary-color-light)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.login-footer p{color:#666;font-size:.9rem}.login-note{color:#999;font-size:.85rem;font-style:italic}.toggle-button{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.toggle-button:hover{color:#4a2473}.back-link{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.back-link a{color:var(--primary-color);text-decoration:none;font-size:.9rem;transition:color .3s}.back-link a:hover{color:#4a2473}@media (max-width: 768px){.login-card{padding:2rem 1.5rem}.login-header h2{font-size:1.75rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.spinner-large{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{font-size:1.1rem;font-weight:500}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;padding:1rem 2rem;margin-bottom:2rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.navbar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.nav-header{display:flex;justify-content:space-between;align-items:center;flex:1}.logo{font-size:1.5rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.mobile-menu-button{display:none;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;padding:.5rem;z-index:1001;transition:all .3s;box-shadow:0 2px 8px #0000001a}.mobile-menu-button:hover{background:#fff3;border-color:#ffffff4d}.hamburger{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:20px;cursor:pointer}.hamburger span{display:block;height:3px;width:100%;background:#333;border-radius:3px;transition:all .3s ease;box-shadow:0 1px 3px #0003}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.nav-links{display:flex;gap:1rem}.nav-links a{text-decoration:none;color:#333;font-weight:500;padding:.5rem 1rem;border-radius:12px;transition:all .3s ease;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);text-shadow:0 1px 2px rgba(255,255,255,.5);box-shadow:0 2px 8px #0000001a,inset 0 1px #fff3}.nav-links a:hover{background:#ffffff59;border-color:#ffffff80;color:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0003,inset 0 1px #ffffff4d}.nav-links a.active{background:#5d2d914d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:#5d2d9180;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #5d2d9166,inset 0 1px #ffffff4d}.logout-button{padding:.5rem 1rem;background:#dc35454d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(220,53,69,.4);border-radius:12px;font-weight:500;cursor:pointer;transition:all .3s;text-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 2px 8px #0000001a,inset 0 1px #fff3}.logout-button:hover{background:#dc354580;border-color:#dc354599;transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d,inset 0 1px #ffffff4d}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto}@media (max-width: 768px){.navbar{padding:.75rem 1rem;margin-bottom:1rem;border-radius:16px}.nav-container{flex-direction:column;gap:0}.nav-header{width:100%}.mobile-menu-button{display:block}.logo{font-size:1.25rem;margin:0}.nav-links{flex-direction:column;width:100%;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease-out;opacity:0}.nav-links.mobile-open{max-height:500px;opacity:1;padding-top:1rem;transition:max-height .3s ease-in,opacity .3s ease-in}.nav-links a{padding:.75rem 1rem;width:100%;text-align:left;font-size:.95rem;border-radius:12px;margin-bottom:.5rem}.nav-links a:last-of-type{margin-bottom:0}.logout-button{width:100%;padding:.75rem 1rem;font-size:.95rem;margin-top:.5rem;text-align:left;border-radius:12px}.main-content{padding:0 .5rem}}@media (max-width: 480px){.navbar{padding:.5rem}.logo{font-size:1.1rem}.nav-links a,.logout-button{font-size:.9rem;padding:.6rem .75rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#5d2d91;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;min-height:100vh;padding:20px;transition:background-image .5s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}
