*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#fff 0,#f4f7fc 100%)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page{min-height:100svh;padding:0 clamp(20px,5vw,76px) clamp(24px,5vw,56px)}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1500px;margin:auto}.brand{display:block;width:clamp(190px,20vw,285px);line-height:0}.brand img{display:block;width:100%;height:auto;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:8px}.nav-link,.nav-button{border:0;border-radius:999px;padding:12px 18px;text-decoration:none;cursor:pointer;white-space:nowrap;font-weight:650}.nav-link{color:#17325e;background:transparent}.nav-link:hover{background:#edf3ff}.nav-button{color:#fff;background:var(--green);box-shadow:0 8px 20px rgba(8,103,239,.2)}.nav-button:hover{background:#10553f}.hero{position:relative;max-width:1500px;height:calc(100svh - 168px);min-height:520px;max-height:850px;margin:auto;overflow:hidden;border-radius:34px;background:#dbe4ef;box-shadow:0 30px 80px rgba(14,42,83,.13)}.hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,45,.74) 0,rgba(3,19,45,.2) 48%,rgba(3,19,45,0) 72%)}.welcome{position:absolute;z-index:1;left:clamp(28px,6vw,88px);bottom:clamp(30px,8vh,92px);max-width:520px;color:#fff}.welcome h1{margin:0 0 12px;font-size:clamp(42px,5.5vw,78px);line-height:.98;letter-spacing:-.045em}.welcome p{margin:0;max-width:440px;font-size:clamp(17px,1.5vw,22px);line-height:1.45;color:rgba(255,255,255,.86)}dialog{width:min(94vw,560px);max-height:calc(var(--visual-height,100dvh) - 24px);overflow:auto;border:0;border-radius:16px;padding:0;color:var(--ink);box-shadow:0 30px 90px rgba(4,21,50,.28)}dialog::backdrop{background:rgba(3,14,34,.58);backdrop-filter:blur(5px)}.dialog-close{position:absolute;z-index:2;right:16px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#eef3fa;color:#17325e;font-size:26px;line-height:1;cursor:pointer}.auth-panel{padding:32px}.auth-logo{display:block;width:190px;height:auto;margin:0 0 30px}.auth-panel h2{font-size:28px;letter-spacing:-.03em;margin:0 0 8px}.auth-panel>.muted{margin:0 0 20px}.muted,.hint{color:var(--muted)}.auth-panel label{display:block;margin:15px 0 0;font-size:14px;font-weight:650}.auth-panel input,.auth-panel select{display:block;width:100%;margin-top:7px;border:1px solid #cbd5e3;border-radius:12px;padding:13px 14px;color:var(--ink);background:#fff;outline:0}.auth-panel input:focus,.auth-panel select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(8,118,249,.12)}.password-field{position:relative}.password-field input{padding-right:54px}.password-toggle{position:absolute;right:7px;bottom:6px;width:40px;height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:19px}.primary{width:100%;min-height:46px;border:0;border-radius:12px;padding:14px 18px;margin-top:24px;background:var(--green);color:#fff;font-weight:750;cursor:pointer}.primary:disabled{opacity:.58;cursor:wait}.text-action{border:0;background:transparent;color:var(--green);padding:0;font-weight:650;cursor:pointer}.auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:18px;font-size:14px}.message{margin-top:17px;padding:12px 14px;border-radius:10px;background:#edf6ff;color:#174a84;font-size:14px;line-height:1.45}.message.error{background:#fff0f1;color:#a11c2d}.role-select{margin-top:18px}.role-select>span{display:block;font-size:14px;font-weight:650;margin-bottom:8px}.session-loader{display:none;position:fixed;left:50%;top:50%;width:28px;height:28px;margin:-14px;border:3px solid #d9e6f8;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.session-checking .page{visibility:hidden}.session-checking .session-loader{display:block}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.page{padding:0 16px 16px}.site-header{height:auto;min-height:126px;flex-direction:column;justify-content:center;gap:7px}.brand{width:170px}.site-header nav{width:100%;justify-content:center;gap:2px}.nav-link,.nav-button{padding:10px 11px;font-size:14px}.hero{height:calc(100svh - 144px);min-height:460px;border-radius:24px}.hero>img{object-position:58% center}.hero:after{background:linear-gradient(0deg,rgba(3,19,45,.78) 0,rgba(3,19,45,.08) 65%)}.welcome{left:25px;right:25px;bottom:30px}.welcome h1{font-size:43px}.welcome p{font-size:16px}.auth-panel{padding:38px 24px 28px}.auth-logo{width:165px;margin-bottom:24px}.auth-panel h2{font-size:28px}}@media(max-width:390px){.brand{width:145px}.nav-link,.nav-button{padding:9px 9px;font-size:14px}.welcome h1{font-size:38px}}
.legal-links{max-width:1500px;margin:18px auto 0;display:flex;justify-content:center;gap:12px 22px;flex-wrap:wrap;font-size:14px}.legal-links a,.policy-links a{color:var(--muted)}.policy-links{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0;font-size:14px}.consent-list{margin-top:18px;display:grid;gap:10px}.consent-list label{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:0}.consent-list input{width:auto;margin:3px 0 0}.consent-list a{color:var(--green)}

