/* SUPERMATHS V236 — inscription fluide, moderne et légère */
.student-auth-page{background:#f5fbfb!important}
.student-auth-hero{background:linear-gradient(135deg,#e9fbf9 0%,#f8fcff 48%,#fff9ee 100%)!important;padding:56px 0 72px!important;min-height:calc(100vh - 86px)}
.student-auth-hero:before{width:520px!important;height:520px!important;background:radial-gradient(circle,rgba(41,202,195,.16),rgba(41,202,195,0) 68%)!important;right:-140px!important;top:-160px!important}
.student-auth-hero:after{width:430px!important;height:430px!important;background:radial-gradient(circle,rgba(255,193,92,.16),rgba(255,193,92,0) 68%)!important;left:-150px!important;bottom:-170px!important}
.student-auth-inner{width:min(1180px,92vw)!important;grid-template-columns:minmax(340px,.88fr) minmax(500px,1.12fr)!important;gap:64px!important;align-items:start!important}
.student-auth-copy{position:sticky;top:118px;padding-top:42px!important}
.student-auth-copy .portal-year{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(33,190,186,.10);border:1px solid rgba(33,190,186,.14);color:#0b8987;font-size:11px;font-weight:900;letter-spacing:.1em}
.student-auth-copy h1{font-size:clamp(52px,5.2vw,72px)!important;line-height:.98!important;color:#13233d!important;margin:20px 0 22px!important}
.student-auth-copy h1 span{color:#16b9b4!important;font-weight:650!important}
.student-auth-copy>p{font-size:17px!important;line-height:1.7!important;color:#60778b!important;max-width:520px!important}
.portal-benefits{margin-top:34px!important;border-top:1px solid rgba(19,35,61,.10)!important}
.portal-benefits>div{padding:16px 0!important;border-bottom:1px solid rgba(19,35,61,.09)!important;display:grid!important;grid-template-columns:34px 90px 1fr!important;align-items:center!important;gap:8px!important}
.portal-benefits b{color:#19aaa7!important;font-size:11px!important}.portal-benefits span{color:#14243d!important;font-weight:900!important}.portal-benefits small{color:#7c8b99!important}

.student-auth-panel{max-width:760px!important;width:100%!important;padding:24px!important;border-radius:30px!important;border:1px solid rgba(18,53,72,.08)!important;box-shadow:0 28px 80px rgba(38,82,95,.12)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)}
.student-auth-panel .auth-tabs{position:sticky;top:92px;z-index:5;background:#f3f8f8!important;border:1px solid #e5eeee!important;padding:5px!important;box-shadow:0 8px 24px rgba(20,55,70,.06)!important}
.student-auth-panel .auth-tab{min-height:44px!important;transition:all .22s ease!important;color:#708291!important}
.student-auth-panel .auth-tab.active{background:#fff!important;color:#10243d!important;box-shadow:0 5px 16px rgba(20,55,70,.09)!important}
.student-auth-panel .auth-form{gap:13px!important}
.student-auth-panel .form-heading{padding:4px 2px 8px!important}
.student-auth-panel .form-heading h2{font-size:29px!important;letter-spacing:-.5px!important}
.student-auth-panel .form-heading p{font-size:13px!important;line-height:1.55!important}

.auth-role-picker{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-top:16px!important;background:#f6fafb!important;padding:6px!important;border-radius:16px!important;border:1px solid #e7eff1!important}
.auth-role-btn{border:1px solid transparent!important;background:transparent!important;border-radius:12px!important;min-height:44px!important;font-weight:850!important;color:#587083!important;cursor:pointer!important;transition:all .2s ease!important}
.auth-role-btn:hover{background:#fff!important;transform:translateY(-1px)!important}.auth-role-btn.active{background:#e8fbf8!important;border-color:#bceee8!important;color:#087f7d!important;box-shadow:0 5px 14px rgba(16,156,153,.08)!important}
.role-note{margin-top:10px!important;padding:10px 12px!important;background:#fbfdfd!important;border-left:3px solid #2ec4bf!important;border-radius:0 10px 10px 0!important;font-size:12px!important;color:#71818f!important}

.student-auth-panel .auth-form>label,.student-auth-panel .two-cols>label,.student-auth-panel .field-block>label{font-size:12px!important;letter-spacing:.01em!important;color:#40566b!important}
.student-auth-panel .auth-form input:not([type=radio]):not([type=checkbox]),.student-auth-panel .auth-form select{height:48px!important;border:1px solid #dce8ec!important;border-radius:13px!important;background:#fbfdfd!important;padding:0 14px!important;color:#152a43!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.student-auth-panel .auth-form input:not([type=radio]):not([type=checkbox]):hover,.student-auth-panel .auth-form select:hover{border-color:#c7dcdf!important;background:#fff!important}
.student-auth-panel .auth-form input:not([type=radio]):not([type=checkbox]):focus,.student-auth-panel .auth-form select:focus{outline:none!important;border-color:#29bbb7!important;background:#fff!important;box-shadow:0 0 0 4px rgba(41,187,183,.11)!important}
.student-auth-panel input[type=file]{min-height:48px!important;height:auto!important;padding:9px 10px!important;background:#fbfdfd!important}
.student-auth-panel input[type=file]::file-selector-button{border:0;border-radius:9px;padding:8px 11px;background:#e8f8f7;color:#087f7d;font-weight:800;margin-right:10px;cursor:pointer}
.student-auth-panel .two-cols{gap:10px!important}

.student-auth-panel .choice-box{padding:12px!important;gap:8px!important;border:1px solid #e0eaed!important;border-radius:15px!important;background:#fbfdfd!important}
.student-auth-panel .choice-box legend{font-size:12px!important;color:#40566b!important;background:#fff!important;border-radius:8px!important;padding:3px 7px!important}
.student-auth-panel .choice{min-height:36px!important;padding:7px 10px!important;border:1px solid #e3ecee!important;background:#fff!important;border-radius:999px!important;font-size:12px!important;color:#53697c!important;transition:all .18s ease!important}
.student-auth-panel .choice:hover{border-color:#bcdedb!important;background:#f2fbfa!important}
.student-auth-panel .choice input[type=radio],.student-auth-panel .choice input[type=checkbox]{appearance:auto!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;margin:0!important;padding:0!important;accent-color:#19b7b2!important;box-shadow:none!important}
.student-auth-panel small{font-size:11px!important;color:#81919e!important}

/* Consentement V235 : compact et professionnel */
.sm235-consent-box{margin:8px 0 2px!important;padding:13px 14px!important;border:1px solid #d9ece9!important;border-radius:15px!important;background:linear-gradient(135deg,#f0fbfa,#fbfdfd)!important;box-shadow:none!important}
.sm235-consent-box label{display:grid!important;grid-template-columns:20px 1fr!important;gap:10px!important;align-items:start!important;font-size:12px!important;line-height:1.5!important;color:#53697c!important;font-weight:650!important}
.sm235-consent-box input[type=checkbox]{appearance:auto!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;margin:1px 0 0!important;padding:0!important;accent-color:#13aaa7!important;box-shadow:none!important}
.sm235-consent-box a{font-weight:850!important;color:#098b89!important;text-decoration:none!important}.sm235-consent-box a:hover{text-decoration:underline!important}

.student-primary-btn{min-height:50px!important;border-radius:14px!important;background:linear-gradient(135deg,#132844,#193657)!important;box-shadow:0 10px 24px rgba(19,40,68,.16)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.student-primary-btn:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(19,40,68,.22)!important}
.sm-google-auth-btn{border-radius:14px!important;box-shadow:none!important}.sm-google-auth-btn:hover{border-color:#b9d7d9!important;background:#fbfefe!important}
.sm-auth-separator{margin:12px 0!important}

@media(max-width:920px){.student-auth-inner{grid-template-columns:1fr!important;gap:28px!important}.student-auth-copy{position:static!important;padding-top:8px!important}.student-auth-copy h1{font-size:50px!important}.student-auth-copy>p{max-width:680px!important}.student-auth-panel{max-width:760px!important;margin:auto!important}.student-auth-panel .auth-tabs{top:76px!important}}
@media(max-width:620px){.student-auth-hero{padding:28px 0 46px!important}.student-auth-inner{width:min(94vw,1180px)!important}.student-auth-copy{padding:0 4px!important}.student-auth-copy h1{font-size:39px!important;margin:14px 0 16px!important}.student-auth-copy>p{font-size:14px!important}.portal-benefits>div{grid-template-columns:28px 82px 1fr!important}.student-auth-panel{padding:15px!important;border-radius:22px!important}.student-auth-panel .auth-tabs{position:static!important}.auth-role-picker{grid-template-columns:1fr!important}.auth-role-btn{min-height:40px!important}.student-auth-panel .two-cols{grid-template-columns:1fr!important}.student-auth-panel .form-heading h2{font-size:25px!important}.student-auth-panel .choice{padding:7px 9px!important}.sm235-consent-box{padding:12px!important}}

/* V237 — parcours professionnel sans Google */
#googleLoginBtn,#googleSignupBtn,.student-google-btn,.google-signin-btn,
[data-google-login],[data-google-signup]{display:none!important}
.sm237-prof-box{margin:14px 0;padding:16px;border:1px solid #dbe9ee;border-radius:18px;background:linear-gradient(180deg,#fbfefe,#f5fbfc)}
.sm237-prof-box h3{margin:0 0 5px;color:#102641;font-size:16px}
.sm237-prof-box .sm237-sub{margin:0 0 13px;color:#6b8091;font-size:12px}
.sm237-prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sm237-prof-grid .wide{grid-column:1/-1}
.sm237-subjects{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.sm237-choice{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid #dbe7ec;border-radius:13px;background:#fff;font-weight:700;font-size:12px}
.sm237-choice input{width:16px!important;height:16px!important;min-width:16px}
.sm237-file-note{font-size:11px;color:#718494;margin-top:5px}
.sm237-required-note{padding:10px 12px;border-radius:12px;background:#fff8df;border:1px solid #ffe5a3;color:#745c18;font-size:11px;line-height:1.45}
@media(max-width:650px){.sm237-prof-grid,.sm237-subjects{grid-template-columns:1fr}}

/* =========================================================
   SUPERMATHS V238 — Dossier professeur plus fluide / premium
   ========================================================= */
#sm237ProfessorFields{
  margin:18px 0 14px!important;
  padding:20px!important;
  border:1px solid rgba(17,168,182,.16)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(48,209,194,.12),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfefe 100%)!important;
  box-shadow:0 14px 38px rgba(18,50,77,.07)!important;
}
#sm237ProfessorFields h3{
  font-size:18px!important;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:8px;
}
#sm237ProfessorFields .sm237-sub{
  font-size:12.5px!important;
  line-height:1.55!important;
  max-width:620px;
  margin-bottom:16px!important;
}
#sm237ProfessorFields label{
  font-size:11.5px!important;
  font-weight:800!important;
  color:#29465f!important;
  letter-spacing:.01em;
}
.sm237-prof-grid{
  gap:12px!important;
}
.sm237-subjects{
  grid-template-columns:repeat(4,1fr)!important;
  gap:9px!important;
}
.sm237-choice{
  min-height:64px;
  padding:10px 12px!important;
  border:1px solid #e1ebef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(21,57,82,.04);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
  cursor:pointer;
  justify-content:flex-start;
}
.sm237-choice:hover{
  transform:translateY(-2px);
  border-color:#95ddd8!important;
  box-shadow:0 10px 22px rgba(18,120,128,.10);
  background:#fbffff!important;
}
.sm237-choice:has(input:checked){
  border-color:#5bcfc6!important;
  background:linear-gradient(135deg,#effdfb,#f7ffff)!important;
  box-shadow:0 8px 18px rgba(18,168,182,.10);
}
.sm237-choice input{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  border:1.5px solid #adc3ce!important;
  border-radius:6px!important;
  background:#fff!important;
  margin:0!important;
  position:relative;
}
.sm237-choice input:checked{
  border-color:#12a8b6!important;
  background:#12a8b6!important;
}
.sm237-choice input:checked:after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

#sm237ProfessorFields input[type="text"],
#sm237ProfessorFields input[type="number"],
#sm237ProfessorFields textarea{
  width:100%!important;
  border:1px solid #dce8ed!important;
  border-radius:15px!important;
  background:#fff!important;
  padding:13px 14px!important;
  font:inherit!important;
  color:#17324d!important;
  outline:none!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  box-sizing:border-box!important;
}
#sm237ProfessorFields input[type="text"]:focus,
#sm237ProfessorFields input[type="number"]:focus,
#sm237ProfessorFields textarea:focus{
  border-color:#55cfc8!important;
  box-shadow:0 0 0 4px rgba(35,190,184,.10)!important;
}
#sm237ProfessorFields textarea{
  min-height:118px!important;
  resize:vertical;
  line-height:1.5!important;
}

/* fichiers : plus propres, sans gros rendu navigateur */
#sm237ProfessorFields input[type="file"]{
  width:100%!important;
  border:1px dashed #cbdde4!important;
  border-radius:16px!important;
  background:#fbfefe!important;
  padding:8px!important;
  color:#667d8d!important;
  font-size:11.5px!important;
  box-sizing:border-box!important;
}
#sm237ProfessorFields input[type="file"]::file-selector-button{
  border:0!important;
  border-radius:11px!important;
  background:#e8f9f8!important;
  color:#087f87!important;
  padding:10px 12px!important;
  margin-right:10px!important;
  font-weight:850!important;
  cursor:pointer;
}
.sm237-file-note{
  margin:6px 2px 0!important;
  font-size:10.5px!important;
  color:#80919d!important;
}
.sm237-required-note{
  margin-top:2px!important;
  border:1px solid #f6e2a5!important;
  background:linear-gradient(135deg,#fffaf0,#fffdf8)!important;
  color:#6c5a21!important;
  border-radius:15px!important;
  padding:11px 13px!important;
}

/* hiérarchie visuelle */
#sm237ProfessorFields .wide{
  position:relative;
}
#sm237ProfessorFields .sm237-prof-grid > div:not(.wide){
  min-width:0;
}

/* mobile */
@media(max-width:900px){
  .sm237-subjects{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:650px){
  #sm237ProfessorFields{padding:15px!important;border-radius:20px!important}
  .sm237-prof-grid{grid-template-columns:1fr!important}
  .sm237-subjects{grid-template-columns:1fr 1fr!important}
  .sm237-choice{min-height:58px}
}
