*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:#111}
.container{max-width:1100px;margin:0 auto;padding:1rem}
.container.small{max-width:420px}
.hero{background:linear-gradient(180deg,#0ea5e9,#38bdf8);color:#fff;text-align:center;padding:2.5rem 1rem 2rem;border-bottom:4px solid #0ea5e9}
.hero .logo{width:140px;height:auto;margin:0 auto 0.5rem;display:block}
.hero .tag{opacity:.9;margin:0 0 .5rem}
.info-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;opacity:.9}
.carousel-section{background:#f8fafc;padding:1.5rem 0;border-bottom:1px solid #e5e7eb}
.carousel{display:flex;gap:1rem;overflow:auto;scroll-snap-type:x mandatory;padding:1rem}
.slide{min-width:280px;max-width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;scroll-snap-align:start;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.slide img, .news-card img, video{width:100%;display:block}
.slide-caption{padding:.75rem}
.agenda-section h2, .news-section h2{margin:1rem 0}
.agenda-item{padding:1rem;border:1px solid #e5e7eb;border-radius:12px;margin:.5rem 0;background:#fff}
.muted{color:#64748b}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.news-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.news-card header{padding:1rem 1rem .5rem}
.news-card .media{max-height:220px;overflow:hidden}
.news-card .body{padding:1rem}
.footer{background:#0f172a;color:#cbd5e1;margin-top:2rem}
.footer-inner{display:flex;justify-content:space-between;gap:1rem;align-items:center}
/* Admin */
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin:1rem 0}
label{display:block;margin:.5rem 0}
input, select, textarea{width:100%;padding:.6rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
button,.btn{display:inline-block;background:#0ea5e9;border:none;color:#fff;padding:.6rem .9rem;border-radius:8px;cursor:pointer;text-decoration:none}
.btn:hover,button:hover{opacity:.95}
.alert{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.5rem 1rem;border-radius:8px;margin:1rem 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #e5e7eb;padding:.6rem;text-align:left}
.admin-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}
a.danger{color:#ef4444}
