body{background:#f6f7fb;color:#16151a;font-family:Inter,system-ui,sans-serif;padding-bottom:78px}.page-shell{max-width:1280px;padding:1rem}.event-header{background:linear-gradient(135deg,var(--brand),#30145c);color:#fff;padding:1.1rem max(1rem,calc((100vw - 1248px)/2));display:flex;align-items:center;justify-content:space-between}.event-header h1{font-size:1.35rem;margin:0}.event-header small{opacity:.8}.bottom-nav{position:fixed;z-index:1030;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ddd;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 4px env(safe-area-inset-bottom)}.bottom-nav a{text-align:center;color:#57515f;text-decoration:none;font-size:.76rem}.bottom-nav i{display:block;font-size:1.35rem}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 16px #21123d14}.photo-card .photo{width:100%;aspect-ratio:1/1;object-fit:cover;background:#ddd}.photo-actions{display:grid;grid-template-columns:repeat(4,1fr);padding:4px}.photo-actions button,.photo-actions a{border:0;background:none;text-align:center;padding:9px;color:#444;font-size:1.1rem}.photo-actions .active{color:#dc3545}.new-badge{position:absolute;margin:8px;background:var(--accent);padding:3px 8px;border-radius:99px;font-size:.7rem;font-weight:700}.admin-nav{display:flex;gap:4px;overflow:auto;background:#fff;padding:8px;position:sticky;top:56px;z-index:1020;border-bottom:1px solid #ddd}.admin-nav a{white-space:nowrap;padding:8px 12px;text-decoration:none;color:#333;border-radius:9px}.metric{border:0;border-radius:16px;box-shadow:0 4px 18px #0000000c}.table img{width:64px;height:64px;object-fit:cover;border-radius:8px}@media(min-width:700px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.page-shell{padding:1.5rem}.bottom-nav{max-width:520px;left:50%;transform:translateX(-50%);border:1px solid #ddd;border-radius:18px 18px 0 0}}

/* Galeria — superfície principal */
.gallery-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem 0 1rem}.gallery-intro h2{margin:0;font-size:clamp(1.7rem,7vw,2.6rem);font-weight:800;letter-spacing:-.04em}.gallery-intro p{margin:0;color:#6d6875}.gallery-intro .eyebrow{color:var(--brand);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.queue-shortcut{display:flex;align-items:center;gap:.5rem;background:#fff;color:#27222d;text-decoration:none;padding:.75rem .9rem;border-radius:14px;box-shadow:0 5px 22px #26143d12;font-weight:700}.queue-shortcut i{color:var(--brand);font-size:1.2rem}.gallery-toolbar{position:sticky;top:0;z-index:1010;background:#f6f7fbea;padding:.35rem 0 .8rem;backdrop-filter:blur(12px)}.gallery-search{height:52px;background:#fff;border:1px solid #e7e3eb;border-radius:16px;display:flex;align-items:center;padding:0 .45rem 0 1rem;box-shadow:0 6px 24px #25143e0d}.gallery-search>i{color:#8d8793}.gallery-search input{border:0;outline:0;min-width:0;flex:1;padding:.7rem;background:transparent;font-size:1rem}.gallery-search button{border:0;border-radius:11px;background:#26212b;color:#fff;padding:.6rem .9rem;font-weight:700}.gallery-search a{padding:.6rem;color:#706978}.filter-chips{display:flex;gap:.5rem;overflow:auto;padding:.75rem 0 .15rem;scrollbar-width:none}.filter-chips a{white-space:nowrap;text-decoration:none;color:#635d69;background:#fff;border:1px solid #e5e1e8;padding:.55rem .85rem;border-radius:999px;font-size:.9rem;font-weight:650}.filter-chips a.active{background:var(--brand);border-color:var(--brand);color:#fff}.new-photos-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,var(--brand),#432066);color:#fff;border-radius:15px;padding:.8rem 1rem;margin-bottom:.8rem;box-shadow:0 8px 28px color-mix(in srgb,var(--brand) 25%,transparent)}.new-photos-banner div{display:flex;gap:.55rem;align-items:center}.photo-card{border-radius:17px;box-shadow:0 5px 24px #25143e12;transition:transform .18s ease,box-shadow .18s ease}.photo-link{position:relative;display:block;overflow:hidden;background:#dedbe2}.photo-card .photo{transition:transform .3s ease}.photo-open{position:absolute;right:.55rem;bottom:.55rem;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#17121bb3;opacity:0;transition:opacity .2s}.photo-link:hover .photo{transform:scale(1.025)}.photo-link:hover .photo-open{opacity:1}.new-badge{z-index:2;color:#2d2000;box-shadow:0 3px 12px #0002}.photo-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem .15rem}.photo-info span{font-size:.83rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-info small{color:#88818d;font-size:.75rem}.photo-actions{gap:2px;padding:.25rem .35rem .45rem}.photo-actions button,.photo-actions a{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;border-radius:10px;padding:.4rem .15rem;font-size:1.05rem}.photo-actions button:hover,.photo-actions a:hover{background:#f3f0f5}.photo-actions span{font-size:.65rem;font-weight:650}.gallery-empty{text-align:center;background:#fff;padding:3.5rem 1rem;border-radius:20px;border:1px dashed #d8d1dc}.gallery-empty>span{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 1rem;border-radius:50%;background:#f1ebf9;color:var(--brand);font-size:1.8rem}.gallery-empty h3{font-size:1.2rem;font-weight:800}.gallery-empty p{color:#746e78}.gallery-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:1.5rem 0}.gallery-pagination a{width:max-content;color:#4f4856;text-decoration:none;background:#fff;border:1px solid #e2dce6;border-radius:12px;padding:.7rem .85rem;font-weight:700}.gallery-pagination a:last-child{justify-self:end}.gallery-pagination .primary{background:#26212b;color:#fff;border-color:#26212b}.gallery-pagination>span{text-align:center;color:#736d78;font-size:.9rem}@media(max-width:380px){.queue-shortcut span,.photo-info{display:none}.photo-actions span{font-size:.61rem}}@media(min-width:700px){.gallery-intro{padding-top:.5rem}.gallery-toolbar{top:0}.photo-card:hover{transform:translateY(-3px);box-shadow:0 11px 34px #25143e1c}}@media(min-width:1050px){.gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}
