.gallery-box{color:var(--foreground)}.gallery-box p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.875rem;font-weight:400;line-height:1.6}.gallery-container{color:var(--foreground);z-index:1;flex-direction:column;align-items:center;margin:1rem auto 0;display:flex;position:relative}.upload-section{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;margin-top:2rem;margin-bottom:1.5rem;display:flex}.admin-button{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:10px 20px;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.admin-button:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.upload-controls{border:1.5px solid var(--border);border-radius:var(--radius-lg);background-color:var(--card-bg);width:100%;max-width:400px;box-shadow:var(--shadow-sm);padding:1.25rem}.upload-controls h3{color:var(--foreground);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.file-input{border-radius:var(--radius-sm);border:1.5px solid var(--border);box-sizing:border-box;background:var(--background);width:100%;color:var(--foreground);margin-bottom:.75rem;padding:8px 10px;font-size:.85rem}.logout-button{color:var(--danger);border:1.5px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;background-color:#0000;margin-left:.5rem;padding:7px 14px;font-size:.8rem;transition:all .2s}.logout-button:hover{background-color:var(--danger);color:#fff}.error-message{color:var(--danger);margin-top:.5rem;font-size:.85rem}.success-message{color:var(--success);margin-top:.5rem;font-size:.85rem}.gallery{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;margin-top:1.5rem;display:flex}.image-item{aspect-ratio:1;border-radius:var(--radius-md);width:140px;position:relative;overflow:hidden}.image-item.dragging{opacity:.6;z-index:50;transform:scale(.97);box-shadow:0 8px 24px #00000040}.image-item.drag-over{outline:2px dashed var(--primary);outline-offset:-4px;transform:translateY(-4px)}.image-item.draggable .image-preview{cursor:grab}.image-item.draggable.dragging .image-preview{cursor:grabbing}.image-wrapper{border-radius:var(--radius-md);width:100%;height:100%;box-shadow:var(--shadow-sm);transition:box-shadow .2s;position:relative;overflow:hidden}.image-wrapper:hover{box-shadow:var(--shadow-md)}.image-preview{object-fit:cover;cursor:pointer;width:100%;height:100%;transition:transform .3s;display:block}.image-preview:hover{transform:scale(1.05)}.image-overlay{color:#fff;background:linear-gradient(#0000,#000000b8);padding:.6rem .5rem .5rem;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.image-wrapper:hover .image-overlay{transform:translateY(0)}.image-overlay h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.72rem;font-weight:500;overflow:hidden}.delete-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#dc3545d9;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:all .2s;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #0000004d}.delete-button:hover{background-color:var(--danger);transform:scale(1.1);box-shadow:0 3px 8px #dc354566}.no-images-container{flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:1.5rem;min-height:300px;display:flex}.no-images{text-align:center;color:var(--text-secondary);padding:1rem;font-size:.95rem}.modal{z-index:9999;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000eb;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-content{flex-direction:column;align-items:center;max-width:95%;max-height:95%;display:flex;position:relative}.password-modal{background:var(--card-bg);border-radius:var(--radius-lg);border:1.5px solid var(--border);box-shadow:var(--shadow-lg);min-width:300px;max-width:90vw;padding:1.75rem}.password-modal h3{color:var(--foreground);text-align:center;margin:0 0 1.25rem;font-size:1.05rem;font-weight:600}.password-input{border:1.5px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;background:var(--background);width:100%;color:var(--foreground);margin-bottom:1.25rem;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.password-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #007bff1f}.password-buttons{justify-content:center;gap:.6rem;display:flex}.submit-button{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:9px 20px;font-size:.875rem;font-weight:500;transition:all .2s}.submit-button:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.cancel-button{color:var(--text-secondary);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background-color:#0000;padding:9px 20px;font-size:.875rem;transition:all .2s}.cancel-button:hover{background-color:var(--border);color:var(--foreground)}.modal-image{border-radius:var(--radius-md);object-fit:contain;width:100%;max-height:75vh;box-shadow:0 8px 32px #00000080}.close-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;transition:all .2s;display:flex;position:absolute;top:-36px;right:0}.close-button:hover{background-color:var(--danger);border-color:var(--danger)}@media (min-width:320px){.gallery{gap:10px}}@media (min-width:768px){.gallery-box p{text-align:left;font-size:1rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.close-button{width:32px;height:32px;top:-44px}.modal-image{max-height:82vh}.upload-controls{padding:1.5rem}.delete-button{width:30px;height:30px}}@media (min-width:1024px){.gallery-box p{margin-bottom:2rem;font-size:1.05rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.close-button{width:36px;height:36px}.image-overlay{padding:1rem .75rem .75rem}.image-overlay h3{font-size:.85rem}.delete-button{width:32px;height:32px;font-size:.8rem;top:8px;right:8px}.upload-controls{padding:2rem}.password-modal{min-width:360px;padding:2.25rem}}
