/* Connexion GAIA métier — maquette validée, styles chargés uniquement sur /login. */
.page-login .app-header { position:static; height:auto; border:0; box-shadow:none; background:transparent; }
.page-login .app-header__inner { max-width:1232px; margin:auto; padding:28px 32px; height:auto; flex-wrap:wrap; gap:24px; }
.page-login .app-header__brand { gap:18px; }
.page-login .app-header__logo { width:94px; height:46px; object-fit:contain; background:transparent; padding:0; border-radius:0; }
.page-login .app-header__brand-text { border-left:1px solid var(--color-border); padding-left:18px; }
.page-login .app-header__title { color:var(--color-text); font-size:1.125rem; }
.page-login .app-header__subtitle { display:block; font-size:.75rem; }
.page-login .app-wrapper { min-height:0; }
.page-login .app-content { max-width:1232px; padding:6px 32px 0; margin:auto; }
.page-login .app-footer { max-width:1232px; margin:auto; padding:22px 32px 30px; border:0; }
.page-login #loginAppearance legend, .page-login #loginAppearance .appearance-hint { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.page-login #loginAppearance .appearance-options { background:var(--color-surface); border-color:var(--color-border); }
.page-login #loginAppearance .appearance-symbol { width:17px; height:17px; flex-basis:17px; border:0; }
.page-login #loginAppearance .appearance-symbol .icon { width:17px; height:17px; }
.page-login #loginAppearance .appearance-option { padding:8px 13px; gap:7px; }
.page-login #loginAppearance input:checked + .appearance-option { background:var(--color-primary-50); }
.page-login #loginAppearance input:checked + .appearance-option .appearance-symbol { background:transparent; box-shadow:none; }
.gaia-login-page { --story:#eaf1f8; --scene-line:#6483a4; --scene-wall:#f9fbfe; --scene-side:#d9e5f0; --scene-glass:#c7dceb; --scene-roof:#7f9cba; --scene-orange:#e7a361; --scene-skin:#e9c1a1; --scene-blue:#4276a4; --scene-trousers:#375570; overflow-wrap:anywhere; }
:root[data-theme="dark"] .gaia-login-page { --story:#1b2b40; --scene-line:#7f9cba; --scene-wall:#293c52; --scene-side:#223348; --scene-glass:#375976; --scene-roof:#5b7898; --scene-orange:#dda16a; --scene-skin:#dab69a; --scene-blue:#6e9ec6; --scene-trousers:#45647e; }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme]) .gaia-login-page { --story:#1b2b40; --scene-line:#7f9cba; --scene-wall:#293c52; --scene-side:#223348; --scene-glass:#375976; --scene-roof:#5b7898; --scene-orange:#dda16a; --scene-skin:#dab69a; --scene-blue:#6e9ec6; --scene-trousers:#45647e; }
}
.gaia-login-entry { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); border:1px solid var(--color-border); border-radius:24px; overflow:hidden; box-shadow:0 18px 60px #233b5710; }
.gaia-login-story { display:flex; flex-direction:column; background:var(--story); padding:48px 44px 30px; min-width:0; }
.gaia-login-page .eyebrow { color:var(--color-primary); font-size:.6875rem; font-weight:750; letter-spacing:.13em; }
.gaia-login-story h1 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.13; letter-spacing:-.045em; font-weight:750; margin:18px 0; }
.gaia-login-story h1 span { color:var(--color-primary); }
.gaia-login-story-description { color:var(--color-text-light); font-size:1rem; line-height:1.7; margin:0; }
.gaia-login-scene { display:block; width:calc(100% + 48px); max-width:none; height:auto; margin:4px -24px 6px; color:var(--scene-line); }
.gaia-login-scene .scene-halo { fill:var(--color-surface); opacity:.5; }
.gaia-login-scene .scene-building, .gaia-login-scene .scene-equipment { fill:var(--scene-wall); stroke:var(--scene-line); stroke-width:1.5; }
.gaia-login-scene .scene-side, .gaia-login-scene .scene-fan { fill:var(--scene-side); stroke:var(--scene-line); stroke-width:1.5; }
.gaia-login-scene .scene-roof { fill:var(--scene-roof); }
.gaia-login-scene .scene-window { fill:var(--scene-glass); stroke:var(--scene-line); stroke-width:1.2; }
.gaia-login-scene .scene-lines { fill:none; stroke:var(--scene-line); stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; }
.gaia-login-scene .scene-door { fill:var(--scene-glass); stroke:var(--scene-line); stroke-width:1.5; }
.gaia-login-scene .scene-pipe { fill:none; stroke:var(--scene-orange); stroke-width:3; stroke-linejoin:round; }
.gaia-login-scene .scene-shadow { fill:var(--scene-line); opacity:.15; }
.gaia-login-scene .scene-trousers { fill:var(--scene-trousers); }
.gaia-login-scene .scene-shoes { fill:var(--scene-line); }
.gaia-login-scene .scene-skin { fill:var(--scene-skin); }
.gaia-login-scene .scene-shirt { fill:var(--scene-blue); }
.gaia-login-scene .scene-shirt-detail { fill:none; stroke:var(--scene-wall); stroke-width:1.5; opacity:.6; }
.gaia-login-scene .scene-tablet { fill:var(--scene-side); stroke:var(--scene-line); stroke-width:1.5; }
.gaia-login-scene .scene-helmet, .gaia-login-scene .scene-bag { fill:var(--scene-orange); stroke:var(--scene-line); stroke-width:1.2; }
.gaia-login-scene .scene-helmet-line { fill:none; stroke:var(--color-accent); stroke-width:1.5; }
.gaia-login-scene .scene-plant { fill:var(--scene-side); stroke:var(--scene-line); stroke-width:1.5; }
.gaia-login-scene .scene-air { fill:none; stroke:var(--scene-line); stroke-width:1.5; opacity:.6; }
.gaia-login-services { display:flex; flex-wrap:wrap; gap:16px 24px; padding:0; margin:0; list-style:none; color:var(--color-primary); }
.gaia-login-services li { display:flex; align-items:center; gap:8px; font-size:.8125rem; font-weight:600; }
.gaia-login-locations { margin:auto 0 0; padding-top:28px; color:var(--color-text-light); font-size:.625rem; font-weight:600; letter-spacing:.18em; }
.gaia-login-locations span { margin:0 8px; }
.gaia-login-form-panel { display:flex; align-items:center; justify-content:center; background:var(--color-surface); padding:44px 48px; min-width:0; }
.gaia-login-form-inner { width:100%; max-width:368px; }
.gaia-login-mark { display:grid; place-items:center; width:44px; height:44px; background:var(--color-primary-50); color:var(--color-primary); border-radius:13px; margin-bottom:22px; }
.mon-espace-login-page .gaia-login-mark { background: transparent; }
.gaia-login-mark img { display: block; width: 44px; height: 44px; }
.gaia-login-form-panel h2 { margin:12px 0; font-size:1.875rem; font-weight:700; line-height:1.2; letter-spacing:-.035em; }
.gaia-login-description { color:var(--color-text-light); font-size:.875rem; line-height:1.65; margin:0; }
.gaia-login-page .login-form { margin-top:30px; padding:0; }
.gaia-login-page .form-group { margin-bottom:20px; }
.gaia-login-page .form-label { margin-bottom:8px; font-size:.8125rem; font-weight:650; }
.gaia-login-input { position:relative; }
.gaia-login-input > .icon { position:absolute; top:50%; left:15px; transform:translateY(-50%); color:var(--color-text-light); pointer-events:none; }
.gaia-login-input .form-input { min-height:52px; padding:12px 14px 12px 44px; border-radius:9px; font-size:1rem; }
.gaia-login-input.input-password-wrapper .form-input { padding-right:54px; }
.gaia-login-input .input-password-toggle { top:4px; right:4px; transform:none; width:44px; height:44px; padding:0; border-radius:6px; }
.gaia-login-page #loginSubmit { display:flex; align-items:center; justify-content:center; gap:14px; padding:13px 16px; min-height:52px; margin-top:6px; font-size:.9375rem; font-weight:650; border-radius:9px; box-shadow:none; }
.gaia-login-page .login-form__footer { margin-top:12px; }
.gaia-login-page .login-form__footer a { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; font-size:.8125rem; font-weight:600; color:var(--color-primary); }
.gaia-login-privacy { margin-top:23px; padding-top:20px; border-top:1px solid var(--color-border); color:var(--color-text-light); font-size:.6875rem; line-height:1.7; }
.gaia-login-privacy p { margin:0; }
.gaia-login-privacy a { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; font-size:.75rem; font-weight:600; color:var(--color-primary); }
.gaia-login-page .flash-message { margin-top:22px; font-size:.8125rem; }
@media (min-width:1400px) { .page-login .app-header__inner { padding-top:36px; padding-bottom:36px; } .page-login .app-content { padding-top:12px; } }
@media (min-width:761px) and (max-width:1023px) {
  .page-login .app-header__inner { padding:24px; }
  .page-login .app-content { padding:0 24px; }
  .gaia-login-story { padding:36px 28px 28px; }
  .gaia-login-form-panel { padding:36px 28px; }
  .gaia-login-form-panel h2 { font-size:1.625rem; }
  .gaia-login-story-description { font-size:.875rem; }
  .gaia-login-services { gap:12px; }
}
@media (max-width:760px) {
  .page-login .app-header__inner { padding:16px 20px; gap:12px; }
  .page-login .app-header__logo { width:76px; height:40px; }
  .page-login .app-header__brand-text { display:none; }
  .page-login #loginAppearance .appearance-option { padding:8px 10px; gap:5px; }
  .page-login #loginAppearance .appearance-option-text { font-size:.75rem; }
  .page-login #loginAppearance .appearance-symbol { width:15px; height:15px; flex-basis:15px; }
  .page-login #loginAppearance .appearance-symbol .icon { width:15px; height:15px; }
  .page-login .app-content { padding:0 16px; }
  .gaia-login-entry { grid-template-columns:1fr; border-radius:18px; }
  .gaia-login-story { position:relative; padding:22px 24px; overflow:hidden; }
  .gaia-login-story-copy { position:relative; z-index:1; }
  .gaia-login-story .eyebrow { font-size:.5625rem; max-width:80%; }
  .gaia-login-story h1 { font-size:1.5625rem; margin:8px 0 0; }
  .gaia-login-story h1 br { display:none; }
  .gaia-login-story h1 span { display:block; }
  .gaia-login-story-description, .gaia-login-services, .gaia-login-locations { display:none; }
  .gaia-login-scene { position:absolute; width:170px; height:100px; right:-35px; bottom:0; margin:0; opacity:.35; pointer-events:none; }
  .gaia-login-form-panel { padding:26px 24px 18px; }
  .gaia-login-form-inner { max-width:none; }
  .gaia-login-mark, .gaia-login-form-panel > div > .eyebrow { display:none; }
  .gaia-login-form-panel h2 { font-size:1.5rem; margin:0 0 10px; }
  .gaia-login-form-panel h2 br { display:none; }
  .gaia-login-description { font-size:.8125rem; }
  .gaia-login-page .login-form { margin-top:24px; }
  .gaia-login-page .form-group { margin-bottom:18px; }
  .gaia-login-privacy { margin-top:14px; padding-top:14px; }
  .page-login .app-footer { padding:18px 20px 22px; }
}
@media (max-width:359px) {
  .page-login .app-header__inner { padding-left:16px; padding-right:16px; }
  .page-login .app-header__logo { width:60px; }
  .page-login #loginAppearance .appearance-option { padding-left:8px; padding-right:8px; gap:4px; }
  .gaia-login-story, .gaia-login-form-panel { padding-left:20px; padding-right:20px; }
}
@media print { .gaia-login-entry { box-shadow:none; } }

