:root{--bg:#0e0e10;--card:#1b1b1f;--text:#f2f2f2;--muted:#bbb;--acc:#e7b3ff;--ok:#73e2a7;--warn:#ffd166;--no:#ef476f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,Segoe UI,Roboto}
a{color:var(--acc);text-decoration:none}.btn{display:inline-block;padding:.6rem 1rem;border-radius:.75rem;background:var(--acc);color:#222;border:0;cursor:pointer}
.btn.danger{background:var(--no)}.btn.ok{background:var(--ok)}.btn.warn{background:var(--warn)}
.hero{min-height:60vh;background-size:cover;background-position:center;position:relative}
.hero .overlay{backdrop-filter:brightness(.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:60vh;text-align:center;padding:2rem}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:0}
.hero .date,.hero .venue,.hashtag{color:var(--muted)}
.card{max-width:1000px;margin:2rem auto;background:var(--card);padding:1.25rem;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.card.small{max-width:420px}
label{display:flex;flex-direction:column;gap:.35rem;margin:.4rem 0}
input,select,textarea{padding:.6rem;border-radius:.6rem;border:1px solid #333;background:#111;color:#eee}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.flash-wrap{position:fixed;inset:auto 0 1rem 0;display:flex;justify-content:center;z-index:999}
.flash{background:#222;padding:.7rem 1rem;border-radius:.7rem;margin:.25rem}.flash.success{border-left:5px solid var(--ok)}.flash.error{border-left:5px solid var(--no)}
.grid-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}
.grid-photos img{width:100%;height:160px;object-fit:cover;border-radius:.6rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}
.stat{background:#111;padding:1rem;border-radius:.8rem;text-align:center}
.stat.ok{border:2px solid var(--ok)}.stat.warn{border:2px solid var(--warn)}.stat.no{border:2px solid var(--no)}
.table{width:100%;border-collapse:collapse;margin-top:1rem}.table th,.table td{border-bottom:1px solid #333;padding:.6rem;text-align:left}
.search{display:flex;gap:.5rem;align-items:center}
.photo-card{background:#111;border-radius:.6rem;padding:.5rem}
.photo-card img{width:100%;height:180px;object-fit:cover;border-radius:.5rem}
.photo-card .actions{display:flex;gap:.5rem;margin-top:.5rem}
.warn{color:var(--warn)}
