*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}h1{font-family:Arial,Helvetica,sans-serif;margin-bottom:1rem}.container{max-width:1200px;margin:0 auto;padding:2rem}.header-bar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.logout-btn{background:#f44336;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.logout-btn:hover{background:#d32f2f}.login-container{max-width:400px;margin:4rem auto;text-align:center}.login-form{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a;text-align:left}.login-form h2{margin-bottom:1.5rem}.login-btn{background:#4caf50;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;width:100%;transition:background .3s ease}.login-btn:hover{background:#45a049}.login-btn:disabled{background:#ccc;cursor:not-allowed}.upload-form{background:#fff;border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.upload-zone{border:2px dashed #ccc;border-radius:8px;padding:3rem 2rem;text-align:center;transition:all .3s ease;cursor:pointer;background:#fafafa}.upload-zone:hover,.upload-zone.drag-over{border-color:#4caf50;background:#f0f8f0}.upload-zone input[type=file]{display:none}.upload-btn{background:#4caf50;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem;transition:background .3s ease}.upload-btn:hover{background:#45a049}.upload-btn:disabled{background:#ccc;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input[type=text],.form-group input[type=password]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.gallery{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.refresh-btn{background:#2196f3;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.refresh-btn:hover{background:#0b7dda}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.image-card{background:#fafafa;border:1px solid #eee;border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.image-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.image-card img{width:100%;height:200px;object-fit:cover;display:block}.image-info{padding:1rem}.image-info h3{font-size:.9rem;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-meta{font-size:.8rem;color:#666;margin-bottom:1rem}.image-actions{display:flex;gap:.5rem}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;flex:1;transition:opacity .2s ease}.btn:hover{opacity:.8}.btn-copy{background:#2196f3;color:#fff}.btn-delete{background:#f44336;color:#fff}.toast{position:fixed;top:2rem;right:2rem;background:#fff;padding:1rem 1.5rem;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideIn .3s ease;max-width:400px;min-width:300px}.toast p{margin:0;line-height:1.5}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast.success{border-left:4px solid #4CAF50}.toast.error{border-left:4px solid #f44336}.empty-state{text-align:center;padding:3rem;color:#999}.loading{text-align:center;padding:2rem;color:#666}