/* Connexion compacte : marque en haut, choix de thème dans le pied de page. */
.page-login .app-header__inner { padding-top: 16px; padding-bottom: 14px; }
.page-login .app-content { padding-top: 0; }
.page-login .app-content > .group-environment { margin-bottom: .85rem; }
.page-login .app-footer__inner { gap: 1rem; align-items: center; }
.page-login .app-footer #loginAppearance { margin: 0; }
@media (min-width: 1400px) { .page-login .app-header__inner { padding-top: 18px; padding-bottom: 16px; } .page-login .app-content { padding-top: 0; } }
@media (max-width: 760px) { .page-login .app-header__inner { padding-top: 10px; padding-bottom: 10px; } .page-login .app-footer__inner { flex-wrap: wrap; justify-content: center; } }

/* Mon Espace : scène éditoriale simplifiée, volumes doux, aucune personne réelle ou marque. */
.group-login-scene { display: block; width: calc(100% + 40px); height: auto; margin: 18px -20px 14px; align-self: center; color: var(--scene-line); }
.login-team-scene .team-halo { fill: var(--color-surface); opacity: .5; }
.login-team-scene .team-backdrop { opacity: .3; }
.login-team-scene .team-shadow { fill: var(--scene-line); opacity: .16; }
.group-login-mobile-trades { display: none; }
.mon-espace-login-page .gaia-login-locations { letter-spacing: .08em; line-height: 1.8; }
@media (max-width: 760px) {
  .group-login-scene { display: none; }
  .mon-espace-login-page .gaia-login-story h1 { max-width: none; }
  .group-login-mobile-trades { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1rem; }
  .group-login-mobile-trades > span { display: flex; align-items: center; gap: .35rem; color: var(--color-text); font-size: .65rem; letter-spacing: .02em; }
  .me-mobile-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; }
  .me-mobile-icon svg { display: block; width: 20px; height: 20px; }
  .me-mobile-icon--blue { background: #528cc9; color: #10253c; }
  .me-mobile-icon--green { background: #33ab6f; color: #082c20; }
  .me-mobile-icon--navy { background: #0e0272; color: #fff; }
}
