.gallery-box,.gallery-box p{color:var(--foreground)}.gallery-box p{font-size:.8rem;line-height:1.5;margin-bottom:1.25rem;font-weight:400;text-align:center}.gallery-container{margin:0 auto;color:var(--foreground);position:relative;z-index:1}.gallery-container,.upload-section{display:flex;flex-direction:column;align-items:center}.upload-section{margin-top:2.5rem;margin-bottom:1.5rem;text-align:center;width:100%}.admin-button{padding:8px 16px;background-color:var(--button-bg);color:var(--button-text);border:none;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background-color .3s ease}.admin-button:hover{background-color:var(--primary-dark)}.upload-controls{padding:1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--card-bg)}.upload-controls h3{font-size:.9rem;margin-bottom:.5rem;color:var(--foreground)}.file-input{margin-bottom:.5rem;padding:6px;border-radius:4px;border:1px solid var(--border);font-size:.8rem;width:100%;max-width:200px;box-sizing:border-box}.logout-button{padding:6px 12px;background-color:var(--danger-bg);color:var(--danger-text);border:none;border-radius:4px;font-size:.7rem;cursor:pointer;margin-left:.5rem}.logout-button:hover{background-color:var(--danger)}.error-message{color:var(--danger)}.error-message,.success-message{font-size:.8rem;margin-top:.5rem}.success-message{color:var(--success)}.gallery{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:1rem}.image-item{position:relative;width:250px;height:250px}.image-item.dragging{opacity:.6;transform:scale(.98);box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:50}.image-item.drag-over{outline:3px dashed var(--primary);outline-offset:-6px;transform:translateY(-6px)}.image-item.draggable .image-preview{cursor:-webkit-grab;cursor:grab}.image-item.draggable.dragging .image-preview{cursor:-webkit-grabbing;cursor:grabbing}.image-wrapper{position:relative;width:250px;height:250px;border-radius:6px;box-shadow:var(--card-shadow)}.image-preview{width:250px;height:250px;object-fit:cover;cursor:pointer;transition:transform .3s ease}.image-preview:hover{transform:scale(1.05);z-index:2}.image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:white;padding:.5rem;transform:translateY(100%);transition:transform .3s ease}.image-wrapper:hover .image-overlay{transform:translateY(0)}.image-overlay h3{font-size:.7rem;margin:0}.delete-button{position:absolute;top:5px;right:5px;width:16px;height:16px;background-color:rgba(220,53,69,.8);color:white;border:none;border-radius:50%;cursor:pointer;font-size:.6rem;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.3)}.delete-button:hover{background-color:#dc3545}.no-images-container{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:2rem}.no-images{text-align:center;color:var(--text-secondary);font-size:.9rem;padding:1rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);justify-content:center;z-index:9999;padding:1rem;box-sizing:border-box}.modal,.modal-content{display:flex;align-items:center}.modal-content{position:relative;max-width:95%;max-height:95%;flex-direction:column}.password-modal{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);min-width:280px}.password-modal h3{margin:0 0 1rem;color:#2c3e50;font-size:1rem;text-align:center}.password-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:.9rem;margin-bottom:1rem;box-sizing:border-box}.password-buttons{display:flex;gap:.5rem;justify-content:center}.submit-button{padding:8px 16px;background-color:#007bff;color:white;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.submit-button:hover{background-color:#0056b3}.cancel-button{padding:8px 16px;background-color:#6c757d;color:white;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.cancel-button:hover{background-color:#5a6268}.modal-image{width:100%;max-height:70vh;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.5);object-fit:contain}.close-button{position:absolute;top:-30px;right:0;width:24px;height:24px;background-color:rgba(255,255,255,.9);color:#333;border:none;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.3)}.close-button:hover{background-color:#dc3545;color:white}@media (min-width:768px){.gallery-box h1{font-size:1.8rem;text-align:left}.gallery-box p{font-size:1.1rem;text-align:left}.gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.image-wrapper{width:250px;height:250px;border-radius:8px}.image-overlay h3{font-size:.9rem}.modal-image{max-height:80vh}.close-button{width:30px;height:30px;top:-40px}}@media (min-width:1024px){.gallery-box h1{font-size:2rem}.gallery-box p{font-size:1.2rem;margin-bottom:2rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.image-wrapper{width:250px;height:250px}.image-overlay{padding:1rem}.image-overlay h3{font-size:1rem}.delete-button{width:24px;height:24px;font-size:.8rem;top:8px;right:8px}.upload-controls{padding:2rem}.password-modal{min-width:350px;padding:2rem}}