:root{--brand: #5B2A86;--brand-dark: #45206A;--accent: #7A45B0;--soft: #F1EBFE;--ink: #3B1A5A;--muted: #6E5A8C;--line: #C9BBFD;--bg: #FAF8FE;--display: "Montserrat", "Segoe UI", system-ui, sans-serif;--body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;font-family:var(--body);color:var(--ink);background:var(--bg);color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#fdfcff,#f7f3fd 55%,#efe7fc) fixed;display:flex;flex-direction:column}#root{flex:1;display:flex;flex-direction:column}.page{position:relative;z-index:1;flex:1}h1,h2,h3,.btn,.tabs button,.stat b,.hero strong,.item .head b{font-family:var(--display)}.wrap{max-width:480px;margin:0 auto;padding:32px 20px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand .mark{width:50px;height:56px;flex:none;display:grid;place-items:center}.brand .mark svg{width:46px;height:53px}.brand .word{display:flex;flex-direction:column;font-family:"Michroma",var(--display);font-size:20px;color:#111;line-height:1.1;letter-spacing:.06em}.brand .word small{font-size:8.5px;color:#333;letter-spacing:.3em;font-weight:600;margin-top:2px}.brand .program{display:block;margin-top:4px;font-family:var(--display);font-weight:700;font-size:13px;color:var(--accent)}.hero{background:linear-gradient(135deg,#5b2a86,#45206a);box-shadow:0 8px 22px #45206a4d;color:#fff;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}.hero small{opacity:.8}.hero strong{font-size:32px}.note{background:var(--soft);border-radius:14px;padding:14px 16px;color:var(--ink);font-size:14px;line-height:1.5}.muted{color:var(--muted);font-size:13px}.admin{max-width:980px;margin:0 auto;padding:16px 16px 48px;display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar .who{font-size:13px;color:var(--muted)}.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.tabs button{flex:none;border:2px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.tabs button[aria-pressed=true]{background:var(--brand);border-color:var(--brand-dark);color:#fff;box-shadow:0 4px 12px #45206a4d}.panel{background:#ffffffe6;border:2px solid var(--line);border-radius:20px;box-shadow:0 10px 34px #5b2a861a;padding:16px;display:flex;flex-direction:column;gap:12px}.panel h2{margin:0;font-size:18px;color:#4b2370}.panel h3{margin:4px 0 0;font-size:15px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.stat{background:var(--soft);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.stat span{font-size:12px;color:var(--muted)}.stat b{font-size:20px;font-variant-numeric:tabular-nums}.stat.bad{background:#fdecea}.stat.bad b{color:#b3261e}label.f{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input,select,textarea{font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}.check{flex-direction:row!important;align-items:center;gap:8px;color:var(--ink)!important;font-size:14px!important}.check input{width:20px;height:20px}.btn{border:0;border-radius:999px;padding:12px 16px;font:inherit;font-weight:700;background:var(--brand);color:#fff;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.danger{background:#fff;color:#b3261e;border:1px solid #B3261E}.btn.small{padding:7px 12px;font-size:13px;border-radius:999px}.msg{border-radius:10px;padding:10px 12px;font-size:14px;background:var(--soft)}.msg.bad{background:#fdecea;color:#8c1d18}.msg.warn{background:#fbebd5;color:#7a4508}.msg.ok{background:#e3f4ea;color:#0b5d33}.list{display:flex;flex-direction:column;gap:8px}.item{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.item .head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}.item .head b{font-size:15px}.tag{display:inline-block;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;background:var(--soft);color:var(--brand)}.tag.warn{background:#fff4e0;color:#8a5300}.tag.bad{background:#fdecea;color:#8c1d18}.tag.ok{background:#e3f4ea;color:#0b5d33}.actions{display:flex;gap:8px;flex-wrap:wrap}.qr{background:#fff;padding:12px;border:1px solid var(--line);border-radius:12px;width:220px;height:220px}.qr img,.qr svg{width:100%;height:100%}.code{font-family:ui-monospace,monospace;word-break:break-all;font-size:13px;background:var(--soft);padding:8px 10px;border-radius:8px}.center{min-height:70vh;display:flex;align-items:center;justify-content:center}.box{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px}.hero a,.panel a,.muted a{color:var(--accent)}.hero .only-cl{align-self:flex-start;display:inline-flex;padding:3px;background:#fff;border-radius:50%}.hero .only-cl svg{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 1px #0000001f}.hero .slogan{font-family:var(--display);font-size:17px;line-height:1.35}.hero .slogan b{font-size:19px}.hero .slogan mark{background:#fff;color:#45206a;font-weight:800;padding:1px 8px;border-radius:999px;white-space:nowrap}.hero .muted-light{opacity:.8;font-size:13px;margin-top:6px}.hero .pill{align-self:flex-start;margin-top:6px;background:#ffffff29;border-radius:999px;padding:4px 10px;font-size:13px}.move{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.move:last-child{border-bottom:0}.move div{display:flex;flex-direction:column;gap:2px}.move .plus{color:#0b6b3a;font-variant-numeric:tabular-nums}.move .minus{color:#8c1d18;font-variant-numeric:tabular-nums}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;line-height:1.5}.terms{line-height:1.6;background:#ffffffe6;border-radius:20px;margin:16px auto;box-shadow:0 10px 34px #5b2a861a}.terms h1{font-size:22px;margin:0}.terms h2{font-size:16px;margin:12px 0 0}.terms ul{padding-left:20px;margin:0}.back{color:var(--accent);text-decoration:none;font-weight:600}.check span{line-height:1.4}.btn.wa,.panel a.btn.wa{background:#1e8e4e;color:#fff;text-align:center;text-decoration:none;display:inline-block}.receipt{border:2px solid var(--accent)}.panel-inner{display:flex;flex-direction:column;gap:10px}.ondas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ondas i{position:absolute;background-repeat:no-repeat;background-size:contain;mix-blend-mode:multiply}.ondas .o-arriba{top:0;right:0;width:min(70vw,640px);aspect-ratio:640 / 420;background-image:url(/ondas-arriba.jpg);background-position:top right;-webkit-mask-image:radial-gradient(ellipse 100% 100% at top right,#000 55%,transparent 98%);mask-image:radial-gradient(ellipse 100% 100% at top right,#000 55%,transparent 98%)}.ondas .o-abajo{bottom:0;left:0;width:min(100vw,1080px);aspect-ratio:1080 / 390;background-image:url(/ondas-abajo.jpg);background-position:bottom left;-webkit-mask-image:radial-gradient(ellipse 100% 100% at bottom left,#000 55%,transparent 98%);mask-image:radial-gradient(ellipse 100% 100% at bottom left,#000 55%,transparent 98%)}.pie{position:relative;z-index:1;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:#45206a;color:#fff;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;border-bottom:6px solid #5B2A86;font-family:var(--display);font-weight:700}.pie a{color:#fff;text-decoration:none;font-size:15px}.pie span{font-weight:500;font-size:13px;opacity:.85}
