/* Shared V3.0.2 pricing + auth UI; loaded after legacy styles. */
body:not(.logged-in) .wrap:has(#login:not(.hidden)){max-width:1180px!important}
body:not(.logged-in) #login{max-width:500px!important;width:100%;box-sizing:border-box;margin:24px auto 36px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;display:block!important}
body:not(.logged-in) #login.fee302-public-signup{max-width:1100px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:start;gap:24px}
#login .fee302-auth-main{width:100%;min-width:0;box-sizing:border-box;background:white;padding:32px;border-radius:24px;border:1px solid #e2e9dc;box-shadow:0 12px 36px #073e310c}
#login .fee302-auth-aside{min-width:0;box-sizing:border-box;background:#f8faef;border:1px solid #e1ead5;border-radius:24px;padding:26px}
#login .fee302-auth-aside.hidden{display:none!important}
#login .fee302-auth-main .auth-logo{width:min(100%,220px)!important;max-height:98px!important;margin:0 auto 13px!important}
#login .fee302-auth-main .auth-intro.fee302-subtle-intro{margin:0 0 16px!important;text-align:center}
#login .fee302-auth-main .auth-intro.fee302-subtle-intro .auth-promise{font-size:17px!important;letter-spacing:-.02em!important;margin-bottom:4px!important}
#login .fee302-auth-main .auth-intro.fee302-subtle-intro .auth-support{font-size:12px!important}
#login #authTitle{color:#073e31;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.045em;margin:9px 0 14px}
#login .auth-switch{margin-bottom:19px!important}
#login .fee302-name-split{display:grid;grid-template-columns:1fr 1fr;gap:11px}
#login .fee302-name-split.hidden{display:none!important}
#login .fee302-name-split .field{min-width:0}
#login .fee302-name-split input{min-width:0;width:100%;box-sizing:border-box}
#login #signupForm #roleHelp{font-size:12px;line-height:1.45;margin:11px 0!important;color:#647669}
#login #signupForm #trialSignupHint{font-size:12px;text-align:center}
.fee302-pricing .fee302-price-heading .fee302-eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#587660;margin:0 0 9px}
.fee302-pricing .fee302-price-heading h3{font-size:clamp(18px,2vw,24px);letter-spacing:-.045em;line-height:1.2;color:#073e31;margin:0 0 9px}
.fee302-pricing .fee302-price-heading p{margin:0 0 20px;font-size:13px;line-height:1.48;color:#60786a}
.fee302-pricing .fee302-plan-grid{display:grid;grid-template-columns:1fr;gap:10px}
.fee302-pricing .fee302-plan-card{border:1px solid #dce6d6;border-radius:16px;background:#fff;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;box-shadow:none;min-height:0}
.fee302-pricing .fee302-plan-card h4{font-size:15px;line-height:1.25;font-weight:800;color:#073e31;margin:0;grid-column:1;grid-row:1}
.fee302-pricing .fee302-cost{grid-column:2;grid-row:1 / span 2;text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px}
.fee302-pricing .fee302-cost strong{font-size:21px;font-weight:850;letter-spacing:-.04em;line-height:1.15;color:#073e31}
.fee302-pricing .fee302-cost span{font-size:10px;color:#637a6c}
.fee302-pricing .fee302-plan-card p{grid-row:2;grid-column:1;color:#334e3e;font-size:12px;margin:0}
.fee302-pricing .fee302-plan-card small{grid-row:3;grid-column:1 / -1;color:#758876;font-size:11px;margin-top:3px}
.fee302-pricing .fee302-plan-note{margin:17px 0 0;font-size:11px;color:#52715a;line-height:1.5}
#feePlanOptions.fee302-pricing{display:block;margin-top:17px}
#feePlanOptions.fee302-pricing.hidden{display:none!important}
#feePlanOptions.fee302-pricing .fee302-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#feePlanOptions.fee302-pricing .fee302-plan-card{grid-template-columns:1fr;gap:7px;align-content:start;padding:17px}
#feePlanOptions.fee302-pricing .fee302-plan-card h4,#feePlanOptions.fee302-pricing .fee302-plan-card p,#feePlanOptions.fee302-pricing .fee302-plan-card small,#feePlanOptions.fee302-pricing .fee302-cost{grid-row:auto;grid-column:auto;text-align:left;align-items:start}
#feePlanOptions.fee302-pricing .fee302-plan-card p{min-height:0}
#feePlanOptions.fee302-pricing .fee302-plan-card .fee302-cost strong{font-size:24px}
@media(max-width:750px){
 body:not(.logged-in) .wrap:has(#login:not(.hidden)){padding:16px 16px 45px!important}
 body:not(.logged-in) #login.fee302-public-signup{display:flex!important;flex-direction:column;gap:15px;max-width:520px!important}
 body:not(.logged-in) #login{margin:14px auto 26px!important}
 #login .fee302-auth-main,#login .fee302-auth-aside{padding:22px 18px;border-radius:20px;width:100%}
 #login .fee302-auth-main .auth-logo{max-height:74px!important;width:min(100%,190px)!important}
 #login .fee302-auth-main .auth-intro.fee302-subtle-intro{margin-bottom:11px!important}
 #login .fee302-auth-main .auth-intro.fee302-subtle-intro .auth-promise{font-size:15px!important}
 #feePlanOptions.fee302-pricing .fee302-plan-grid{grid-template-columns:1fr}
 #feePlanOptions.fee302-pricing .fee302-plan-card{grid-template-columns:minmax(0,1fr) auto}
 #feePlanOptions.fee302-pricing .fee302-plan-card h4{grid-column:1;grid-row:1}
 #feePlanOptions.fee302-pricing .fee302-plan-card .fee302-cost{grid-column:2;grid-row:1 / span 2;align-items:end;text-align:right}
 #feePlanOptions.fee302-pricing .fee302-plan-card p{grid-column:1;grid-row:2}
 #feePlanOptions.fee302-pricing .fee302-plan-card small{grid-column:1 / -1;grid-row:3}
}
@media(max-width:355px){#login .fee302-name-split{grid-template-columns:1fr}}

/* V3.0.3 – concise, task-focused auth; no repeated brand or trial messaging. */
body:not(.logged-in) .platform-footer{display:none!important}
#login .fee302-auth-main .auth-intro{display:none!important}
#login .fee302-auth-main .auth-logo{margin:7px auto 23px!important}
#login #authTitle{line-height:1.17!important;margin:0 0 20px!important;font-size:clamp(1.55rem,3.5vw,2.05rem)!important}
#login .fee-auth-reassurance{display:none!important}
#login #signupForm #roleHelp{margin:10px 0 15px!important}
#login #signupForm #trialSignupHint{margin:12px 0 0!important;color:#567765;font-size:12px!important;line-height:1.45}
#login .fee302-plan-card small{display:none!important}
#login .fee302-plan-grid .fee302-plan-card{grid-template-rows:auto auto}
#login .fee302-price-heading .fee302-eyebrow{letter-spacing:.1em}
#login.fee303-recovery-mode .auth-switch{display:none!important}
#login.fee303-recovery-mode #authTitle{margin-bottom:18px!important}
#login #feeRecoverForm{padding-bottom:4px!important}
#login #feeRecoverForm .fee-auth-link{margin-top:20px!important}
#login #signupForm:not(.hidden) + .fee-auth-reassurance{display:none!important}
@media(max-width:750px){
 #login .fee302-auth-main .auth-logo{width:min(100%,190px)!important;max-height:78px!important;margin:3px auto 18px!important}
 #login #authTitle{font-size:clamp(1.5rem,6vw,1.85rem)!important;margin-bottom:17px!important}
 #login .fee302-auth-main{padding-top:21px!important}
 #login .fee302-price-heading p{margin-bottom:14px!important}
 #login .fee302-auth-aside{padding-top:21px!important}
}

/* V3.0.4: one clear registration vocabulary, explanatory text directly below title. */
#login #fee304SignupExplanation{font-size:13px;color:#587265;line-height:1.45;margin:-10px 0 18px}
#login #fee304SignupExplanation.hidden{display:none!important}
#login.fee302-public-signup #roleHelp{display:none!important}
@media(max-width:750px){#login #fee304SignupExplanation{font-size:12px;margin:-8px 0 15px}}

/* V4.0.2 : statut de transport distinct de l'acceptation de l'invitation */
.fee-v402-delivery{display:block;margin-top:6px;font-size:.83em;color:#557568}
.fee-v402-delivery[data-state="failed"]{color:#a13b2d;font-weight:650}
