@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap");:root{--bg:#f5f3ef;--gold:#b8935a;--gold-dark:#9c7a45;--ink:#1a1a1a;--muted:#6b6660;--line:#e4ded4;--card:#fff;--ok:#3f7d54;--danger:#b4483d;--radius:16px;--shadow:0 1px 2px rgba(26,26,26,.04),0 8px 24px rgba(26,26,26,.05)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:DM Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--gold-dark);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center}.topbar{width:100%;display:flex;justify-content:center;padding:28px 20px 4px}.wordmark{font-weight:700;font-size:26px;letter-spacing:.18em;color:var(--ink);display:inline-flex;align-items:baseline;gap:2px}.wordmark .dot{color:var(--gold)}.wordmark-sub{display:block;text-align:center;font-size:10px;letter-spacing:.34em;color:var(--muted);margin-top:4px;text-transform:uppercase}.container{width:100%;max-width:560px;padding:24px 20px 80px}.container.wide{max-width:900px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.evento-card{border-color:#e6c877;animation:eventoHalo 2s ease-in-out infinite}@keyframes eventoHalo{0%,to{box-shadow:0 0 0 1px #e6c877,0 6px 18px rgba(184,134,11,.18)}50%{box-shadow:0 0 0 2px #d4a94e,0 10px 28px rgba(184,134,11,.45)}}@media (prefers-reduced-motion:reduce){.evento-card{animation:none;box-shadow:0 0 0 2px #d4a94e,0 8px 22px rgba(184,134,11,.3)}}h1{font-size:26px;margin:0 0 6px;letter-spacing:-.01em}h1,h2{font-weight:600}h2{font-size:18px;margin:0 0 14px}.lead{color:var(--muted);margin:0 0 22px;font-size:15px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--ink)}.field .hint{font-size:12px;color:var(--muted);margin-top:4px}.input,.textarea,select.input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,select.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,147,90,.15)}.textarea{min-height:84px;resize:vertical}.row{display:flex;gap:12px}.row .field{flex:1 1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;border:1px solid transparent;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s,border-color .15s}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--gold);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:var(--gold-dark)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--gold)}.btn-ok{background:var(--ok);color:#fff}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:8px 14px;font-size:13px}.notice{padding:14px 16px;border-radius:12px;font-size:14px;margin-bottom:18px}.notice-ok{background:#eef5f0;color:#2c5c3d;border:1px solid #cfe3d6}.notice-err{background:#fbeeec;color:#8f3a31;border:1px solid #f0d3ce}.solicitud{border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;background:#fff}.solicitud .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.solicitud .name{font-weight:600;font-size:16px}.solicitud .meta{font-size:13px;color:var(--muted);margin-top:2px}.solicitud .grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 18px;gap:6px 18px;margin:14px 0;font-size:14px}.solicitud .grid .k{color:var(--muted);font-size:12px}.actions{display:flex;gap:10px;margin-top:8px}.badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.02em}.badge-pend{background:#f4ecda;color:#8a6d2f}.badge-ok{background:#e7f1ea;color:#2c5c3d}.badge-no{background:#f7e6e3;color:#8f3a31}.tabs{display:flex;gap:6px;margin-bottom:20px}.tab{padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--muted)}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.empty{padding:40px 20px;font-size:15px}.empty,.footer-note{text-align:center;color:var(--muted)}.footer-note{font-size:12px;margin-top:26px}.center-min{min-height:70vh;display:flex;align-items:center;justify-content:center}.spinner{color:var(--muted);font-size:15px}.divider{height:1px;background:var(--line);margin:24px 0}.link-btn{background:none;border:none;color:var(--gold-dark);font:inherit;cursor:pointer;padding:0}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:232px;z-index:40;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 14px}.admin-brand{font-weight:700;letter-spacing:.18em;font-size:20px;padding:2px 10px 20px}.admin-brand .dot{color:var(--gold)}.admin-nav{display:flex;flex-direction:column;gap:4px}.admin-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--muted);font-weight:600;font-size:14px;text-decoration:none;position:relative}.admin-nav a:hover{background:#faf8f5;color:var(--ink)}.admin-nav a.active{background:var(--ink);color:#fff}.admin-nav a svg{flex-shrink:0}.admin-nav .nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.admin-nav a.active .nav-badge{background:var(--gold)}.admin-userpill{margin-top:auto;display:flex;align-items:center;gap:10px;background:#faf8f5;border:1px solid var(--line);border-radius:14px;padding:8px 10px}.admin-userpill .ph,.admin-userpill img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--line)}.admin-userpill .u-out{display:none}.admin-main{width:100%;padding-left:232px}@media (max-width:820px){.admin-sidebar{width:66px;padding:16px 8px}.admin-brand,.admin-nav .nav-label,.admin-userpill .u-name{display:none}.admin-nav a{justify-content:center;padding:12px 0}.admin-nav a.active{background:var(--ink)}.admin-nav .nav-badge{position:absolute;top:3px;right:8px;margin:0;min-width:17px;height:17px;font-size:10px}.admin-userpill{flex-direction:column;padding:8px 6px;gap:6px}.admin-userpill .u-out{display:inline-flex}.admin-main{padding-left:66px}}.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin:6px 0 28px}.dash-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;box-shadow:var(--shadow);transition:border-color .15s}.dash-tile:hover{border-color:var(--gold)}.dash-num{font-size:30px;font-weight:700;color:var(--ink);line-height:1}.dash-lbl{font-size:13px;color:var(--muted);margin-top:6px}.dash-sec-head{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 12px}.dash-sec-head h2{margin:0}.dash-row{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 18px;scroll-snap-type:x proximity}.dash-row>*{scroll-snap-align:start;flex-shrink:0}.dash-card{width:210px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow)}.dash-card-img{height:112px;background-size:cover;background-position:50%;position:relative}.dash-card-logo{position:absolute;left:10px;bottom:10px;height:40px;width:40px;object-fit:contain;background:#fff;border-radius:9px;padding:3px;box-shadow:0 2px 6px rgba(0,0,0,.15)}.dash-card-body{padding:12px 14px}.dash-card-title{font-weight:600;color:var(--ink);font-size:15px}.dash-creator{width:96px;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none}.dash-creator-name{font-size:13px;font-weight:600;color:var(--ink);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}.dash-colab{width:300px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.topbar{position:relative}.topbar-login{position:absolute;right:20px;top:22px;background:var(--ink);color:#fff;padding:9px 20px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none}.topbar-login:hover{background:var(--gold-dark);text-decoration:none}@media (max-width:560px){.topbar-login{right:14px;top:20px;padding:7px 15px;font-size:13px}}.home-hero{position:relative;margin:4px 0 26px}.home-gallery{display:flex;gap:10px;height:86vh;overflow:hidden;border-radius:18px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}.hg-col{flex:1 1;display:flex;flex-direction:column;gap:10px;will-change:transform}.hg-col img{width:100%;border-radius:12px;display:block;object-fit:cover}.hg-up{animation:hgUp 50s linear infinite}.hg-down{animation:hgDown 50s linear infinite}@keyframes hgUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes hgDown{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.home-panels{position:absolute;inset:0;display:flex;gap:16px;align-items:center;justify-content:center;padding:20px;pointer-events:none}.home-panel{pointer-events:auto;background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:18px;padding:22px 20px;max-width:300px;box-shadow:0 14px 44px rgba(26,26,26,.2);animation:floaty 5s ease-in-out infinite}.home-panel:nth-child(2){animation-delay:-2.5s}.home-panel-tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-bottom:8px}.home-panel p{font-size:14px;color:var(--ink);margin:0 0 14px;line-height:1.5}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:620px){.home-gallery{height:78vh}.home-panels{flex-direction:column;padding:16px;gap:12px}.home-panel{max-width:100%;width:100%;animation:none;padding:16px 18px}.home-panel p{margin-bottom:10px}}@media (prefers-reduced-motion:reduce){.hg-down,.hg-up,.home-panel{animation:none}}