@import url('../assets/fonts.css');
:root{
  --ink:#111111;--ink-soft:#3A3A3A;--muted:#555555;--line:#E6E6E6;
  --bg:#FFFFFF;--bg-soft:#F7F7F7;--bg-warm:#FFF3EB;
  --primary:#FF6A00;--primary-dark:#E25E00;--primary-tint:#FFE3CF;--ink2:#111111;
  --shadow:0 1px 2px rgba(17,17,17,.05),0 10px 28px rgba(17,17,17,.07);
  --radius:14px;--font:"Montserrat","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--bg-soft);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--primary-dark);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
.wrap-wide{max-width:1140px;margin:0 auto;padding:0 18px}

/* Topbar */
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.topbar-inner{display:flex;align-items:center;gap:11px;height:62px;max-width:1140px;margin:0 auto;padding:0 18px}
.topbar img{width:auto;height:28px;border-radius:0}
.topbar .tt{font-weight:800;font-size:1.02rem}
.topbar .tt small{display:block;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.topbar .right{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:.9rem}
.admin-nav{display:flex;gap:6px;margin-left:22px}
.admin-nav a{font-size:.9rem;font-weight:600;color:var(--ink-soft);padding:7px 13px;border-radius:9px;text-decoration:none}
.admin-nav a:hover{background:var(--bg-soft);color:var(--primary)}
.admin-nav a.on{background:var(--primary);color:#fff}
@media(max-width:820px){.admin-nav a{padding:6px 9px;font-size:.82rem}.topbar .right span{display:none}}

/* Cards / paneles */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);margin:24px 0}
h1{font-size:1.6rem;letter-spacing:-.02em;margin-bottom:6px}
h2{font-size:1.2rem;margin:0 0 14px}
.sub{color:var(--muted);margin-bottom:22px}

/* Formularios */
label{display:block;font-size:.85rem;font-weight:700;color:var(--ink-soft);margin:16px 0 7px}
.req{color:var(--primary)}
input[type=text],input[type=tel],input[type=email],input[type=password],select,textarea{
  width:100%;border:2px solid var(--line);border-radius:11px;padding:12px 14px;
  font-family:inherit;font-size:1rem;color:var(--ink);transition:.15s;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}
textarea{min-height:110px;resize:vertical}
.hint{font-size:.8rem;color:var(--muted);margin-top:5px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:1rem;
  padding:13px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.18s;font-family:inherit}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.btn-sm{padding:8px 15px;font-size:.88rem}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Mensajes */
.msg{padding:14px 16px;border-radius:11px;font-size:.92rem;margin-bottom:18px}
.msg-error{background:#FDE8E4;color:#B02A15;border:1px solid #F5C4B8}
.msg-ok{background:#E2F5EC;color:#0A7346;border:1px solid #Bce8D3}

/* Folio destacado */
.folio-box{background:var(--bg-warm);border:2px dashed var(--primary);border-radius:14px;padding:22px;text-align:center;margin:18px 0}
.folio-box .f{font-size:1.8rem;font-weight:800;letter-spacing:.04em;color:var(--primary-dark)}
.folio-box small{color:var(--muted)}

/* Estado badge */
.badge{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;color:#fff}

/* Tabla admin */
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden}
.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}
.table th{background:var(--bg-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.table tr:hover td{background:#FFFBF7}
.table a{font-weight:700}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.filtros select,.filtros input{width:auto;padding:9px 12px;font-size:.9rem}

/* Timeline */
.tl{list-style:none;border-left:2px solid var(--line);margin:10px 0;padding-left:18px}
.tl li{position:relative;margin-bottom:16px}
.tl li::before{content:"";position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--primary)}
.tl .when{font-size:.78rem;color:var(--muted)}

.kv{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;margin:12px 0}
.kv .k{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.foot{color:var(--muted);font-size:.82rem;text-align:center;padding:26px 0}
@media(max-width:600px){.row,.kv{grid-template-columns:1fr}}
@media(max-width:820px){.ev-form{grid-template-columns:1fr !important}}
.ev-banner{width:100%;max-height:420px;object-fit:cover;border-radius:16px;border:1px solid var(--line);margin-bottom:6px}
.ev-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin:14px 0}
.ev-meta div{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--ink-soft)}
.cal-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
