/* RC31 — parcours d'inscription SWAT, mobile-first */
.rc31-registration{width:min(720px,100%);margin:0 auto;color:var(--text,#f5f1ff);padding:12px}.rc31-registration-head{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#ae9bc5;font-size:.72rem;letter-spacing:.07em}.rc31-registration-head button{background:transparent;color:inherit;border:1px solid #62487d;border-radius:12px;padding:9px}.rc31-registration h2{margin:18px 0 4px;font-size:1.7rem}.rc31-registration p{color:#bfb2d1;line-height:1.6}.rc31-choices{display:grid;gap:12px;margin-top:24px}.rc31-choices button{display:grid;text-align:left;gap:8px;background:#261536;border:1px solid #674284;color:#fff;border-radius:16px;padding:20px;cursor:pointer}.rc31-choices button strong{font-size:1.15rem}.rc31-choices button span{font-size:.88rem;color:#bfb2d1}.rc31-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.rc31-form-grid label{display:grid;gap:7px;min-width:0;font-size:.8rem;color:#d2c5e2}.rc31-form-grid input,.rc31-form-grid select{width:100%;border:1px solid #634c7c;border-radius:10px;background:#100f17;color:#fff;padding:12px;min-height:45px}.rc31-form-grid .rc31-wide{grid-column:1/-1}.rc31-form-grid label small{font-size:.7rem;color:#b7aace}.rc31-consent{display:flex;align-items:flex-start;gap:11px;font-size:.82rem;line-height:1.6;color:#d4c6df;margin:12px 0}.rc31-consent input{margin-top:6px;flex:none}.rc31-primary{background:linear-gradient(130deg,#9a4cf0,#b978ef);color:white!important;border:0;border-radius:12px;padding:13px 19px;font-weight:780;cursor:pointer;min-height:43px}.rc31-primary:disabled{opacity:.55;cursor:wait}.rc31-feedback{color:#ffc5c0!important;min-height:1.6em}.rc31-notice,.rc31-success{background:#1d1431;border:1px solid #68467f;padding:16px;border-radius:14px;margin:17px 0;line-height:1.6}.rc31-success strong{font-size:1.3rem}.rc31-auth-entry{display:flex;gap:9px;margin-top:12px}.rc31-auth-entry button{width:100%;border-radius:12px;padding:13px;background:#281a44;border:1px solid #8051a9;color:#fff;font-weight:750;cursor:pointer}.rc31-install-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;width:100%;margin-top:14px;background:transparent;color:#c6a6ed;border:1px solid #654b81;border-radius:12px;padding:12px;cursor:pointer}.rc31-tour{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.rc31-tour-backdrop{position:absolute;inset:0;background:#080514dc;backdrop-filter:blur(8px)}.rc31-tour-card{position:relative;width:min(460px,100%);padding:28px;background:#1c1230;border:1px solid #8f63ac;border-radius:22px;box-shadow:0 30px 110px #0008;color:#fff}.rc31-tour-card small{color:#c98ae9;letter-spacing:.09em}.rc31-tour-card p{color:#c4b7d8;line-height:1.6}.rc31-tour-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.rc31-tour-actions [data-skip]{border:1px solid #69517d;border-radius:11px;background:transparent;color:#ddd;padding:10px 18px}.rc31-family-action{background:#241936;border:1px solid #675082;border-radius:15px;padding:15px;margin-bottom:15px;display:flex;gap:12px;align-items:center;justify-content:space-between}.rc31-family-action button{border:0;border-radius:10px;background:#8551b2;color:white;padding:12px 14px;cursor:pointer}.rc31-guardian-empty{min-height:100dvh;display:grid;place-items:center;background:#0f0a1d;color:#fff;padding:25px}.rc31-guardian-card{width:min(690px,100%);padding:25px;border:1px solid #553576;background:#1c1130;border-radius:22px}.rc31-guardian-card p{color:#c7b9d6}.rc31-pending-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #ffffff18;padding:10px 2px}.rc31-pending-item small{color:#c8b4dc}.rc31-guardian-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.rc31-guardian-actions button{padding:12px;border:1px solid #744b94;background:#2b1b47;border-radius:12px;color:white;cursor:pointer}
@media(max-width:600px){.rc31-form-grid{grid-template-columns:1fr}.rc31-family-action{flex-direction:column;align-items:stretch}.rc31-auth-entry{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.rc31-tour *,.rc31-registration *{transition:none!important;animation:none!important}}
/* Contain form padding inside the mobile viewport and PWA shell. */
.rc31-registration,.rc31-registration *,.rc31-tour,.rc31-tour *,.rc31-guardian-empty,.rc31-guardian-empty *{box-sizing:border-box}
.rc31-registration{max-width:100%;min-width:0}

.rc31-pending-family{margin:14px 0;padding:15px;border:1px solid #5b4276;background:#1e1430;border-radius:14px}.rc31-pending-family>strong{display:block;margin-bottom:8px}
