/* Minimal, mobile-first styling */
:root{
  --primary:#0ea5e9;
  --bg:#f8fafc;
  --text:#0f172a;
  --muted:#475569;
  --danger:#ef4444;
  --card:#ffffff;
  --radius:12px;
  --shadow:0 10px 20px rgba(2,8,23,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--text);background:var(--bg);font:16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}
img{max-width:100%;height:auto;display:block}

.container{max-width:1100px;margin:0 auto;padding:1rem}

.topbar{background:var(--card);box-shadow:var(--shadow);position:sticky;top:0;z-index:5}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:1rem}
h1{font-size:1.1rem;margin:.5rem 0}
.nav{display:flex;gap:.5rem}

.btn{display:inline-block;background:#e2e8f0;color:#111;padding:.6rem .9rem;border-radius:10px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{filter:brightness(.98)}
.btn-primary{background:var(--primary);color:white}
.btn-danger{background:var(--danger);color:white}

.upload-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-top:1rem}
.upload-form{display:flex;gap:.6rem;flex-wrap:wrap}
.file input[type=file]{display:block;padding:.6rem;border:2px dashed #cbd5e1;border-radius:10px;background:#f1f5f9;width:100%}

.hint{margin-top:.5rem;color:var(--muted)}

.gallery{margin-top:1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}
.card{background:var(--card);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.card img{width:100%;height:150px;object-fit:cover}

.footer{margin:2rem 0;color:var(--muted)}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:1rem}
.lightbox.hidden{display:none}
.lightbox img{max-width:90vw;max-height:80vh;border-radius:8px}
.lightbox .close{position:absolute;top:1rem;right:1rem;background:#111;color:#fff;border:0;font-size:2rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer}
.lightbox .controls{position:absolute;bottom:1rem;left:0;right:0;display:flex;gap:.5rem;justify-content:center}

.alert{padding:.75rem 1rem;border-radius:8px;margin:1rem 0;background:#fde68a}
.alert.success{background:#bbf7d0}

.admin-grid .admin-item{position:relative}
.admin-actions{display:flex;gap:.5rem;align-items:center;padding:.5rem}
