/* EarthRoster 1452.179: focused sign-in + company creation presentation.
   CSS-only visual layer; preserve IDs, submission handlers, plans, and authentication rules. */
@layer er154 {
  #app .er154-auth {
    background: linear-gradient(180deg, #153d30 0, #1e4a39 218px, #f4f5f0 218px, #f4f5f0 100%) !important;
    color: #173d30 !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    overflow-x: clip !important;
  }
  #app .er154-auth .er154-top-art,
  #app .er154-auth .er154-bottom-art { display:none!important; }
  #app .er154-auth .er-auth-header {
    width:100%!important; max-width:1090px!important; margin:0 auto!important;
    padding:27px 26px 30px!important; min-height:0!important;
  }
  #app .er154-auth .er-auth-brand {
    display:inline-flex!important; gap:12px!important; min-height:52px!important;
    border-radius:12px!important; text-decoration:none!important;
  }
  #app .er154-auth .er105-auth-logo {
    width:54px!important; height:54px!important; flex-basis:54px!important;
    border-radius:13px!important; object-fit:contain!important;
    background: #e3e9da!important;
    box-shadow: 0 2px 12px #071e162d!important;
  }
  #app .er154-auth .er154-brand-divider {display:none!important}
  #app .er154-auth .er154-brand-copy {gap:3px!important}
  #app .er154-auth .er-auth-brand strong {
    color:#fffdf6!important; font-size:clamp(25px,3vw,32px)!important;
    font-weight:760!important; letter-spacing:-1.35px!important; line-height:1.05!important;
    text-shadow:none!important;
  }
  #app .er154-auth .er-auth-brand strong span {color:#d7dda9!important}
  #app .er154-auth .er-auth-brand small {
    color:#d4e1d4!important; font-size:12px!important;
    font-weight:460!important; letter-spacing:.04em!important;
  }
  #app .er154-auth .er-auth-main {
    width:min(100%,1090px)!important; max-width:1090px!important;
    margin:0 auto!important; padding:0 26px!important;
    display:grid!important; grid-template-columns:minmax(0, 0.94fr) minmax(0, 1fr)!important;
    gap:24px!important; align-items:stretch!important;
  }
  #app .er154-auth .er-auth-story {
    display:flex!important; flex-direction:column!important; justify-content:center!important;
    position:relative!important; overflow:hidden!important;
    border-radius:23px!important; border:1px solid #3e6853!important;
    padding:clamp(28px,4.4vw,52px)!important;
    background:linear-gradient(151deg,#285740 0%,#153d30 63%,#123126 100%)!important;
    color:#f8f9f3!important;
    min-height:525px!important; box-shadow:0 12px 34px #142d2512!important;
  }
  #app .er154-auth .er-auth-story::before {
    content:''; position:absolute; width:280px; height:280px; border-radius:50%;
    right:-145px; bottom:-152px; background:radial-gradient(circle,#9cb68b2b 0,#9cb68b00 72%);
    pointer-events:none;
  }
  #app .er154-auth .er-auth-story .er-auth-kicker {
    color:#cedcae!important; font-size:12px!important; font-weight:760!important;
    letter-spacing:.15em!important;
  }
  #app .er154-auth .er-auth-story h2 {
    color:#fffefa!important; font-size:clamp(32px,4vw,46px)!important;
    font-weight:760!important; line-height:1.14!important;
    letter-spacing:-1.5px!important; margin:17px 0!important;
  }
  #app .er154-auth .er-auth-story p {
    color:#d6e4d8!important; font-size:15px!important;
    line-height:1.65!important; margin:0 0 22px!important;
  }
  #app .er154-auth .er-auth-features {
    display:grid!important; gap:13px!important; padding:0!important;
    margin:14px 0 0!important; list-style:none!important;
  }
  #app .er154-auth .er-auth-features li {
    display:flex!important; align-items:center!important; gap:12px!important;
    color:#f1f5e8!important; font-size:14px!important;
    line-height:1.5!important; padding:0!important;
  }
  #app .er154-auth .er-auth-features li::before {
    content:'✓'; display:grid; place-items:center; flex:0 0 24px;
    width:24px; height:24px; color:#184534;
    background:#cbe1bd; border-radius:50%; font-weight:800;
  }
  #app .er154-auth .er-auth-card {
    width:100%!important; max-width:none!important; margin:0!important;
    padding:clamp(26px,4vw,40px) clamp(22px,4vw,41px)!important;
    border:1px solid #e2e7df!important; border-radius:23px!important;
    background:#fff!important;
    box-shadow:0 12px 36px #183f2d16!important;
  }
  #app .er154-auth .er-auth-kicker {
    font-size:11px!important; line-height:1.4!important;
    font-weight:760!important; letter-spacing:.16em!important;
    color:#56806a!important;
  }
  #app .er154-auth #erAuthTitle {
    font-size:clamp(29px,3vw,36px)!important;
    font-weight:770!important; letter-spacing:-1.18px!important;
    color:#173d30!important; margin:8px 0 7px!important;
  }
  #app .er154-auth .er-auth-heading p {
    color:#64766a!important; font-size:14px!important;
    line-height:1.55!important; max-width:400px!important;
  }
  #app .er154-auth .er-auth-form {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important; margin:22px 0 0!important;
  }
  #app .er154-auth .er-auth-field {gap:7px!important}
  #app .er154-auth .er-auth-field label {
    font-size:13px!important; font-weight:700!important; color:#254c3b!important;
  }
  #app .er154-auth .er-auth-input {
    height:51px!important; min-height:51px!important; padding:11px 47px 11px 53px!important;
    border:1px solid #d7dfd5!important; border-radius:12px!important;
    background:#fbfcfa!important; color:#1f392c!important;
    font-size:15px!important;
  }
  #app .er154-auth .er-auth-input:focus {
    border-color:#2b694c!important; background:#fff!important;
    box-shadow:0 0 0 3px #38896725!important;
  }
  #app .er154-auth .er-auth-input::placeholder {color:#91a095!important}
  #app .er154-auth .er154-field-icon {
    height:30px!important; top:11px!important; left:0!important;
    width:45px!important; border-right:1px solid #e2e8df!important;
    color:#567662!important;
  }
  #app .er154-auth .er154-field-icon svg{width:21px!important;height:21px!important}
  #app .er154-auth .er-auth-eye {top:2px!important;height:47px!important;color:#567662!important}
  #app .er154-auth .er-auth-submit {
    border:1px solid #194a35!important; border-radius:12px!important;
    background:#1e503b!important; box-shadow:0 5px 12px #173b2a20!important;
    min-height:52px!important; height:52px!important;
    font-size:15px!important; letter-spacing:.01em!important;
    transition:background .15s,transform .15s!important;
  }
  #app .er154-auth .er-auth-submit:hover {filter:none!important;background:#276449!important}
  #app .er154-auth .er-auth-submit:active {transform:translateY(1px)!important}
  #app .er154-auth .er-auth-help {
    margin:15px 0 0!important; gap:4px!important;
    color:#6d7b70!important;
  }
  #app .er154-auth .er-auth-help strong{color:#245a41!important;font-size:13px!important}
  #app .er154-auth .er-auth-switch {
    margin:22px 0 0!important; padding:17px 0 0!important;
    border-top:1px solid #ebeee9!important; gap:10px!important;
    color:#6c7e70!important; font-size:13px!important;
  }
  #app .er154-auth .er-auth-switch>a,
  #app .er154-auth .er-auth-switch>button {
    height:49px!important; min-height:49px!important;
    border:1px solid #c4d8c8!important; border-radius:11px!important;
    background:#f0f6f0!important; color:#24523c!important;
    font-size:14px!important; box-shadow:none!important;
  }
  #app .er154-auth .er-auth-footer {
    flex:0 0 auto!important; margin:0 auto!important;
    padding:23px 16px max(35px,env(safe-area-inset-bottom,0px))!important;
    font-size:12px!important; color:#758579!important;
  }
  #app .er154-auth .er110-start {
    border:1px solid #e1e8dd!important; background:#f5f8f2!important;
    border-radius:15px!important; padding:13px!important;
  }
  #app .er154-auth .er110-start legend {
    font-size:13px!important; color:#294b39!important;
    font-weight:720!important;
  }
  #app .er154-auth .er110-start-options{gap:7px!important}
  #app .er154-auth .er110-start-option>span {
    background:#fff!important; border-color:#d6dfd4!important;
    color:#436452!important; font-size:12px!important;
    min-height:44px!important; border-radius:10px!important;
    white-space:normal!important; text-align:center!important;
  }
  #app .er154-auth .er110-start-option:has(input:checked)>span {
    background:#20543c!important; border-color:#20543c!important; color:white!important;
  }
  #app .er154-auth #er110-start-description {
    font-size:12px!important; line-height:1.5!important; min-height:17px!important;
    color:#647568!important; margin:9px 2px 0!important;
  }
  #app .er154-auth .er111-signup-plan:not([hidden]) {
    background:#f8fbf6!important; border-radius:11px!important;
    border:1px solid #e1e9df!important; padding:10px!important;
  }
  #app .er154-auth .er-auth-error:not(:empty) {
    background:#fff5ef!important;border-color:#f0d4c6!important;
  }
  #app .er154-auth .er-auth-brand:focus-visible,
  #app .er154-auth a:focus-visible,
  #app .er154-auth button:focus-visible {
    outline:3px solid #9ec9a9!important;outline-offset:3px!important;
  }
  @media(max-width:780px) {
    #app .er154-auth {
      background:linear-gradient(180deg,#173f31 0,#1d4b39 194px,#f5f6f2 194px,#f5f6f2 100%)!important;
    }
    #app .er154-auth .er-auth-header {
      max-width:540px!important;
      padding:calc(23px + env(safe-area-inset-top,0px)) 20px 26px!important;
    }
    #app .er154-auth .er105-auth-logo {width:48px!important;height:48px!important;flex-basis:48px!important}
    #app .er154-auth .er-auth-brand strong{font-size:26px!important;letter-spacing:-1px!important}
    #app .er154-auth .er-auth-brand small{font-size:11px!important}
    #app .er154-auth .er-auth-main {
      display:block!important; width:100%!important;
      max-width:540px!important; padding:0 14px!important;
    }
    #app .er154-auth .er-auth-story {display:none!important}
    #app .er154-auth .er-auth-card {
      padding:26px 24px 24px!important; border-radius:21px!important;
      box-shadow:0 12px 26px #183f2d1c!important;
    }
    #app .er154-auth .er-auth-form {margin-top:20px!important;gap:13px!important}
    #app .er154-auth .er-auth-input {height:50px!important;min-height:50px!important;font-size:16px!important}
    #app .er154-auth .er154-field-icon{top:10px!important}
    #app .er154-auth .er-auth-eye {top:2px!important}
    #app .er154-auth .er-auth-submit {height:51px!important;min-height:51px!important;margin-top:5px!important}
    #app .er154-auth .er-auth-switch {margin-top:18px!important;padding-top:16px!important}
    #app .er154-auth .er-auth-footer {padding:22px 10px max(30px,env(safe-area-inset-bottom,0px))!important}
  }
  @media(max-width:360px) {
    #app .er154-auth .er-auth-header{padding-left:17px!important;padding-right:17px!important}
    #app .er154-auth .er-auth-main{padding:0 10px!important}
    #app .er154-auth .er-auth-card{padding:23px 17px!important}
    #app .er154-auth .er110-start-options{gap:5px!important}
    #app .er154-auth .er110-start-option>span{font-size:11px!important;padding:7px 2px!important}
  }
  @media(prefers-reduced-motion:reduce){#app .er154-auth *,#app .er154-auth *::before{transition:none!important;animation:none!important}}
}
