.auth-main{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:54px 20px 72px;background:linear-gradient(180deg,#f5f8f8 0%,#ffffff 78%)}
.auth-shell{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid rgba(21,34,55,.09);border-radius:28px;background:#fff;box-shadow:0 24px 68px rgba(21,34,55,.08)}
.auth-copy{padding:60px 54px;background:linear-gradient(145deg,#edf7f0 0%,#eff6f9 100%);display:flex;flex-direction:column;justify-content:center}
.auth-copy .eyebrow{margin:0 0 18px;color:var(--green-dark);font-size:14px;letter-spacing:.18em;font-weight:800}
.auth-copy h1{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(48px,4.7vw,72px);line-height:.94;letter-spacing:-.07em;margin:0 0 22px;color:var(--ink)}
.auth-copy h1 span{display:block;color:var(--green)}
.auth-copy>p{max-width:430px;color:#657286;font-size:16px;line-height:1.62;margin:0}
.auth-points{display:grid;gap:14px;margin:30px 0 0;padding:0;list-style:none}
.auth-points li{display:flex;gap:10px;align-items:flex-start;color:#536174;font-size:14px;line-height:1.45}
.auth-points li>span:first-child{color:var(--green);font-weight:900;flex:none}
.auth-card{padding:54px 58px;background:#fff}
.auth-card h2{font-family:"Plus Jakarta Sans",sans-serif;color:var(--ink);font-size:31px;line-height:1.08;letter-spacing:-.05em;margin:0 0 8px}
.auth-card>p{color:#6b788a;font-size:15px;line-height:1.55;margin:0 0 28px}
.auth-form{display:grid;gap:17px}
.auth-form .two-col-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-field{display:grid;gap:7px}
.auth-field label{font-size:13px;font-weight:800;color:var(--ink)}
.auth-field input,.auth-field select{width:100%;min-height:50px;border:1px solid #d7e0db;border-radius:13px;background:#fff;padding:11px 14px;color:var(--ink);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.auth-field input::placeholder{color:#a0a8b1}
.auth-field input:focus,.auth-field select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(77,132,95,.1)}
.auth-role{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.auth-role label{position:relative;cursor:pointer}
.auth-role input{position:absolute;opacity:0;pointer-events:none}
.role-tile{display:block;min-height:92px;padding:15px 16px;border:1px solid #d7e0db;border-radius:14px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.role-tile:hover{transform:translateY(-1px);border-color:#a8c4b0}
.auth-role input:checked+.role-tile{border-color:var(--green);background:#f0f7f2;box-shadow:inset 0 0 0 1px rgba(77,132,95,.15)}
.role-tile strong{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}
.role-tile small{display:block;color:#6b7787;font-size:12px;line-height:1.45}
.auth-note{font-size:12px;line-height:1.4;color:#85909c;margin:-6px 0 0}
.auth-message{padding:12px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.45;margin-bottom:12px}
.auth-form>.auth-message{margin-bottom:0}
.auth-message.error{background:#fff1ef;border:1px solid rgba(176,78,83,.14);color:#a5454c}
.auth-message.success{background:#edf7f0;border:1px solid rgba(77,132,95,.16);color:var(--green-dark)}
.auth-card .btn-large{width:100%;min-height:56px}
.auth-card .btn.is-loading{opacity:.78;cursor:wait;transform:none}
.auth-bottom{margin-top:22px;padding-top:19px;border-top:1px solid #e8ecea;text-align:center;color:#6d7a8a;font-size:14px}
.auth-bottom a{color:var(--green-dark);font-weight:800}
.auth-support{margin-top:17px;text-align:center;font-size:14px}
.auth-support a{color:var(--green-dark);font-weight:800}
.auth-support a:hover{text-decoration:underline}
.signup-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.signup-copy{justify-content:flex-start}
.login-copy{justify-content:flex-start}
.reset-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.reset-copy h1{font-size:clamp(48px,3.6vw,52px)}
.reset-copy h1 span{color:var(--blue)}
.reset-copy h1 .password-blue{color:var(--blue);font-style:normal}
@media(min-width:821px){.reset-copy h1 span{white-space:nowrap}}
.forgot-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.forgot-copy h1{font-size:48px}
@media(min-width:821px){.forgot-copy h1 span{white-space:nowrap}}
.signup-copy .eyebrow{font-size:18px}
.signup-copy h1 span{white-space:normal}
.auth-role{gap:8px}
.role-tile{min-height:68px;padding:11px 12px;border-radius:12px}
.role-tile strong{font-size:13px;margin-bottom:3px}
.role-tile small{font-size:11px;line-height:1.3}
.consent-field{margin-top:2px}
.consent-field label{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;font-weight:600;color:#536174}
.consent-field input[type="checkbox"]{width:17px;min-width:17px;min-height:17px;height:17px;margin:1px 0 0;padding:0;accent-color:var(--green);box-shadow:none}
.password-hint{font-size:12px;line-height:1.4;color:#85909c;margin:-2px 0 0}
@media(max-width:1050px) and (min-width:821px){.signup-copy{padding:46px 40px}.signup-copy h1{font-size:clamp(42px,5.8vw,58px)}}
@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-copy{padding:38px 34px}.auth-points{display:none}.auth-card{padding:40px 34px}}
@media(max-width:520px){.auth-main{padding:28px 14px 44px}.auth-shell{border-radius:22px}.auth-copy{padding:31px 23px}.auth-copy h1{font-size:44px}.auth-card{padding:30px 22px}.auth-card h2{font-size:28px}.auth-form .two-col-fields,.auth-role{grid-template-columns:1fr}.role-tile{min-height:82px}}
