@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--ink:#10252f;--teal:#007d83;--aqua:#76e4d1;--coral:#ff6758;--sun:#ffc951;--mist:#f7f5f0;--paper:#fffdf9;--line:#d9e3df}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 95% 5%,#d5fff6 0,transparent 24rem),var(--mist);font:16px/1.5 Outfit,system-ui,sans-serif;color:var(--ink)}header{min-height:72px;background:#fffdf9d9;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #d8e7e1;position:sticky;z-index:10;top:0}.brand{display:flex;align-items:center;gap:12px;font-size:.84rem;font-weight:800;letter-spacing:.1em}.brand img{height:48px;max-width:108px;object-fit:contain}nav{display:flex;align-items:center;gap:24px}a{color:var(--teal);text-decoration:none}nav a{font-weight:700}nav a:hover{color:var(--coral)}main{max-width:1130px;margin:0 auto;padding:48px 20px 72px}footer{text-align:center;padding:28px;background:var(--ink);color:#cae0db;font-size:.9rem}.hero{display:grid;grid-template-columns:1.07fr .93fr;min-height:480px;overflow:hidden;border-radius:26px;background:linear-gradient(125deg,#073c48,#096b70 62%,#159b96);color:#fff;box-shadow:0 22px 48px #063b4050;position:relative}.hero-copy{padding:58px;position:relative;z-index:2}.eyebrow{margin:0;color:var(--teal);font:500 .75rem 'DM Mono',monospace;letter-spacing:.12em}.hero .eyebrow{color:#93f7df}.title-line{margin-top:18px;font:500 .74rem 'DM Mono',monospace;letter-spacing:.13em;color:#d6fff5}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sun);margin-right:7px;box-shadow:0 0 0 0 #ffc951aa;animation:pulse 1.9s infinite}.hero h1{font-size:clamp(2.7rem,5.3vw,5rem);line-height:.93;margin:18px 0}.hero h1 em,.feature h2 em{font-style:normal;color:var(--sun)}.hero-text{font-size:1.13rem;max-width:460px;color:#e6fffa}.event-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.event-pills span{padding:7px 10px;border:1px solid #b7fff055;border-radius:999px;color:#ecfffa;font:500 .7rem 'DM Mono',monospace}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;background:var(--teal);color:#fff;font:700 1rem Outfit,sans-serif;padding:13px 23px;cursor:pointer;margin-top:22px;box-shadow:0 7px 14px #007d8330;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{background:#005f68;transform:translateY(-3px);box-shadow:0 11px 18px #007d8340;text-decoration:none}.button-warm{background:var(--sun);color:var(--ink)}.button-warm:hover{background:#ffb929}.button span{font-size:1.35em;line-height:0}.hero-visual{overflow:hidden;position:relative;isolation:isolate}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#096b7088,transparent 38%),linear-gradient(0deg,#06353b44,transparent 50%);z-index:1}.hero-visual img{position:absolute;width:100%;height:100%;object-fit:cover;mix-blend-mode:luminosity;filter:contrast(1.1) saturate(.8);transition:transform .6s ease}.hero:hover .hero-visual img{transform:scale(1.04)}.orbit{position:absolute;border-radius:50%;border:1px solid #b5fff277;z-index:2;animation:float 6s ease-in-out infinite}.orbit-one{height:240px;width:240px;right:-65px;top:-58px}.orbit-two{height:100px;width:100px;right:100px;bottom:35px;animation-delay:-3s}.floating-note{position:absolute;z-index:3;right:25px;bottom:24px;padding:14px 16px;background:#ff6758;color:#fff;line-height:1;font:500 .72rem 'DM Mono',monospace;letter-spacing:.1em;transform:rotate(-6deg);box-shadow:8px 8px 0 #0b414899}.floating-note b{font:800 1.5rem Outfit,sans-serif}.feature{display:grid;grid-template-columns:350px 1fr;gap:56px;align-items:center;margin-top:36px;padding:29px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 32px #10252f0d}.poster-wrap{position:relative}.feature img{display:block;width:100%;max-height:460px;object-fit:contain;border-radius:12px;box-shadow:12px 13px 0 #d2f5e9}.poster-tag{position:absolute;right:-10px;top:16px;background:var(--coral);color:#fff;padding:7px 14px;font:500 .72rem 'DM Mono',monospace;letter-spacing:.12em;transform:rotate(5deg)}.feature-copy{max-width:420px}.feature h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:.86;margin:12px 0 18px}.feature-copy>p:not(.eyebrow){font-size:1.12rem}.schedule{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.schedule>span{color:var(--coral);font-size:3.2rem;font-weight:800;line-height:.8}.schedule div{font-size:.94rem}.info-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:23px;margin-top:36px;padding:29px 34px;border-radius:18px;background:linear-gradient(105deg,#ffdc79,#ffc951);box-shadow:0 12px 24px #cf962333}.info-card h2{font-size:1.8rem;margin:3px 0}.info-card p:not(.eyebrow){margin:2px 0}.info-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:#fff5cf;font-size:1.6rem}.info-card .button{background:var(--ink);margin:0}.info-card .button:hover{background:#244754}.form-card,.confirmation{max-width:780px;margin-left:auto;margin-right:auto}.card{margin-top:28px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 4px 12px #132a3b0a}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:22px 0}.wide{grid-column:span 2}label{display:grid;gap:6px;font-weight:650}input,select{border:1px solid #aec1c7;border-radius:7px;padding:11px;font:inherit;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid #81ccd970;border-color:var(--teal)}.alert{border-radius:8px;padding:12px 15px;margin:14px 0}.error{background:#ffe8e7;color:#8c2520}.success{background:#e2f5e8;color:#176e38}.info{background:#e2f2f8;color:#075b78}.confirmation{text-align:center}.qr{width:280px;max-width:100%;margin:18px auto}.admin main{max-width:440px}.login label{margin:18px 0}.table-header{display:flex;justify-content:space-between;align-items:center;gap:18px}.table-wrap{overflow:auto;margin-top:24px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left}th{background:#eef5f6;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}@keyframes pulse{70%{box-shadow:0 0 0 9px #ffc95100}}@keyframes float{50%{transform:translateY(14px) rotate(9deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:700px){header{padding:12px 20px;gap:14px;align-items:flex-start;flex-direction:column}nav{gap:16px;font-size:.9rem}main{padding:25px 14px 50px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 30px}.hero-visual{height:255px}.hero-visual img{mix-blend-mode:normal}.feature{grid-template-columns:1fr;gap:28px;padding:22px}.feature img{max-height:none}.poster-wrap{max-width:330px;margin:auto}.info-card{grid-template-columns:auto 1fr;padding:24px}.info-card .button{grid-column:span 2;width:100%}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.card{padding:22px}.table-header{align-items:flex-start;flex-direction:column}}
.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#062f38a8;backdrop-filter:blur(5px)}.modal-backdrop[hidden]{display:none}.dni-modal{position:relative;width:min(100%,560px);max-height:90vh;overflow:auto;background:#fffdf9;border-radius:20px;padding:38px;box-shadow:0 26px 70px #031a2080}.dni-modal h2{font-size:2rem;margin:7px 0}.modal-close{border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.dni-modal>.modal-close{position:absolute;right:17px;top:13px;font-size:2rem;line-height:1}.dni-modal form{margin-top:24px}.dni-modal label{max-width:340px}.modal-error{margin:12px 0 0;color:#a52822;font-weight:700}.registered-data{display:grid;grid-template-columns:max-content 1fr;gap:9px 20px;margin:23px 0}.registered-data dt{font-weight:800;color:var(--teal)}.registered-data dd{margin:0}@media(max-width:500px){.dni-modal{padding:31px 24px}.registered-data{grid-template-columns:1fr;gap:1px}.registered-data dd{margin-bottom:10px}}

