:root{--color-primary:#fdbd3a;--color-primary-dark:#f47a1f;--color-secondary:#1a9eea;--color-accent:#e93685;--color-success:#65b741;--color-navy:#111827;--color-dark:#0f1323;--color-gray:#6b7280;--color-light-gray:#f3f4f6;--color-white:#fff;--color-info:#38bdf8;--color-warning:#fbbf24;--color-error:#ef4444;--color-success-soft:#dcfce7;--bg-main:#fff8e7;--bg-card:#fff;--border-radius-sm:8px;--border-radius-md:14px;--border-radius-lg:22px;--shadow-card:0 8px 24px #1118271a;--shadow-button:0 6px 0 #d97706;--font-title:"Nunito", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, Arial, sans-serif;color:#18212f;font-family:var(--font-body);background:#eef2f7;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#dbeafe 0,#eef2f7 34%,#f8fafc 100%);min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{gap:20px;margin:0 auto;padding:24px;display:grid}.public-shell{grid-template-columns:minmax(320px,860px);justify-content:center;align-items:start;min-height:100vh}.surface{background:#fff;border:1px solid #d7deea;border-radius:18px;padding:24px;box-shadow:0 18px 40px #0f172a14}.admin-surface{min-width:0}.section-header,.section-subheader{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-header{margin-bottom:20px}.hero-copy{gap:8px;display:grid}.section-subheader{margin-bottom:12px}.eyebrow{color:#4d607c;text-transform:uppercase;margin:0 0 4px;font-size:.82rem;font-weight:600}h1,h2,h3,p{margin:0}h1,h2{font-size:1.45rem}h3{font-size:1rem}.stack-lg,.stack-md{display:grid}.stack-lg{gap:20px}.stack-md{gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-span-full{grid-column:1/-1}.field{color:#334155;gap:6px;font-weight:600;display:grid}.field span{font-size:.9rem}input,select{color:#18212f;background:#fff;border:1px solid #c8d2e1;border-radius:8px;width:100%;min-height:42px;padding:10px 12px}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:46px}.password-visibility-button{color:#52647d;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-visibility-button:hover{color:#111827;background:#eef2f7}.primary-button,.secondary-button,.table-button,.tab-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.primary-button{color:#fff;background:#1d4ed8}.secondary-button,.table-button,.tab-button{color:#18212f;background:#f8fafc;border-color:#d7deea}.tab-button.active{background:#e0ecff;border-color:#93b5ff}.primary-button:disabled,.secondary-button:disabled{opacity:.65;cursor:not-allowed}.icon-button svg,.tab-button svg{flex:none}.privacy-link{width:100%;text-decoration:none}.muted-icon,.muted-text{color:#60738f}.danger-icon{color:#b91c1c}.danger-button{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:.7rem 1rem;font-weight:800;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.danger-button:hover:not(:disabled),.danger-button:focus-visible:not(:disabled){color:#991b1b;background:#fef2f2;border-color:#b91c1c}.danger-button:disabled{cursor:not-allowed;opacity:.65}.inline-meta,.tab-row{flex-wrap:wrap;gap:8px;display:flex}.public-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.flow-choice-grid,.active-tandas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.flow-choice-button{width:100%;min-height:126px;color:var(--color-navy);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7deea;border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:8px 12px;padding:18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 14px 30px #0f172a14}.flow-choice-button:hover,.flow-choice-button:focus-visible{border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 18px 36px #f59e0b2e}.flow-choice-button span{overflow-wrap:anywhere;min-width:0;font-size:1.05rem;font-weight:800}.flow-choice-button small{color:#60738f;grid-column:2;font-size:.9rem;line-height:1.4}.flow-subheader{align-items:flex-start}.flow-subheader .secondary-button{width:auto}.active-tandas-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.access-secondary-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.access-screen-header{align-items:flex-start}.access-screen-header .secondary-button{width:auto}.access-screen-actions{justify-content:flex-end}.registration-role-selector{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.registration-role-selector legend{color:#334155;margin-bottom:8px;font-size:.9rem;font-weight:800}.registration-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.registration-role-option{border-radius:var(--border-radius-sm);min-height:84px;color:var(--color-navy);cursor:pointer;background:#fff;border:1px solid #d7deea;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.registration-role-option:hover,.registration-role-option:focus-within{border-color:var(--color-secondary);box-shadow:0 10px 20px #1a9eea1f}.registration-role-option.selected{border-color:var(--color-primary-dark);background:#fff7d7}.registration-role-option input{width:18px;min-height:18px;accent-color:var(--color-primary-dark);margin:0}.registration-role-icon{border-radius:var(--border-radius-sm);color:#075985;background:#e0f2fe;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.registration-role-option.selected .registration-role-icon{color:#9a3412;background:#fed7aa}.registration-role-copy{gap:2px;min-width:0;display:grid}.registration-role-copy strong,.registration-role-copy small{overflow-wrap:anywhere;min-width:0}.registration-role-copy strong{font-weight:900}.registration-role-copy small{color:#60738f;font-size:.84rem;line-height:1.3}.legal-check{color:#334155;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;font-weight:800;line-height:1.35;display:grid}.legal-check input{width:18px;min-height:18px;accent-color:var(--color-primary-dark);margin:2px 0 0}.access-privacy-panel{gap:14px;display:grid}.access-privacy-frame{border-radius:var(--border-radius-md);background:#fff;border:1px solid #d7deea;width:100%;min-height:min(72vh,720px)}.legal-terms-panel{gap:14px;display:grid}.legal-terms-summary{color:#1f2937;margin:0;font-weight:800;line-height:1.45}.legal-terms-content{border-radius:var(--border-radius-md);color:#334155;background:#f8fafc;border:1px solid #d7deea;gap:10px;max-height:min(68vh,680px);padding:14px;font-weight:650;line-height:1.45;display:grid;overflow:auto}.legal-terms-content p{overflow-wrap:anywhere;margin:0}.policies-card{background:#f8fbff;border-color:#bfdbfe}.policies-list{color:#334155;gap:10px;margin:0;padding-left:20px;font-weight:700;line-height:1.45;display:grid}.active-tanda-card{gap:14px;display:grid}.active-tanda-card h3{color:var(--color-navy);overflow-wrap:anywhere;font-size:1.08rem}.active-tanda-actions{grid-template-columns:1fr;gap:10px;display:grid}.organizer-progress-panel{gap:16px;display:grid}.organizer-refresh-button{justify-self:start}.organizer-period-pager{border-radius:var(--border-radius-md);background:#f8fbff;border:1px solid #164e8b2e;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px;display:grid}.organizer-period-pager strong{color:#164e8b;text-align:center;overflow-wrap:anywhere;font-size:.95rem;font-weight:900}.period-nav-button{justify-content:center;width:44px;height:44px;padding:0}.organizer-progress-scroll{border-radius:var(--border-radius-md);background:#fff;border:1px solid #1118271f;overflow-x:auto}.organizer-progress-table{border-collapse:collapse;width:100%;min-width:560px;color:var(--color-navy)}.organizer-progress-table th,.organizer-progress-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5edf7;padding:10px}.organizer-progress-table thead th{color:#fff;text-transform:uppercase;background:#164e8b;font-size:.8rem;font-weight:900}.organizer-progress-table thead th span,.organizer-progress-table thead th small{display:block}.organizer-progress-table thead th small{color:#dbeafe;text-transform:none;margin-top:2px;font-size:.72rem;font-weight:700}.organizer-progress-table tbody th{min-width:170px;font-weight:900}.organizer-progress-table tbody td{font-size:.9rem}.organizer-cell-button,.organizer-cell-state{text-align:center;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:112px;min-height:38px;padding:7px 10px;font-size:.78rem;font-weight:900;line-height:1.15;display:inline-flex}.organizer-cell-button{cursor:pointer}.organizer-cell-button:disabled{cursor:not-allowed;opacity:.65}.organizer-cell-button.is-pendiente{color:#991b1b;background:#fff1f2;border-color:#fecaca}.organizer-cell-button.is-evidencia{color:#854d0e;background:#fef9c3;border-color:#facc15}.organizer-cell-state.is-pagado{color:#166534;background:#dcfce7}.organizer-cell-state.is-exento{color:#334155;background:#e2e8f0}.organizer-cell-state.is-pendiente{color:#991b1b;background:#fee2e2}.organizer-evidence-modal-card{width:min(680px,100vw - 24px)}.organizer-evidence-preview{border-radius:var(--border-radius-md);background:#f8fafc;border:1px solid #dbe4ef;place-items:center;max-height:min(62vh,620px);display:grid;overflow:auto}.organizer-evidence-img{object-fit:contain;max-width:100%;max-height:min(60vh,600px);display:block}.account-card{background:snow;border-color:#fecaca}.empty-active-tandas{text-align:center;justify-items:center;gap:14px;display:grid}.field-inline{min-width:180px}.roulette-stage{place-items:center;padding:24px 16px 16px;display:grid;position:relative}.roulette-shadow{filter:blur(12px);background:radial-gradient(circle,#2563eb2e 0,#2563eb0a 56%,#0000 70%);border-radius:50%;width:min(78vw,420px);height:min(78vw,420px);position:absolute}.roulette-pointer{z-index:3;filter:drop-shadow(0 4px 10px #0f172a33);border-top:18px solid #0000;border-bottom:18px solid #0000;border-left:40px solid #b91c1c;width:0;height:0;position:absolute;top:calc(50% - 14px);left:50%;transform:translate(calc(-1*min(42vw,250px)))}.roulette-wheel{--wheel-size:380px;--wheel-rotation:0deg;width:min(78vw, var(--wheel-size));aspect-ratio:1;transform:rotate(var(--wheel-rotation));border:14px solid #16a34a;border-radius:50%;transition:transform 4.2s cubic-bezier(.1,.9,.18,1);position:relative;overflow:hidden;box-shadow:0 18px 40px #0f172a2e,inset 0 0 0 10px #fef3c7,inset 0 0 0 18px #14532d}.roulette-wheel:before{content:"";pointer-events:none;border:3px dashed #ffffffe6;border-radius:50%;position:absolute;inset:10px}.roulette-wheel:after{content:"";pointer-events:none;border:1px solid #0f172a29;border-radius:50%;position:absolute;inset:26px}.roulette-wheel.is-spinning:before{animation:.55s linear infinite roulette-lights}.roulette-center{z-index:2;background:radial-gradient(circle,#fff 0,#f8fafc 42%,#fecdd3 43%,#be123c 100%);border-radius:50%;position:absolute;inset:calc(50% - 28px);box-shadow:0 0 0 4px #fff,0 0 0 9px #be185d2e}.roulette-label{--label-angle:0deg;transform:rotate(var(--label-angle));pointer-events:none;position:absolute;inset:0}.roulette-label span{color:#0f172a;min-width:52px;min-height:30px;transform:translateX(-50%) rotate(calc(var(--label-angle) * -1));background:#ffffffe6;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.92rem;font-weight:800;display:inline-flex;position:absolute;top:11%;left:50%;box-shadow:0 4px 10px #0f172a1f}.roulette-label.is-occupied span{color:#475569;background:#e2e8f0f0}.roulette-label.is-reserved span{color:#fff7ed;background:#78350feb}.roulette-status,.occupancy-strip{flex-wrap:wrap;gap:8px;display:flex}.occupancy-pill{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;justify-content:center;align-items:center;min-width:42px;min-height:36px;padding:0 10px;font-weight:700;display:inline-flex}.occupancy-pill.is-occupied{color:#475569;background:#e2e8f0;border-color:#cbd5e1}.occupancy-pill.is-reserved{color:#92400e;background:#fef3c7;border-color:#f59e0b}.occupancy-pill.is-highlighted{color:#166534;background:#dcfce7;border-color:#16a34a}.spin-button{justify-self:start}.meta-chip,.status-pill{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.85rem;font-weight:600;display:inline-flex}.meta-chip{color:#1e3a8a;background:#eef5ff}.status-pill.ok{color:#166534;background:#dcfce7}.status-pill.warn{color:#92400e;background:#fef3c7}.status-pill.danger{color:#b91c1c;background:#fee2e2}.number-grid{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:10px;display:grid}.number-pill{border:1px solid #d7deea;border-radius:8px;place-items:center;min-height:52px;font-weight:700;display:grid}.number-pill.is-open{color:#1d4ed8;background:#eff6ff}.number-pill.is-occupied{color:#64748b;background:#e2e8f0;text-decoration:line-through}.notice{border-radius:8px;padding:10px 12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.public-surface,.identity-card{gap:18px;display:grid}.identity-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbe4f0;border-radius:16px;padding:18px}.password-recovery-panel{background:#f8fbff;gap:14px}.public-version-footer{color:#64748b;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding-top:4px;font-size:.76rem;font-weight:800;display:flex}.public-version-footer a{color:#334155;text-underline-offset:3px;text-decoration:underline}.identity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.profile-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;gap:6px;padding:14px;display:grid}.profile-chip span{color:#1d4ed8;text-transform:uppercase;font-size:.82rem;font-weight:700}.profile-chip strong{font-size:1rem}.success-text{color:#166534;background:#dcfce7}.error-text{color:#b91c1c;background:#fee2e2}.warning-text{color:#854d0e;background:#fef9c3}.payment-evidence-card{background:#f8fbff;border:1px solid #bfdbfe;border-radius:16px;gap:12px;padding:16px;display:grid}.payment-evidence-card.is-compact{background:0 0;border:0;border-top:1px solid #dbe4f0;border-radius:0;margin-top:12px;padding:12px 0 0}.payment-evidence-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.payment-evidence-header h3{margin:2px 0 0;font-size:1.05rem}.payment-evidence-dropzone{color:#1e3a8a;text-align:center;background:#eff6ff;border:2px dashed #93c5fd;border-radius:14px;place-items:center;min-height:132px;padding:16px;transition:border-color .16s,background .16s,transform .16s;display:grid}.payment-evidence-dropzone.is-dragging{color:#166534;background:#ecfdf5;border-color:#65b741;transform:translateY(-1px)}.payment-evidence-dropzone span{overflow-wrap:anywhere;max-width:100%;font-weight:900}.payment-evidence-dropzone small{color:#60738f;font-weight:700}.payment-evidence-actions{flex-wrap:wrap;gap:10px;display:flex}.whatsapp-settings-card{background:#f8fbff;border-color:#bbf7d0}.consent-check{color:#334155;grid-template-columns:22px 1fr;align-items:start;gap:10px;font-size:.92rem;font-weight:700;display:grid}.consent-check input{width:18px;min-height:18px;margin-top:2px}.paypal-payment-card,.payment-status-card{background:#fff;border:1px solid #d7deea;border-radius:16px;gap:12px;padding:16px;display:grid}.paypal-payment-card{background:#f8fafc;border-color:#c7d2fe}.paypal-payment-card.is-compact{background:0 0;border:0;border-top:1px solid #dbe4f0;border-radius:0;margin-top:12px;padding:12px 0 0}.paypal-payment-meta{color:#1e3a8a;align-items:baseline;gap:8px;display:flex}.paypal-payment-meta span{font-size:1.08rem;font-weight:900}.paypal-payment-meta small{color:#60738f;font-weight:800}.paypal-payment-help{color:#52647d;margin:0;font-size:.92rem;line-height:1.4}.payment-status-list{gap:8px;display:grid}.payment-status-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.payment-status-row>div{gap:2px;min-width:0;display:grid}.payment-status-row strong,.payment-status-row span{overflow-wrap:anywhere}.payment-status-row small{color:#60738f;text-align:right;font-weight:800}.payment-status-pill{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;min-width:112px;padding:4px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.payment-status-pill.is-pendiente_revision,.payment-status-pill.is-created{color:#92400e;background:#fef3c7}.payment-status-pill.is-correcta,.payment-status-pill.is-confirmado,.payment-status-pill.is-completed{color:#166534;background:#dcfce7}.payment-status-pill.is-rechazada{color:#991b1b;background:#fee2e2}.confirmation-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.admin-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:20px;display:grid}.table-wrap{border:1px solid #d7deea;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:12px}thead th{color:#475569;background:#f8fafc;font-size:.85rem;font-weight:700}tbody tr:last-child td{border-bottom:none}.empty-row{text-align:center;color:#64748b}.detail-panel{gap:16px;min-width:0;display:grid}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-tile{background:#f8fafc;border:1px solid #d7deea;border-radius:8px;gap:4px;min-height:88px;padding:14px;display:grid}.summary-tile strong{font-size:1.35rem}.summary-tile.success{background:#ecfdf5}.summary-tile.danger{background:#fef2f2}@media (width<=1180px){.app-shell,.admin-layout{grid-template-columns:1fr}}@media (width<=860px){.compact-grid,.form-grid,.identity-grid,.summary-grid,.two-columns{grid-template-columns:1fr}.app-shell{padding:16px}.public-toolbar{align-items:stretch}.roulette-pointer{border:18px solid #0000;border-top:38px solid #b91c1c;border-bottom:0;top:4px;left:calc(50% - 18px);transform:none}.spin-button{justify-self:stretch}}.tanda-table-wrap{border:1px solid #d7deea;border-radius:12px;overflow:hidden}.tanda-table{border-collapse:collapse;width:100%}.tanda-table thead th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 16px;font-size:.8rem;font-weight:700}.tanda-row{cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.tanda-row:last-child{border-bottom:none}.tanda-row:hover,.tanda-row:focus{background:#f0f5ff;outline:none}.tanda-row.is-selected{background:#eff6ff;box-shadow:inset 3px 0 #1d4ed8}.tanda-row td{color:#1e293b;padding:14px 16px;font-size:.95rem}.tanda-row td:first-child{font-weight:600}@media (width<=860px){.tanda-table-wrap{border:none;overflow:visible}.tanda-table,.tanda-table tbody,.tanda-table tr,.tanda-table td{display:block}.tanda-table thead{display:none}.tanda-row{box-shadow:none;background:#f8fafc;border:2px solid #d7deea;border-radius:14px;margin-bottom:10px;padding:14px 16px}.tanda-row.is-selected{background:#eff6ff;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81f}.tanda-row td{border:none;justify-content:space-between;align-items:center;padding:5px 0;font-size:.9rem;display:flex}.tanda-row td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;margin-right:12px;font-size:.78rem;font-weight:700}.tanda-row td:first-child{color:#0f172a;border-bottom:1px solid #e2e8f0;margin-bottom:4px;padding-bottom:10px;font-size:1rem;font-weight:700}.tanda-row td:first-child:before{display:none}}.tanda-preview{background:linear-gradient(#eff6ff 0%,#f8fbff 100%);border:1px solid #bfdbfe;border-radius:14px;padding:18px}.tanda-calendar{background:#fff;border:1px solid #d7deea;border-radius:14px;gap:14px;padding:18px;display:grid}.tanda-calendar-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tanda-calendar-header h3{color:var(--color-navy);font-size:1.08rem}.tanda-preview-title{color:#1d4ed8;text-transform:uppercase;margin-bottom:12px;font-size:.82rem;font-weight:700}.tanda-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tanda-preview-item{gap:4px;display:grid}.tanda-preview-item span{color:#64748b;text-transform:uppercase;font-size:.8rem;font-weight:600}.tanda-preview-item strong{color:#0f172a;font-size:1rem}@media (width<=860px){.tanda-preview-grid{grid-template-columns:1fr}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;place-items:center;display:grid;position:fixed;inset:0}.modal-card{text-align:center;background:#fff;border-radius:20px;gap:24px;width:min(420px,100vw - 32px);padding:36px 28px;display:grid;box-shadow:0 28px 64px #0f172a3d}.modal-number{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto;font-size:2.6rem;font-weight:900;display:grid;box-shadow:0 8px 28px #16a34a61}.modal-message{color:#1e293b;font-size:1.1rem;line-height:1.6}.modal-tanda-info{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:16px;display:grid}.modal-info-row{justify-content:space-between;align-items:center;gap:12px;font-size:.92rem;display:flex}.modal-info-row span{color:#64748b}.modal-commitment{color:#854d0e;background:#fef9c3;border:1px solid #fde68a;border-radius:10px;padding:12px 14px;font-size:.88rem;line-height:1.55}.modal-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.progress-modal-card{text-align:left;width:min(640px,100vw - 32px);max-height:min(86vh,780px);overflow:auto}.progress-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.progress-modal-header h2{font-size:1.25rem}.progress-close-button{min-width:40px;padding:0}.recovery-modal-card{justify-items:center;gap:18px;width:min(440px,100vw - 32px)}.recovery-modal-icon{border:2px solid var(--color-navy);background:linear-gradient(180deg, #ffd95a 0%, var(--color-primary) 100%);width:74px;height:74px;color:var(--color-navy);border-radius:999px;place-items:center;display:grid;box-shadow:0 8px #d97706}.recovery-modal-card.is-error .recovery-modal-icon{color:#991b1b;background:#fee2e2;box-shadow:0 8px #fecaca}.recovery-modal-icon.is-danger{color:#b91c1c;background:#fee2e2;box-shadow:0 8px #fecaca}.account-delete-modal-card{border:1px solid #fecaca}.progress-bar-card{border-radius:var(--border-radius-md);background:#fff8e7;border:1px solid #fdbd3a75;gap:10px;padding:16px;display:grid}.progress-bar-meta{color:var(--color-navy);justify-content:space-between;align-items:center;gap:12px;font-weight:900;display:flex}.progress-bar-meta span{color:var(--color-primary-dark);text-transform:uppercase;font-size:.86rem}.progress-bar-track{background:#fff;border:1px solid #11182729;border-radius:999px;height:12px;overflow:hidden}.progress-bar-track span{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-success) 100%);height:100%;display:block}.progress-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.progress-card,.number-card{border-radius:var(--border-radius-md);background:#fff;border:1px solid #1118271f;gap:6px;padding:12px;display:grid}.progress-card span,.number-card span{color:#64748b;text-transform:uppercase;font-size:.76rem;font-weight:800}.progress-card strong{color:var(--color-navy);font-size:1rem}.number-card-grid{grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:10px;display:grid}.number-card{justify-items:start;min-height:82px}.number-card strong{color:#1d4ed8;background:#eff6ff;border-radius:999px;place-items:center;min-width:42px;min-height:34px;padding:0 8px;font-size:1rem;display:inline-grid}.number-card.is-open{background:#f8fbff;border-color:#bfdbfe}.number-card.is-occupied{background:#f1f5f9}.number-card.is-occupied strong{color:#475569;background:#e2e8f0}.number-card.is-reserved{background:#fff7d7;border-color:#f59e0b}.number-card.is-reserved strong{color:#fff7ed;background:#78350f}.number-card.is-highlighted{background:#ecfdf5;border-color:#16a34a}.number-card.is-highlighted strong{color:#166534;background:#dcfce7}.timeline-track{gap:12px;padding:14px 2px 8px;display:flex;position:relative;overflow-x:auto}.timeline-track:before{content:"";background:#dbe4f0;border-radius:999px;height:4px;position:absolute;top:36px;left:20px;right:20px}.timeline-card{z-index:1;border-radius:var(--border-radius-md);background:#fff;border:1px solid #1118271f;align-content:start;gap:7px;min-width:132px;padding:12px;display:grid;position:relative;box-shadow:0 8px 18px #11182714}.timeline-number{color:#1e3a8a;background:#eef5ff;border-radius:999px;place-items:center;width:38px;min-height:30px;font-size:.82rem;font-weight:900;display:inline-grid}.timeline-card strong{color:var(--color-navy);font-size:.88rem}.timeline-card>span:last-child{color:#64748b;text-transform:uppercase;font-size:.74rem;font-weight:800}.timeline-card.is-completado{background:#f8fafc}.timeline-card.is-completado .timeline-number{color:#475569;background:#e2e8f0}.timeline-card.is-pendiente .timeline-number{color:#075985;background:#e0f2fe}.timeline-card.is-actual{border-color:var(--color-primary-dark);background:#fff7d7;animation:1.6s ease-in-out infinite current-period-pulse;box-shadow:0 0 0 3px #fdbd3a38,0 14px 28px #f47a1f2e}.timeline-card.is-actual .timeline-number{background:linear-gradient(180deg, #ffd95a 0%, var(--color-primary) 100%);color:var(--color-navy);border:2px solid var(--color-navy)}.timeline-card.is-participant-turn{background:#e8f5e9;border-color:#2e7d32;animation:none;box-shadow:0 0 0 3px #2e7d3229,0 14px 28px #2e7d3224}.timeline-card.is-participant-turn .timeline-number{color:#166534;background:#dcfce7;border:2px solid #2e7d32}.timeline-card.is-participant-turn>span:last-child{color:#1b5e20}.codigo-input{letter-spacing:.18em;text-transform:uppercase;text-align:center;font-family:Courier New,Courier,monospace;font-size:1.4rem;font-weight:700}body{color:var(--color-navy);background:radial-gradient(circle at 12% 10%, #fdbd3a5c 0, transparent 28%), radial-gradient(circle at 88% 8%, #1a9eea38 0, transparent 26%), linear-gradient(180deg, var(--bg-main) 0%, #fffdf6 58%, #f8fafc 100%)}h1,h2,h3{font-family:var(--font-title);letter-spacing:0;color:var(--color-navy);font-weight:900}.public-shell{grid-template-columns:minmax(320px,1180px)}.surface,.identity-card,.tanda-preview,.tanda-calendar,.modal-card{background:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);border:2px solid #11182714}.public-surface{background:linear-gradient(180deg, #fffffff5 0%, #fff8e7e0 100%), var(--bg-card);border-color:#fdbd3a6b}.portal-entry{scroll-margin-top:18px}.landing-page{color:var(--color-navy);gap:48px;display:grid}.landing-nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:2px solid #11182714;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 14px;display:grid;position:sticky;top:12px;box-shadow:0 18px 36px #11182714}.landing-brand,.landing-menu,.landing-actions,.landing-footer nav{align-items:center;display:flex}.landing-brand{color:var(--color-navy);font-family:var(--font-title);gap:9px;font-size:1.06rem;font-weight:900;text-decoration:none}.landing-brand-logo{object-fit:contain;width:42px;height:42px}.landing-menu{flex-wrap:wrap;justify-content:center;gap:8px}.landing-menu a,.landing-footer a,.landing-login-link{color:var(--color-navy);font-weight:850;text-decoration:none}.landing-menu a{border-radius:999px;padding:8px 10px;font-size:.86rem}.landing-menu a:hover,.landing-footer a:hover{color:#075985;background:#1a9eea14}.landing-login-link{border:2px solid var(--color-navy);background:linear-gradient(180deg, #ffd95a 0%, var(--color-primary) 100%);border-radius:14px;justify-content:center;align-items:center;min-height:42px;padding:0 14px;display:inline-flex;box-shadow:0 4px #d97706}.landing-hero{grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);align-items:center;gap:clamp(28px,5vw,72px);min-height:540px;padding:clamp(28px,5vw,64px) 0 0;display:grid}.landing-hero-copy{gap:18px;max-width:650px;display:grid}.landing-eyebrow{color:var(--color-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:900}.landing-hero h1{max-width:760px;font-size:4.85rem;line-height:.98}.landing-hero p,.landing-intro p,.landing-trust-copy p,.landing-new-users p,.landing-card p,.landing-footer p{color:#475569}.landing-hero-copy>p:not(.landing-eyebrow){max-width:620px;font-size:1.18rem;font-weight:750;line-height:1.45}.landing-actions{flex-wrap:wrap;gap:12px;margin-top:4px}.landing-actions .primary-button,.landing-actions .secondary-button,.landing-new-users .primary-button{min-height:52px;padding-inline:20px;text-decoration:none}.landing-visual{place-items:center;min-height:440px;display:grid;position:relative}.landing-visual:before{content:"";background:linear-gradient(#ffffffb8,#fff8e7eb);border:2px solid #11182714;border-radius:38px;position:absolute;inset:10% 5% 4% 6%;box-shadow:0 28px 70px #1118271f}.landing-visual-logo{z-index:1;object-fit:contain;filter:drop-shadow(0 22px 30px #11182729);width:min(72%,360px);position:relative}.landing-progress-card{z-index:2;width:min(260px,56%);box-shadow:var(--shadow-card);background:#fffffff0;border:2px solid #1118271a;border-radius:18px;gap:7px;padding:15px;display:grid;position:absolute;bottom:12%;right:3%}.landing-progress-card span{color:var(--color-secondary);text-transform:uppercase;font-size:.78rem;font-weight:900}.landing-progress-card strong{font-size:.98rem}.landing-progress-track{background:#e2e8f0;border-radius:999px;height:9px;overflow:hidden}.landing-progress-track span{background:linear-gradient(90deg, var(--color-primary), var(--color-success));width:72%;height:100%;display:block}.landing-coin{z-index:2;border:3px solid var(--color-navy);background:linear-gradient(180deg, #ffe27a, var(--color-primary));border-radius:999px;width:54px;height:54px;position:absolute;box-shadow:0 8px #d97706}.landing-coin:after{content:"$";color:var(--color-navy);place-items:center;font-weight:950;display:grid;position:absolute;inset:0}.coin-one{top:20%;left:10%}.coin-two{top:8%;right:14%;transform:scale(.74)rotate(12deg)}.landing-section{gap:20px;display:grid}.landing-section-heading{gap:6px;max-width:680px;display:grid}.landing-section h2{font-size:2.7rem;line-height:1.08}.landing-intro{background:#ffffff8a;border-block:2px solid #fdbd3a52;grid-template-columns:minmax(280px,.78fr) minmax(300px,1fr);align-items:start;padding:clamp(24px,4vw,42px)}.landing-intro p{font-size:1.06rem;font-weight:720;line-height:1.6}.landing-step-grid,.landing-benefit-grid,.landing-faq-grid{gap:14px;display:grid}.landing-step-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-benefit-grid,.landing-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-card{border-radius:var(--border-radius-lg);background:#ffffffe6;border:2px solid #11182714;gap:10px;min-width:0;padding:18px;display:grid;box-shadow:0 14px 28px #11182712}.landing-card-icon{width:44px;height:44px;color:var(--color-navy);background:#fff2bd;border-radius:14px;place-items:center;display:grid}.landing-step-number{color:var(--color-primary-dark);text-transform:uppercase;font-size:.78rem;font-weight:950}.landing-card h3{line-height:1.2}.landing-card p{font-weight:650;line-height:1.5}.landing-benefit-card{color:var(--color-navy);grid-template-columns:auto 1fr;align-items:center;font-weight:850}.landing-benefit-card svg{color:var(--color-success)}.landing-trust{box-shadow:var(--shadow-card);background:linear-gradient(135deg,#fff 0%,#f0f9ff 100%);border:2px solid #1a9eea2e;border-radius:30px;grid-template-columns:minmax(300px,.9fr) minmax(300px,1fr);align-items:center;padding:clamp(24px,4vw,42px)}.landing-trust-copy{gap:12px;display:grid}.landing-trust-list{gap:10px;display:grid}.landing-trust-item{min-height:48px;color:var(--color-navy);background:#ffffffd1;border:1px solid #1a9eea2e;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-weight:850;display:flex}.landing-trust-item svg{color:var(--color-secondary);flex:none}.landing-new-users{background:linear-gradient(135deg, #fdbd3af2, #ffd95ad1), var(--color-primary);border:2px solid var(--color-navy);border-radius:30px;grid-template-columns:minmax(300px,1fr) auto;align-items:center;padding:clamp(24px,4vw,42px);box-shadow:0 10px #d97706}.landing-new-users p{color:#334155;max-width:620px;font-weight:750}.landing-faq-card{gap:8px}.landing-footer{border-top:2px solid #11182714;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px;padding:22px 0 4px;display:grid}.landing-footer strong{font-family:var(--font-title);font-size:1.2rem;font-weight:950}.landing-footer nav{flex-wrap:wrap;gap:10px}.landing-footer a{border-radius:999px;padding:8px 10px}@media (width<=1180px){.landing-nav{grid-template-columns:1fr;justify-items:center}.landing-menu{order:3}.landing-hero{grid-template-columns:1fr;min-height:auto}.landing-hero-copy{max-width:780px}.landing-visual{min-height:360px}.landing-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.landing-page{gap:34px}.landing-menu{justify-content:center;width:100%}.landing-hero{padding-top:16px}.landing-hero h1{font-size:3.25rem}.landing-section h2{font-size:2.18rem}.landing-intro,.landing-trust,.landing-new-users,.landing-footer{grid-template-columns:1fr}.landing-new-users{align-items:stretch}.landing-new-users .primary-button{width:100%}.landing-benefit-grid,.landing-faq-grid{grid-template-columns:1fr}}.brand-hero{gap:12px}.brand-lockup{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.brand-logo{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 26px #11182729);flex:none;width:clamp(220px,42vw,360px)}.brand-tagline{color:var(--color-primary-dark);font-family:var(--font-title);margin-top:6px;font-size:clamp(1.25rem,3vw,2rem);font-weight:900;line-height:1.1}.eyebrow{color:var(--color-secondary);font-weight:800}input,select{border-radius:var(--border-radius-sm);border-color:#11182729}input:focus,select:focus,button:focus,a:focus{outline-offset:2px;outline:3px solid #1a9eea52}.primary-button{background:linear-gradient(180deg, #ffd95a 0%, var(--color-primary) 100%);color:var(--color-navy);border:2px solid var(--color-navy);border-radius:var(--border-radius-md);box-shadow:var(--shadow-button);font-weight:900;transition:transform .15s,box-shadow .15s,opacity .15s}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px #d97706}.secondary-button,.table-button,.tab-button{background:var(--color-white);color:var(--color-navy);border-radius:var(--border-radius-md);border-color:#11182729;font-weight:800}.secondary-button:hover:not(:disabled),.table-button:hover:not(:disabled),.tab-button:hover:not(:disabled){border-color:var(--color-secondary);color:#075985}.meta-chip,.profile-chip,.occupancy-pill,.tanda-preview,.tanda-calendar{border-radius:var(--border-radius-md)}.meta-chip{color:var(--color-navy);background:#fff2bd;font-weight:800}.meta-chip.muted{color:#075985;background:#e0f2fe}.profile-chip{background:#fff7d7;border-color:#fdbd3a80}.tanda-calendar{background:linear-gradient(#fffffff5 0%,#fff8e7c7 100%);border-color:#fdbd3a6b}.profile-chip span,.tanda-preview-title{color:var(--color-primary-dark)}.roulette-wheel{border-color:var(--color-success);box-shadow:0 18px 40px #1118272e,inset 0 0 0 10px #fff2bd,inset 0 0 0 18px #2f6f20}.roulette-center,.modal-number{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-navy)}.success-text,.status-pill.ok{background:var(--color-success-soft);color:#166534}.error-text,.status-pill.danger{color:#991b1b;background:#fee2e2}.warning-text,.status-pill.warn,.modal-commitment{color:#854d0e;background:#fff2bd;border-color:#fbbf248c}@media (width<=860px){.brand-lockup{align-items:center}.brand-logo{width:min(76vw,300px)}}@media (width<=640px){.app-shell{gap:12px;padding:10px}.landing-nav{padding:12px;position:static}.landing-menu a{padding:7px 8px;font-size:.8rem}.landing-hero h1{font-size:2.45rem}.landing-hero-copy>p:not(.landing-eyebrow){font-size:1.03rem}.landing-section h2{font-size:1.78rem}.landing-login-link{width:100%}.landing-actions{display:grid}.landing-actions .primary-button,.landing-actions .secondary-button{width:100%}.landing-visual{min-height:300px}.landing-progress-card{width:min(250px,68%);bottom:4%;right:0}.landing-step-grid{grid-template-columns:1fr}.landing-intro,.landing-trust,.landing-new-users{border-radius:22px;padding:20px}.public-shell{grid-template-columns:minmax(0,1fr)}.surface{border-radius:18px;padding:14px}.section-header{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-bottom:12px}.inline-meta{justify-content:center;width:100%}.brand-logo{width:min(78vw,240px)}.identity-card,.tanda-preview,.tanda-calendar,.modal-card{border-radius:16px;padding:14px}.section-subheader{align-items:flex-start;gap:10px}.section-subheader h2{font-size:1.18rem}.access-screen-actions{justify-content:flex-start;width:100%}.access-screen-actions .secondary-button{flex:150px}.form-grid,.identity-grid,.tanda-preview-grid,.registration-role-grid,.flow-choice-grid,.active-tandas-grid,.access-secondary-nav,.active-tanda-actions{grid-template-columns:1fr}.tanda-calendar-header{grid-template-columns:1fr;gap:10px;display:grid}.profile-chip,.tanda-preview-item{background:#fff8e7;border:1px solid #fdbd3a6b;border-radius:14px;padding:12px}.public-toolbar{grid-template-columns:1fr;align-items:stretch;display:grid}.payment-evidence-actions,.flow-subheader{grid-template-columns:1fr;display:grid}.flow-subheader .secondary-button,.access-screen-header .secondary-button,.active-tanda-actions .secondary-button,.active-tanda-actions .primary-button,.organizer-refresh-button{width:100%}.flow-choice-button{min-height:112px}.public-toolbar .secondary-button,.payment-evidence-actions .primary-button,.payment-evidence-actions .secondary-button,.spin-button,.danger-button,.primary-button,.secondary-button{width:100%}.period-nav-button{width:44px;min-width:44px}.roulette-stage{width:100%;padding:36px 0 12px;overflow:visible}.roulette-shadow{width:min(88vw,310px);height:min(88vw,310px)}.roulette-wheel{border-width:9px;width:min(86vw,310px);box-shadow:0 12px 28px #11182729,inset 0 0 0 6px #fff2bd,inset 0 0 0 12px #2f6f20}.roulette-wheel:before{border-width:2px;inset:7px}.roulette-wheel:after{inset:18px}.roulette-center{inset:calc(50% - 22px)}.roulette-label span{min-width:38px;min-height:24px;padding:0 6px;font-size:.72rem;top:9%}.roulette-pointer{border-top-width:30px;border-left-width:14px;border-right-width:14px;top:8px;left:calc(50% - 14px)}.modal-card{gap:16px;width:min(100%,100vw - 20px);padding:22px 16px}.progress-modal-card{max-height:calc(100vh - 20px);padding:18px 14px}.progress-modal-header{align-items:flex-start}.progress-summary-grid,.number-card-grid{grid-template-columns:1fr}.timeline-track{grid-template-columns:1fr;padding:0;display:grid;overflow:visible}.timeline-track:before{display:none}.timeline-card{grid-template-columns:auto 1fr auto;align-items:center;min-width:0;min-height:76px}.timeline-card strong{font-size:.95rem}.timeline-card>span:last-child{justify-self:end}.progress-card,.number-card{grid-template-columns:1fr auto;align-items:center}.organizer-progress-scroll{margin-inline:-2px}.organizer-progress-table{min-width:620px}.organizer-cell-button,.organizer-cell-state{min-width:96px;padding-inline:8px}.progress-card span,.number-card span{grid-column:1}.progress-card strong,.number-card strong{grid-area:1/2/span 2}.modal-number{width:76px;height:76px;font-size:2rem}.modal-actions{grid-template-columns:1fr;display:grid}}@keyframes roulette-lights{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes current-period-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.piggy-loader{--loader-size:104px;--piggy-scale:.86;color:var(--color-dark);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:inline-flex}.piggy-loader-sm{--loader-size:82px;--piggy-scale:.68}.piggy-loader-lg{--loader-size:140px;--piggy-scale:1.12}.piggy-loader-button{--loader-size:26px;--piggy-scale:.24;gap:0;width:26px;height:26px;display:inline-grid}.piggy-loader-block{justify-content:center;align-items:center;min-height:120px;padding:24px;display:flex}.piggy-orbit{width:var(--loader-size);height:var(--loader-size);place-items:center;animation:1.6s ease-in-out infinite piggy-bounce;display:grid;position:relative}.piggy-orbit:before{content:"";background:radial-gradient(circle,#fdbd3a57,#fdbd3a14 48%,#0000 68%);border-radius:999px;animation:1.6s ease-in-out infinite glow-pulse;position:absolute;inset:5%}.piggy-orbit:after{content:"";filter:blur(1px);background:#0f13231f;border-radius:999px;width:56%;height:11%;animation:1.6s ease-in-out infinite shadow-pulse;position:absolute;bottom:15px}.piggy{width:calc(78px * var(--piggy-scale));height:calc(66px * var(--piggy-scale));z-index:2;animation:1.2s ease-in-out infinite piggy-wiggle;position:relative}.piggy-body{border:calc(3px * var(--piggy-scale)) solid var(--color-dark);width:100%;height:100%;box-shadow:0 calc(6px * var(--piggy-scale)) 0 #0f132326, inset 0 calc(5px * var(--piggy-scale)) 0 #ffffff73;background:linear-gradient(145deg,#ffd5df 0%,#ff8fb0 70%);border-radius:50% 50% 45% 45%;display:block;position:relative}.piggy-slot{top:calc(10px * var(--piggy-scale));width:calc(32px * var(--piggy-scale));height:calc(5px * var(--piggy-scale));background:var(--color-dark);opacity:.85;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.piggy-ear{top:calc(-9px * var(--piggy-scale));width:calc(25px * var(--piggy-scale));height:calc(25px * var(--piggy-scale));border:calc(3px * var(--piggy-scale)) solid var(--color-dark);z-index:1;background:#ff9db8;border-radius:55% 55% 20% 20%;position:absolute}.piggy-ear:after{content:"";border-radius:inherit;background:#ff6f9d;position:absolute;inset:28%}.piggy-ear-left{left:calc(6px * var(--piggy-scale));transform:rotate(-28deg)}.piggy-ear-right{right:calc(6px * var(--piggy-scale));transform:rotate(28deg)}.piggy-eye{top:calc(24px * var(--piggy-scale));width:calc(8px * var(--piggy-scale));height:calc(8px * var(--piggy-scale));background:var(--color-dark);border-radius:999px;animation:3s infinite piggy-blink;position:absolute}.piggy-eye-left{left:calc(22px * var(--piggy-scale))}.piggy-eye-right{right:calc(22px * var(--piggy-scale))}.piggy-nose{left:50%;top:calc(34px * var(--piggy-scale));width:calc(28px * var(--piggy-scale));height:calc(20px * var(--piggy-scale));border:calc(3px * var(--piggy-scale)) solid var(--color-dark);justify-content:center;align-items:center;gap:calc(5px * var(--piggy-scale));background:#ff6f9d;border-radius:999px;display:flex;position:absolute;transform:translate(-50%)}.piggy-nose span{width:calc(4px * var(--piggy-scale));height:calc(7px * var(--piggy-scale));background:var(--color-dark);border-radius:999px}.piggy-mouth{left:50%;bottom:calc(7px * var(--piggy-scale));width:calc(18px * var(--piggy-scale));height:calc(8px * var(--piggy-scale));border-bottom:calc(3px * var(--piggy-scale)) solid var(--color-dark);border-radius:0 0 999px 999px;position:absolute;transform:translate(-50%)}.piggy-blush{top:calc(39px * var(--piggy-scale));width:calc(10px * var(--piggy-scale));height:calc(7px * var(--piggy-scale));background:#e9368559;border-radius:999px;position:absolute}.piggy-blush-left{left:calc(9px * var(--piggy-scale))}.piggy-blush-right{right:calc(9px * var(--piggy-scale))}.piggy-loader .coin{width:calc(25px * var(--piggy-scale));height:calc(25px * var(--piggy-scale));background:linear-gradient(145deg, #ffe66d, var(--color-primary) 60%, var(--color-primary-dark));border:calc(2px * var(--piggy-scale)) solid var(--color-dark);color:var(--color-dark);font-weight:950;font-size:calc(13px * var(--piggy-scale));box-shadow:0 calc(4px * var(--piggy-scale)) 0 #0f13232e;z-index:1;border-radius:999px;place-items:center;display:grid;position:absolute}.piggy-loader .coin-1{animation:1.4s linear infinite coin-spin-1;top:2%;left:50%}.piggy-loader .coin-2{animation:1.4s linear infinite coin-spin-2;top:45%;right:2%}.piggy-loader .coin-3{animation:1.4s linear infinite coin-spin-3;top:45%;left:2%}.piggy-loader .spark{background:var(--color-primary);clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);z-index:1;width:13px;height:13px;animation:1.8s ease-in-out infinite sparkle;position:absolute}.piggy-loader .spark-1{top:22px;right:28px}.piggy-loader .spark-2{background:var(--color-secondary);animation-delay:.35s;bottom:38px;left:22px}.piggy-loader .spark-3{background:var(--color-accent);animation-delay:.7s;top:45px;left:32px}.piggy-loader-text{color:var(--color-dark);font-size:.84rem;font-weight:900}.piggy-loader .dots:after{content:"";animation:1.1s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}@keyframes piggy-bounce{0%,to{transform:translateY(0)}45%{transform:translateY(-10px)}}@keyframes piggy-wiggle{0%,to{transform:rotate(-4deg)scale(1)}50%{transform:rotate(4deg)scale(1.04)}}@keyframes piggy-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@keyframes glow-pulse{0%,to{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.12)}}@keyframes shadow-pulse{0%,to{opacity:.16;transform:scaleX(1)}45%{opacity:.08;transform:scaleX(.72)}}@keyframes sparkle{0%,to{opacity:.45;transform:scale(.65)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(20deg)}}@keyframes coin-spin-1{0%{transform:translate(-50%)rotateY(0)scale(1)}50%{transform:translate(-50%,-8px)rotateY(180deg)scale(1.1)}to{transform:translate(-50%)rotateY(360deg)scale(1)}}@keyframes coin-spin-2{0%{transform:rotateY(0)translateY(0)}50%{transform:rotateY(180deg)translateY(-7px)}to{transform:rotateY(360deg)translateY(0)}}@keyframes coin-spin-3{0%{transform:rotateY(0)translateY(0)}50%{transform:rotateY(180deg)translateY(7px)}to{transform:rotateY(360deg)translateY(0)}}
