*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#0f172a;background:#f4f7fb}a{text-decoration:none;color:inherit}button,input{font:inherit}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at 20% 15%,rgba(37,99,235,.09),transparent 25%),radial-gradient(circle at 85% 80%,rgba(79,70,229,.08),transparent 24%),#f5f8fc}.auth-shell{width:min(1180px,100%);min-height:700px;display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border:1px solid #e7ecf3;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(15,23,42,.12)}
.auth-brand{position:relative;padding:44px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:linear-gradient(145deg,#0f1f3a 0%,#142b53 55%,#173b78 100%);color:#fff}.auth-brand:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-250px;top:-190px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.auth-brand:after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(to top,rgba(4,11,24,.32),transparent)}
.brand-logo{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;width:max-content}.brand-mark{width:46px;height:46px;border-radius:14px;background:#ffd52a;display:grid;place-items:center;box-shadow:0 12px 26px rgba(0,0,0,.18)}.bolt-shape{display:block;width:22px;height:27px;background:#10213f;clip-path:polygon(58% 0,12% 56%,44% 56%,34% 100%,88% 39%,55% 39%)}.brand-word{font-size:28px;font-weight:850;letter-spacing:-1.25px}.brand-word span{color:#4d7dff}.brand-content{position:relative;z-index:2;max-width:430px;margin:auto 0}.brand-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;font-weight:700;color:#dce8ff}.brand-content h2{font-size:46px;line-height:1.05;letter-spacing:-2px;margin:22px 0 16px}.brand-content p{font-size:15px;line-height:1.75;color:#c7d5eb;margin:0;max-width:395px}.brand-points{display:grid;gap:12px;margin-top:28px}.brand-point{display:flex;align-items:center;gap:10px;color:#e6eefb;font-size:13px}.brand-point i{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.09);display:grid;place-items:center;font-style:normal;color:#7da2ff}.brand-foot{position:relative;z-index:2;font-size:11px;color:#91a5c5}
.auth-form-side{position:relative;padding:38px 64px 44px;display:flex;flex-direction:column;justify-content:center;background:#fff}.auth-toplink{position:absolute;right:40px;top:34px;font-size:12px;color:#7a8597}.auth-toplink a{color:#2358e6;font-weight:750;margin-left:4px}.form-wrap{width:min(470px,100%);margin:20px auto 0}.form-badge{font-size:11px;letter-spacing:.12em;font-weight:800;color:#2b61e8;margin-bottom:10px}.form-wrap h1{font-size:36px;line-height:1.08;letter-spacing:-1.5px;margin:0;color:#0e172a}.form-sub{font-size:14px;line-height:1.65;color:#6b778c;margin:13px 0 28px}.auth-alert{padding:12px 14px;border-radius:12px;background:#fff3f2;border:1px solid #ffd2cf;color:#b42318;font-size:13px;margin-bottom:16px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:700;color:#475569;margin:0 0 7px}.input-wrap{height:54px;display:flex;align-items:center;border:1px solid #dbe3ee;border-radius:12px;background:#fff;transition:.18s}.input-wrap:hover{border-color:#c5d0df}.input-wrap:focus-within{border-color:#3c6ff0;box-shadow:0 0 0 4px rgba(59,111,240,.09)}.field-icon{width:48px;display:grid;place-items:center;color:#8290a6}.field-icon svg{width:19px;height:19px}.input-wrap input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#142033;padding:0 14px 0 0;font-size:14px}.input-wrap input::placeholder{color:#9aa6b8}.password-toggle{width:48px;height:100%;border:0;background:transparent;color:#7c8aa1;display:grid;place-items:center;cursor:pointer}.password-toggle svg{width:20px}.form-meta{display:flex;justify-content:flex-end;margin:-2px 0 20px}.form-meta a{font-size:12px;color:#245be6;font-weight:700}.primary-btn{height:56px;width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#2863ee,#1a4dd8);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 14px 28px rgba(37,99,235,.22);display:flex;align-items:center;justify-content:center;gap:12px;transition:.18s}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(37,99,235,.28)}.legal-links{margin-top:28px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:10.5px;color:#8a94a5}.legal-links a:hover{color:#2358e6}
.register-shell{min-height:760px}.register-side{padding-top:30px;padding-bottom:34px}.register-side .form-wrap{width:min(520px,100%);margin-top:28px}.register-side .form-wrap h1{font-size:32px}.register-side .form-sub{margin-bottom:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.phone-wrap{display:grid;grid-template-columns:90px 1fr;height:54px;border:1px solid #dbe3ee;border-radius:12px;overflow:hidden;background:#fff;transition:.18s}.phone-wrap:focus-within{border-color:#3c6ff0;box-shadow:0 0 0 4px rgba(59,111,240,.09)}.phone-prefix{display:flex;align-items:center;justify-content:center;border-right:1px solid #e3e8f0;font-size:13px;font-weight:700;color:#334155;background:#fafbfd}.phone-entry{position:relative}.phone-entry span{position:absolute;left:14px;top:7px;font-size:9px;color:#8c98aa}.phone-entry input{width:100%;height:100%;border:0;outline:0;padding:15px 14px 0;background:transparent}.check{display:flex;gap:9px;align-items:flex-start;margin:8px 0 11px;font-size:11px;line-height:1.5;color:#68758a}.check input{margin-top:2px;accent-color:#245be6}.check a,.agreement a{color:#245be6}.agreement{text-align:center;font-size:10px;color:#8b95a7;margin:14px 0 0;line-height:1.5}
@media(max-width:900px){.auth-page{padding:0;background:#fff}.auth-shell{min-height:100vh;border:0;border-radius:0;grid-template-columns:1fr;box-shadow:none}.auth-brand{display:none}.auth-form-side{padding:84px 24px 38px}.auth-toplink{right:24px;top:24px}.form-wrap{margin-top:0}.form-wrap h1{font-size:31px}.legal-links{padding-bottom:8px}.register-side .form-wrap h1{font-size:29px}}
@media(max-width:560px){.auth-form-side{padding:78px 18px 30px}.two-col{grid-template-columns:1fr}.form-wrap h1,.register-side .form-wrap h1{font-size:27px}.form-sub{font-size:13px}.auth-toplink span{display:none}.input-wrap,.phone-wrap{height:52px}.primary-btn{height:54px}}

.auth-shell svg{display:block;max-width:100%;max-height:100%}

/* === TideSoft responsive hardening — 2026-09 === */
*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden}
img,picture,video,canvas,svg,iframe{max-width:100%}
img,picture,video,canvas{height:auto}
iframe{width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%;font:inherit}
textarea{resize:vertical}
table{max-width:100%}

@media(max-width:768px){
  body{min-width:0!important}
  main,section,article,aside,header,footer,nav,form{min-width:0}
  h1{font-size:clamp(2rem,10vw,3.25rem)!important;line-height:1.05!important;overflow-wrap:break-word}
  h2{font-size:clamp(1.65rem,7.5vw,2.5rem)!important;line-height:1.12!important;overflow-wrap:break-word}
  h3{overflow-wrap:break-word}
  p,li,a,span,strong,small{overflow-wrap:break-word}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;min-height:44px;font-size:16px!important}
  button,.btn,.btnx,[class*="button"],[class*="-btn"]{min-height:44px}
  .container,[class$="-container"],[class*=" container"],[class*="-wrap"],[class*="-inner"]{max-width:100%}
  [style*="grid-template-columns"]{min-width:0}
  .table-responsive,.table-wrap,[class*="table-wrap"],[class*="table-container"]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:480px){
  h1{font-size:clamp(1.85rem,9vw,2.65rem)!important}
  h2{font-size:clamp(1.5rem,7vw,2.1rem)!important}
  button,.btn,.btnx,[class*="button"],[class*="-btn"]{max-width:100%}
}

/* === Auth navigation: visible exit path === */
.auth-back{position:absolute;left:40px;top:30px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;color:#475569;font-size:12px;font-weight:750;transition:.18s;background:transparent}
.auth-back:hover{color:#2358e6;background:#f4f7ff}
.auth-back span:first-child{font-size:17px;line-height:1;transform:translateY(-1px)}
@media(max-width:900px){
  .auth-back{left:24px;top:18px;padding:8px 9px;background:#f6f8fc;border:1px solid #e8edf5;color:#334155}
  .auth-form-side{padding-top:92px}
  .register-side{padding-top:92px}
}
@media(max-width:560px){
  .auth-back{left:18px;top:16px;font-size:11px;gap:6px}
  .auth-toplink{right:18px;top:19px}
  .auth-form-side,.register-side{padding-top:82px}
}