[hidden]{display:none!important}

.was-validated input:invalid,.was-validated select:invalid{border-color:#d6362d;background:#fff1f0;box-shadow:0 0 0 3px #d6362d24}.was-validated input:valid,.was-validated select:valid{border-color:#299369}

.admin-dashboard{max-width:1260px}.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px;border-radius:20px;background:linear-gradient(120deg,#073d49,#087a80);color:#fff}.admin-welcome .eyebrow{color:#9cf5e3}.admin-welcome h1{margin:7px 0;font-size:2.25rem}.admin-welcome p:not(.eyebrow){margin:0;color:#d8fffa}.admin-welcome .button{margin:0;white-space:nowrap}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.admin-stats article{padding:23px;border-radius:16px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 5px 16px #132a3b0a}.admin-stats span,.admin-stats small{display:block;font:500 .72rem 'DM Mono',monospace;letter-spacing:.08em}.admin-stats span{color:var(--teal)}.admin-stats strong{display:block;margin:4px 0;font-size:2.35rem}.admin-stats small{color:#60737b;letter-spacing:0}.admin-section{max-width:none;margin-top:24px}.admin-section h2{margin:4px 0 0}.event-status{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf1f0;font-size:.78rem;font-weight:700}.event-status.published{background:#dff6ed;color:#176e38}@media(max-width:700px){.admin-welcome{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:1fr}.admin-welcome .button{width:100%}}

.admin-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh;background:var(--mist)}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 18px;background:#082f3a;color:#e9fffa}.admin-logo{display:grid;gap:3px;padding:0 12px 30px;color:#fff}.admin-logo span{font-size:1.55rem;font-weight:800;letter-spacing:.1em}.admin-logo small{color:#8fe9d7;font:500 .72rem 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.admin-menu{display:grid;gap:7px}.admin-menu a,.admin-sidebar-bottom a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:9px;color:#d6f4ef;font-weight:700}.admin-menu a:hover,.admin-menu a:focus{background:#17616a;color:#fff;text-decoration:none}.admin-menu b{display:inline-grid;place-items:center;width:22px;color:var(--sun)}.admin-sidebar-bottom{display:grid;gap:4px;margin-top:auto;padding-top:22px;border-top:1px solid #ffffff26}.admin-sidebar-bottom a{font-size:.88rem}.admin-sidebar-bottom a:hover{color:#fff;text-decoration:none}.admin-shell .admin-dashboard{width:auto;max-width:none;margin:0;padding:38px 42px 64px}.admin-section,.profile-card{scroll-margin-top:24px}.profile-card{max-width:620px;margin:28px 0 0}.profile-card h2{margin:5px 0}.profile-card p:not(.eyebrow){color:#52666d}@media(max-width:820px){.admin-shell{display:block}.admin-sidebar{position:static;height:auto;padding:18px}.admin-logo{padding:0 5px 15px}.admin-menu{grid-template-columns:repeat(3,1fr)}.admin-menu a{justify-content:center;font-size:.85rem;padding:10px 5px}.admin-menu b{display:none}.admin-sidebar-bottom{display:flex;margin-top:15px;padding-top:12px}.admin-shell .admin-dashboard{padding:24px 14px 50px}}@media(max-width:480px){.admin-menu{grid-template-columns:1fr}.admin-sidebar-bottom{display:grid}.admin-shell .admin-dashboard{padding:18px 12px 44px}}

.event-actions{display:flex;gap:8px;align-items:center}.event-actions a,.event-actions button{border:0;border-radius:7px;padding:7px 10px;background:#e4f3f1;color:#075b60;font:700 .82rem Outfit,sans-serif;cursor:pointer}.event-actions form{margin:0}.event-actions button{background:#ffe6e3;color:#a52822}.event-form{max-width:850px}.event-form textarea{resize:vertical;border:1px solid #aec1c7;border-radius:7px;padding:11px;font:inherit}.secondary-button{background:#e6eeee;color:#16444a;margin-right:8px}.secondary-button:hover{background:#d4e2e1}@media(max-width:700px){.event-actions{align-items:flex-start;flex-direction:column}}

.locked-event{padding:7px 10px;border-radius:7px;background:#f1f0ed;color:#6d675c;font-size:.78rem;font-weight:700;white-space:nowrap}

.locked-event{text-decoration:none}

.password-card{max-width:620px}.password-form{display:grid;gap:18px;margin-top:22px}.password-form .button{justify-self:start}

.participant-name{text-transform:uppercase}
