:root{--color-primary:#064679;--color-primary-dark:#043355;--color-accent:#ff010b;--color-highlight:#ffc800;--color-bg:#f7f9fc;--color-surface:#fff;--color-text:#1a2433;--color-success:#1f9d55;--color-border:#d7dee8;--color-neutral:#5c6b7a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}body{min-width:360px}.app-shell{max-width:560px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom, 0px))}.app-header{padding:16px 0;text-align:center}.app-header h1{font-size:1.15rem;color:var(--color-primary);margin:8px 0 0}.app-logo{width:100%;max-width:280px;height:auto}.wizard-shell{background:var(--color-surface);border-radius:12px;padding:16px}.wizard-step-title{color:var(--color-primary);font-size:1.1rem}.progress-wrapper{margin-bottom:12px}.progress-label{margin:0 0 6px;font-weight:600}.progress-track{background:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;transition:width .2s ease}.field{margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.field label,.field legend{font-weight:600}.field-input{min-height:48px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem}.field-input-error{border-color:var(--color-accent)}.field-error{color:var(--color-accent);font-size:.875rem;margin:0}.checkbox-options,.radio-options{display:flex;flex-direction:column;gap:10px}.checkbox-option,.checkbox-single,.radio-option{display:flex;align-items:center;gap:10px;min-height:44px}.btn{min-height:48px;padding:0 20px;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;flex:1 1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.wizard-footer{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:12px;padding:12px 0;background:var(--color-bg)}.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.success-screen{text-align:center;padding:32px 16px}.numero-inscripcion{font-size:1.5rem;font-weight:700;color:var(--color-primary-dark);background:var(--color-highlight);display:inline-block;padding:8px 20px;border-radius:8px;margin:16px 0}.admin-chart{margin-bottom:24px}.admin-chart figcaption{font-weight:600;margin-bottom:8px}.admin-chart-table{margin-top:8px}.admin-chart-table summary{cursor:pointer;color:var(--color-primary);font-size:.875rem}.admin-chart-table table{width:100%;border-collapse:collapse;margin-top:8px}.admin-chart-table td,.admin-chart-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--color-border)}.admin-stat-tile{background:var(--color-surface);border-radius:12px;padding:20px;margin-bottom:24px}.admin-stat-tile-label{margin:0;font-weight:600;color:var(--color-text)}.admin-stat-tile-value{margin:4px 0 0;font-size:2.5rem;font-weight:700;color:var(--color-primary)}.admin-shell{max-width:960px;margin:0 auto;padding:16px}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border);margin-bottom:20px}.admin-header nav{display:flex;gap:16px}.admin-header nav a{color:var(--color-primary);font-weight:600;text-decoration:none}.admin-header button{background:transparent;border:1px solid var(--color-border);border-radius:8px;padding:8px 14px;cursor:pointer}.admin-login-shell{max-width:360px;margin:60px auto;background:var(--color-surface);border-radius:12px;padding:24px}.admin-dashboard{display:flex;flex-direction:column}.admin-filtros{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.admin-filtros input,.admin-filtros select{min-height:40px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px}.admin-inscritos table{width:100%;border-collapse:collapse;margin-bottom:16px}.admin-inscritos td,.admin-inscritos th{text-align:left;padding:8px;border-bottom:1px solid var(--color-border);font-size:.875rem}.admin-paginacion{display:flex;align-items:center;gap:12px}