@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap";:root{color:#30234b;font-synthesis:none;text-rendering:optimizelegibility;background:#f7efff;font-family:Nunito,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{width:100%}#root{min-height:100vh}.page-shell{background:radial-gradient(circle at 0 0,#ff77b840,#0000 28%),radial-gradient(circle at 100% 0,#4abcff40,#0000 30%),linear-gradient(#fff8fc 0%,#f3efff 100%);min-height:100vh;padding:24px 12px 50px}.invitation{background:#fff;border:8px solid #fff;border-radius:34px;width:min(100%,720px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 28px 80px #4f2d7438}.rainbow-background{opacity:.18;pointer-events:none;grid-template-columns:repeat(5,1fr);height:620px;display:grid;position:absolute;inset:0 0 auto}.rainbow-background span:first-child{background:#ff5268}.rainbow-background span:nth-child(2){background:#ff9f43}.rainbow-background span:nth-child(3){background:#ffd93d}.rainbow-background span:nth-child(4){background:#5dcc78}.rainbow-background span:nth-child(5){background:#4da6ff}.hero{z-index:2;text-align:center;padding:84px 28px 54px;position:relative}.eyebrow{color:#7b3bb2;background:#ffffffc7;border:2px solid #fffc;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-weight:800;display:inline-flex;box-shadow:0 10px 25px #58307e1f}.hero-intro{color:#78479d;margin:22px 0 0;font-family:"Baloo 2",cursive;font-size:clamp(1.25rem,4vw,1.8rem);font-weight:700}.age-badge{color:#fff;background:linear-gradient(145deg,#5ab9ff,#3369da);border:7px solid #fff;border-radius:34px;place-items:center;width:128px;height:128px;margin:6px auto -8px;font-family:"Baloo 2",cursive;font-size:6rem;font-weight:800;line-height:1;display:grid;transform:rotate(-3deg);box-shadow:0 20px 35px #3566da4d,inset 0 -10px #00000014}h1{margin:10px 0 0;font-family:"Baloo 2",cursive;line-height:.94}h1 span{color:#e53f94;text-shadow:0 5px #fff;font-size:clamp(2.8rem,10vw,5.4rem);display:block}h1 small{color:#733cad;margin-top:13px;font-size:clamp(1.55rem,5vw,2.6rem);display:block}.hero-message{color:#fff;background:linear-gradient(90deg,#a846c8,#ec4e9c);border-radius:16px;margin:25px 0 18px;padding:12px 24px;font-size:clamp(1rem,4vw,1.35rem);font-weight:800;display:inline-block;box-shadow:0 12px 24px #b43ca742}.blocks-row{justify-content:center;align-items:flex-end;gap:clamp(7px,2vw,15px);min-height:150px;margin-top:12px;display:flex}.number-block{border:4px solid #fff;border-radius:17px;justify-content:center;align-items:center;width:clamp(52px,12vw,80px);height:clamp(65px,14vw,95px);animation:3s ease-in-out infinite float;display:flex;position:relative;box-shadow:0 12px 18px #432c5a33,inset 0 -8px #00000014}.number-block-1{background:#f14e5d}.number-block-2{background:#ff963e;height:clamp(80px,17vw,120px);animation-delay:.2s}.number-block-3{background:#f6ca38;height:clamp(95px,20vw,145px);animation-delay:.4s}.number-block-4{background:#56be72;height:clamp(110px,23vw,165px);animation-delay:.6s}.number-block-5{background:#4c91e8;height:clamp(128px,27vw,195px);animation-delay:.8s}.number-label{color:#3a2855;font-family:"Baloo 2",cursive;font-size:2rem;font-weight:800;position:absolute;top:-33px}.eyes{gap:7px;display:flex;transform:translateY(-8px)}.eyes span{background:#fff;border:3px solid #302645;border-radius:50%;width:12px;height:16px}.smile{border-bottom:4px solid #302645;border-radius:0 0 20px 20px;width:23px;height:11px;position:absolute;top:58%}.music-button{z-index:10;color:#7242a1;background:#ffffffe6;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-weight:800;display:inline-flex;position:absolute;top:18px;right:18px;box-shadow:0 8px 20px #39205326}.music-button.active{color:#fff;background:#a44ccc}.event-details{z-index:3;grid-template-columns:repeat(2,1fr);gap:14px;padding:0 28px 34px;display:grid;position:relative}.event-details article{background:#fffffff0;border:1px solid #eadff4;border-radius:20px;align-items:center;gap:14px;min-height:95px;padding:18px;display:flex;box-shadow:0 12px 30px #41255b14}.event-details svg{color:#d84698;flex:none}.event-details span{color:#947aa9;text-transform:uppercase;font-size:.8rem;font-weight:800;display:block}.event-details strong{color:#3d2a51;margin-top:4px;display:block}.confirmation-section{z-index:4;background:linear-gradient(#fdf9ff,#f7edff);padding:36px 28px 42px;position:relative}.section-heading{text-align:left;justify-content:center;align-items:center;gap:13px;margin-bottom:26px;display:flex}.section-heading .heart-icon{color:#fff;background:#e3489d;border-radius:15px;width:44px;height:44px;padding:10px}.section-heading span{color:#9c7dae;text-transform:uppercase;font-size:.85rem;font-weight:800}.section-heading h2{color:#60338b;margin:2px 0 0;font-family:"Baloo 2",cursive;font-size:2rem;line-height:1}form{gap:19px;display:grid}.attendance-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.attendance-options button{color:#725887;background:#fff;border:2px solid #ded0eb;border-radius:17px;justify-content:center;align-items:center;gap:8px;min-height:58px;font-weight:800;display:flex}.attendance-options button.selected{color:#287844;background:#edfff2;border-color:#57bf75}.attendance-options button.selected.no{color:#a53755;background:#fff1f5;border-color:#e77391}.form-grid,.counter-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}label{color:#59416d;gap:8px;font-size:.9rem;font-weight:800;display:grid}input,textarea{color:#38274a;background:#fff;border:2px solid #e5d9ef;border-radius:14px;outline:none;transition:border-color .2s,box-shadow .2s}input{height:51px;padding:0 15px}textarea{resize:vertical;min-height:110px;padding:14px 15px}input:focus,textarea:focus{border-color:#ae64d2;box-shadow:0 0 0 4px #ae64d221}.people-counter{color:#65417d;background:#efe0ff;border-radius:17px;justify-content:space-between;align-items:center;padding:16px 19px;display:flex}.people-counter div{align-items:center;gap:10px;font-weight:800;display:flex}.people-counter strong{color:#fff;background:#8844b0;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.25rem;display:grid}.form-error{color:#a33151;background:#fff1f5;border:1px solid #f1a3b7;border-radius:13px;padding:13px 15px;font-weight:700}.submit-button{color:#fff;background:linear-gradient(90deg,#8f43bb,#e3489c);border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;min-height:60px;font-size:1.05rem;font-weight:800;display:flex;box-shadow:0 15px 28px #af41a647}.submit-button:disabled{cursor:wait;opacity:.72}.spinner{animation:.8s linear infinite spin}.success-card{text-align:center;background:#fff;border:2px solid #cdeed7;border-radius:24px;padding:34px 22px;box-shadow:0 16px 36px #41684e17}.success-icon{color:#fff;background:#52ba70;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 17px;display:grid}.success-icon svg{width:40px;height:40px}.success-card h2{color:#4f3070;margin:0;font-family:"Baloo 2",cursive;font-size:2rem}.success-card p{color:#6b5a77;line-height:1.6}.success-card span{color:#37804c;margin:13px 0 22px;font-weight:800;display:block}.success-card button{color:#fff;background:#8c4ab0;border:0;border-radius:12px;padding:11px 18px;font-weight:800}footer{color:#fff;background:#66388d;justify-content:center;align-items:center;gap:9px;padding:24px;font-weight:800;display:flex}.confetti{z-index:1;background:#ff4f99;border-radius:3px;width:11px;height:22px;position:absolute;transform:rotate(28deg)}.confetti-one{top:130px;left:8%}.confetti-two{background:#36a9e1;top:220px;right:8%;transform:rotate(-25deg)}.confetti-three{background:#ffbd2e;top:390px;left:15%;transform:rotate(55deg)}@keyframes float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-9px)rotate(1deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=620px){.page-shell{padding:0}.invitation{border:0;border-radius:0}.music-button span{display:none}.hero{padding-left:18px;padding-right:18px}.event-details,.form-grid,.counter-grid{grid-template-columns:1fr}.event-details,.confirmation-section{padding-left:18px;padding-right:18px}.attendance-options{grid-template-columns:1fr}}.invitation-cover{z-index:3;background:#fff;width:100%;position:relative}.invitation-cover img{object-fit:cover;width:100%;height:auto;display:block}.birthday-video-section{z-index:4;background:radial-gradient(circle at 0 0,#ffd54040,#0000 35%),linear-gradient(#fff 0%,#fff8fd 100%);padding:30px 28px 36px;position:relative}.video-heading{text-align:left;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;display:flex}.video-heading>span{background:linear-gradient(145deg,#ffcc3d,#ff8c38);border-radius:16px;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid;box-shadow:0 10px 22px #ff8e3640}.video-heading small{color:#a27caf;text-transform:uppercase;font-size:.82rem;font-weight:800;display:block}.video-heading h2{color:#6c3993;margin:2px 0 0;font-family:"Baloo 2",cursive;font-size:clamp(1.45rem,5vw,2rem);line-height:1.1}.birthday-video{background:#171020;border:6px solid #fff;border-radius:24px;width:100%;max-height:520px;display:block;box-shadow:0 18px 45px #3f235638}@media (width<=620px){.birthday-video-section{padding-left:16px;padding-right:16px}.birthday-video{border-width:4px;border-radius:18px}}.location-card{min-height:95px;color:inherit;background:#fffffff0;border:1px solid #eadff4;border-radius:20px;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 12px 30px #41255b14}.location-card:hover{border-color:#d84698;transform:translateY(-2px);box-shadow:0 16px 34px #41255b24}.location-card svg{color:#d84698;flex:none}.location-card span{color:#947aa9;text-transform:uppercase;font-size:.8rem;font-weight:800;display:block}.location-card strong{color:#3d2a51;margin-top:4px;display:block}.location-card small{color:#765f86;margin-top:3px;font-size:.82rem;line-height:1.35;display:block}.location-card em{color:#d84698;margin-top:7px;font-size:.78rem;font-style:normal;font-weight:800;display:inline-block}.invitation-start-screen{z-index:9999;background:linear-gradient(#29124494,#291244b8),url(/fiestayeyita.png) top/cover no-repeat;place-items:center;min-height:100dvh;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.start-screen-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(circle at top,#ffffff29,#0000 38%),linear-gradient(#52207824,#2a1043a6);position:absolute;inset:0}.start-screen-content{z-index:2;text-align:center;background:#fffffff0;border:4px solid #ffffffe6;border-radius:30px;width:min(100%,560px);padding:34px 25px;animation:.55s ease-out startCardEntrance;position:relative;box-shadow:0 30px 80px #19092a73}.start-screen-icon{margin-bottom:10px;font-size:3rem;animation:1.8s ease-in-out infinite startIconBounce;display:block}.start-screen-content>p{color:#7a479a;margin:0;font-size:1.05rem;font-weight:800}.start-screen-age strong{color:#fff;background:linear-gradient(145deg,#59b8ff,#3571dc);border:4px solid #fff;border-radius:17px;place-items:center;width:58px;height:58px;margin:0 6px;font-family:"Baloo 2",cursive;font-size:2.8rem;line-height:1;display:inline-grid;transform:rotate(-3deg);box-shadow:0 10px 22px #346cd54d}.open-invitation-button{color:#fff;background:linear-gradient(90deg,#8c43bc,#e34499);border:0;border-radius:19px;justify-content:center;align-items:center;gap:11px;width:100%;min-height:64px;font-size:clamp(1rem,4vw,1.18rem);font-weight:900;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 16px 30px #a83a9e57}.open-invitation-button:hover{transform:translateY(-2px);box-shadow:0 20px 38px #a83a9e6b}.open-invitation-button:active{transform:scale(.98)}.open-invitation-button span{color:#b23c9b;background:#fff;border-radius:50%;place-items:center;width:35px;height:35px;font-size:.9rem;display:grid}.sound-notice{color:#8d789b;margin-top:14px;font-size:.76rem;font-weight:700;display:block}@keyframes startCardEntrance{0%{opacity:0;transform:translateY(30px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes startIconBounce{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-7px)rotate(5deg)}}@media (width<=620px){.invitation-start-screen{padding:14px}.start-screen-content{border-width:3px;border-radius:25px;padding:28px 19px}}.invitation-start-screen{z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#2d124694,#2d1246c7),url(/fiestayeyita.png) top/cover no-repeat;place-items:center;min-height:100dvh;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.start-screen-content{text-align:center;background:#fffffff5;border:4px solid #fff;border-radius:30px;width:min(100%,540px);padding:34px 24px;box-shadow:0 30px 80px #1c092e80}.start-screen-icon{font-size:3.2rem;display:block}.start-screen-content>p{color:#754592;margin:8px 0;font-weight:800}.start-screen-content h1{color:#e23f94;margin:10px 0;font-family:"Baloo 2",cursive;font-size:clamp(2.5rem,10vw,4.2rem);line-height:.95}.start-screen-content h1 small{color:#673993;margin-top:13px;font-size:.5em;line-height:1.1;display:block}.start-screen-age{color:#653a89;margin:22px 0;font-size:1.2rem;font-weight:900}.start-screen-age strong{color:#fff;background:linear-gradient(145deg,#5cbcff,#3871dc);border-radius:17px;place-items:center;width:58px;height:58px;margin:0 6px;font-family:"Baloo 2",cursive;font-size:2.8rem;display:inline-grid}.open-invitation-button{color:#fff;background:linear-gradient(90deg,#8e43ba,#e34499);border:0;border-radius:18px;justify-content:center;align-items:center;gap:11px;width:100%;min-height:64px;font-size:1.08rem;font-weight:900;display:flex;box-shadow:0 15px 30px #ab389e59}.open-invitation-button span{color:#b43f9d;background:#fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.sound-notice{color:#8c7799;margin-top:14px;font-weight:700;display:block}.admin-login-page{background:radial-gradient(circle at 0 0,#e8429a3d,#0000 32%),radial-gradient(circle at 100% 100%,#52a6ff40,#0000 34%),linear-gradient(145deg,#fdf7ff,#eee8ff);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{text-align:center;background:#fffffff5;border:1px solid #70419024;border-radius:28px;width:min(100%,450px);padding:38px;box-shadow:0 30px 80px #48266233}.admin-login-logo{color:#fff;background:linear-gradient(145deg,#8143b0,#e34799);border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 18px;display:grid;box-shadow:0 16px 30px #9a3a9b4d}.admin-login-logo svg{width:36px;height:36px}.admin-eyebrow{color:#9b7bac;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.admin-login-card h1,.admin-header h1{color:#4f2f69;margin:8px 0;font-family:"Baloo 2",cursive}.admin-login-card h1{font-size:2.25rem;line-height:1}.admin-login-card>p{color:#796986;margin:10px auto 27px;line-height:1.55}.admin-login-form{text-align:left;gap:17px;display:grid}.admin-login-form label{color:#584167;gap:8px;font-weight:800;display:grid}.admin-login-form input{border:2px solid #e6daed;border-radius:14px;outline:none;height:52px;padding:0 15px}.admin-login-form input:focus{border-color:#a65fc9;box-shadow:0 0 0 4px #a65fc921}.admin-login-form button{color:#fff;background:linear-gradient(90deg,#8143b0,#e34799);border:0;border-radius:16px;min-height:56px;font-weight:900;box-shadow:0 14px 28px #993a9940}.admin-login-form button:disabled{cursor:wait;opacity:.7}.admin-error{color:#a32f51;background:#fff0f5;border:1px solid #ef9db4;border-radius:13px;padding:12px 14px;font-weight:800}.admin-back-link{color:#8548ab;margin-top:24px;font-weight:800;text-decoration:none;display:inline-block}.admin-dashboard{background:#f7f4fa;min-height:100vh;padding:34px}.admin-header{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1320px);margin:0 auto 26px;display:flex}.admin-header h1{font-size:clamp(2.1rem,4vw,3.2rem);line-height:1}.admin-header p{color:#807188;margin:5px 0 0}.admin-header-actions{align-items:center;gap:10px;display:flex}.admin-session-user,.admin-header-actions button{border-radius:13px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:800;display:inline-flex}.admin-session-user{color:#654976;background:#fff;box-shadow:0 8px 20px #48285b14}.admin-header-actions button{border:0}.admin-refresh-button{color:#654976;background:#fff}.admin-logout-button{color:#fff;background:#633a7c}.admin-header-actions svg{width:18px;height:18px}.admin-summary-grid{grid-template-columns:repeat(6,1fr);gap:14px;width:min(100%,1320px);margin:0 auto 28px;display:grid}.admin-summary-card{background:#fff;border:1px solid #ebe2ef;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;min-height:125px;padding:20px;display:flex;box-shadow:0 12px 30px #44275312}.admin-summary-card.primary{color:#fff;background:linear-gradient(145deg,#7441a0,#dc4697);border:0}.admin-summary-card span{color:#95849f;text-transform:uppercase;font-size:.78rem;font-weight:900;display:block}.admin-summary-card.primary span{color:#ffffffc7}.admin-summary-card strong{color:#493159;margin-top:7px;font-size:2rem;display:block}.admin-summary-card.primary strong{color:#fff}.admin-summary-card>svg{color:#bc5da2;width:30px;height:30px}.admin-summary-card.primary>svg{color:#fff}.admin-page-error{width:min(100%,1320px);margin:0 auto 20px}.admin-list-section{background:#fff;border:1px solid #ebe3ee;border-radius:24px;width:min(100%,1320px);margin:0 auto;padding:26px;box-shadow:0 18px 45px #46295414}.admin-list-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.admin-list-heading span{color:#9a829f;text-transform:uppercase;font-size:.78rem;font-weight:900}.admin-list-heading h2{color:#4a315b;margin:3px 0 0;font-family:"Baloo 2",cursive;font-size:2rem;line-height:1}.admin-list-heading>strong{color:#75458e;background:#f1e5f6;border-radius:999px;padding:9px 13px}.admin-confirmation-list{gap:15px;display:grid}.admin-confirmation-card{background:#fdfbfe;border:1px solid #eadfed;border-radius:19px;padding:21px}.admin-confirmation-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-status{text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900;display:inline-flex}.admin-status.confirmed{color:#297443;background:#def7e5}.admin-status.declined{color:#a13b58;background:#ffe1e9}.admin-confirmation-card h3{color:#4c315c;margin:10px 0 3px;font-size:1.2rem}.admin-confirmation-card p{color:#84718e;margin:0}.admin-people-total{text-align:center;background:#eee2f5;border-radius:15px;min-width:78px;padding:10px}.admin-people-total strong{color:#74408d;font-size:1.55rem;display:block}.admin-people-total span{color:#897294;font-size:.72rem;font-weight:800}.admin-confirmation-details{flex-wrap:wrap;gap:11px;margin-top:18px;display:flex}.admin-confirmation-details>div,.admin-confirmation-details>a{color:#6d5879;background:#fff;border-radius:11px;align-items:center;gap:7px;padding:8px 11px;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex}.admin-confirmation-details svg{color:#b9509b;width:16px;height:16px}.admin-children-names{color:#685374;gap:8px;margin-top:15px;font-size:.9rem;display:flex}.admin-confirmation-card blockquote{color:#745f7f;background:#fff;border-left:4px solid #d44b9d;border-radius:0 12px 12px 0;margin:15px 0 0;padding:13px 15px;font-style:italic}.admin-empty-state{color:#897693;text-align:center;align-content:center;place-items:center;gap:12px;min-height:220px;display:grid}.admin-empty-state svg{color:#b565ad;width:42px;height:42px}.admin-footer{color:#8c7c94;justify-content:space-between;align-items:center;gap:20px;width:min(100%,1320px);margin:22px auto 0;font-size:.84rem;display:flex}.admin-footer a{color:#774693;font-weight:900;text-decoration:none}.admin-spin{animation:.8s linear infinite adminSpin}@keyframes adminSpin{to{transform:rotate(360deg)}}@media (width<=1120px){.admin-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.admin-dashboard{padding:20px 14px}.admin-header{flex-direction:column;align-items:flex-start}.admin-header-actions{flex-wrap:wrap;width:100%}.admin-session-user{width:100%}.admin-header-actions button{flex:1;justify-content:center}.admin-summary-grid{grid-template-columns:repeat(2,1fr)}.admin-list-section{padding:18px}.admin-confirmation-top{flex-direction:column}.admin-people-total{width:100%}.admin-footer{flex-direction:column;align-items:flex-start}}@media (width<=470px){.admin-login-card{padding:30px 20px}.admin-summary-grid{grid-template-columns:1fr}.admin-list-heading{flex-direction:column;align-items:flex-start}}
