:root{--accent: #0d9488;--accent-dark: #0f766e;--bg: #0f172a;--bg-card: #1e293b;--text: #e2e8f0;--text-muted: #94a3b8;--danger: #ef4444;--ok: #22c55e;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:1.5rem}h1,h2,h3{color:var(--text)}.btn{display:inline-block;padding:.6rem 1.2rem;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:1rem;cursor:pointer;transition:background .2s}.btn:hover{background:var(--accent-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--bg-card);color:var(--text)}.btn.danger{background:var(--danger)}.btn.small{padding:.3rem .7rem;font-size:.85rem}.card{background:var(--bg-card);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}input[type=text],input[type=password],input[type=number]{width:100%;padding:.6rem;border-radius:var(--radius);border:1px solid #334155;background:var(--bg);color:var(--text);margin-bottom:.75rem}.error{color:var(--danger)}.muted{color:var(--text-muted)}.status-open{color:var(--ok);font-weight:600}.status-closed{color:var(--text-muted)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:8px;cursor:pointer}.slideshow-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden}.slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}.slide.active{opacity:1}.slide.kenburns{animation:kenburns 12s ease-in-out forwards}@keyframes kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.12) translate(-2%,-2%)}}.slideshow-controls{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.slideshow-count{position:fixed;top:1rem;right:1rem;color:#fff;background:#00000080;padding:.3rem .7rem;border-radius:6px;z-index:10}.event-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.event-row .spacer{flex:1}.qr-box{margin-top:.5rem}.qr-box img{background:#fff;border-radius:6px;padding:4px}.photo-admin{position:relative}.photo-admin img{width:100%;height:150px;object-fit:cover;border-radius:8px}.photo-admin .actions{display:flex;gap:.3rem;margin-top:.3rem}.photo-admin.hidden img{opacity:.4}