.auth-panel input,.auth-panel select{font-size:16px;font-weight:400;min-height:46px;border-color:#bacbc0}.auth-panel input:focus{border-color:var(--green);box-shadow:0 0 0 3px #17664e1f}.auth-logo{width:175px;margin-bottom:24px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.name-fields>label:last-child{grid-column:1/-1}.name-fields label{min-width:0}.auth-panel .name-fields+p{font-size:14px;line-height:1.5;margin:12px 0}.role-select{border:0;padding:0;margin:20px 0}.role-select legend{font-size:15px;font-weight:650;margin-bottom:8px}.auth-panel .role-options{display:grid;gap:8px}.auth-panel .role-options label{display:flex;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid var(--line);min-height:46px;border-radius:10px;font-size:15px;font-weight:500}.auth-panel .role-options label:has(input:checked){background:var(--green2);border-color:#91baa2}.auth-panel :is(input[type=checkbox],input[type=radio]){width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:0 0 20px}.consent-list{gap:12px;margin-top:20px}.consent-list label{font-size:14px;line-height:1.55;font-weight:500}.consent-list input{margin-top:3px!important}.consent-list a{color:var(--green)}.auth-links .text-action{min-height:44px;text-align:left;font-size:14px;color:var(--green)}.auth-panel .primary{position:sticky;bottom:0;z-index:2;margin-top:24px;box-shadow:0 -8px 16px #fff}.dialog-close{min-height:44px;width:44px;height:44px;right:12px;top:12px;background:#f0f6f2;color:var(--muted)}.policy-links{font-size:14px;line-height:1.6}.legal-links{font-size:14px}.nav-link,.nav-button{min-height:44px}
@media(max-width:700px){.auth-panel{padding:32px 20px 24px}.auth-logo{width:160px;margin-bottom:20px}.auth-panel h2{font-size:25px}.auth-panel .primary{bottom:0}.auth-links{flex-wrap:wrap;gap:8px}.auth-panel>.muted{font-size:15px}.auth-panel label{margin-top:14px}}
@media(max-width:360px){.name-fields{grid-template-columns:1fr}.name-fields>label:last-child{grid-column:auto}.auth-panel{padding-inline:16px}}

@media (max-width:700px) {
  body { min-width:0; }
  .page {
    padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px));
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  }
  .site-header nav { flex-wrap:wrap; }
  .auth-panel .primary { position:static; box-shadow:none; }
  .auth-panel .role-select { min-inline-size:0; }
  .auth-panel :is(.role-options label, .consent-list label, .message) { overflow-wrap:anywhere; }
}
