/* Стили страницы входа: выжимка из apps/wb-roe-calc/src/wb_roe_calc/web/static/wb.css.
   Синхронизировать при изменении дизайна входа. */
:root{
  --ink:#2f3137; --ink-2:#596170; --ink-3:#7e8796; --ink-4:#a7afbb;
  --bg:#ffffff; --bg-subtle:#fafbfc; --bg-sunk:#f2f4f7;
  --line:#e8ecf1; --line-2:#dfe5ec;
  --blue:#2a6fdb;
  --blue-ink:color-mix(in srgb, var(--blue) 80%, #000);
  --blue-soft:color-mix(in srgb, var(--blue) 9%, #fff);
  --blue-line:color-mix(in srgb, var(--blue) 26%, #fff);
  --green:#1f8a5b; --green-soft:#e9f5ee;
  --amber:#b7791f; --amber-soft:#fbf3e4;
  --red:#cc4e2c; --red-soft:#fcefeb;
  --wb-store-dif:#2f7ff0; --wb-store-pk:#7c4ee0; --wb-store-default:#5b5852;
  --r:9px; --r-lg:13px;
  --page-x:clamp(24px,3.25vw,64px); --page-y:24px; --page-foot-y:13px;
  --content-max:1040px; --content-wide-max:1440px; --narrow-max:620px;
  --rail-w:248px; --gap-block:14px; --gap-form:18px;
  --sh-sm:0 1px 2px rgba(15,15,15,.04);
  --sh:0 2px 4px rgba(15,15,15,.05),0 1px 2px rgba(15,15,15,.04);
  --sh-pop:0 10px 30px rgba(15,15,15,.10),0 2px 6px rgba(15,15,15,.06);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Onest",-apple-system,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;}

html,body{height:100%;}

/* ── Login page ─────────────────────────────────────────────────── */
.wb-login-body{min-height:100%;background:#f5f2eb;color:var(--ink);}
.wb-login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:
  linear-gradient(115deg,rgba(42,111,219,.08),transparent 36%),
  radial-gradient(circle at 78% 18%,rgba(31,138,91,.12),transparent 28%),
  #f5f2eb;}
.wb-login-stack{display:flex;flex-direction:column;align-items:center;width:min(100%,452px);gap:18px;}
.wb-login-logo{width:178px;height:auto;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(47,49,55,.13));}
.wb-login-panel{width:min(100%,452px);padding:32px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 18px 54px rgba(47,49,55,.12);}
.wb-login-form-head{margin-bottom:24px;text-align:left;}
.wb-login-panel-kicker{margin:0 0 4px;color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.wb-login-panel-title{margin:0;font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.01em;}
.wb-login-form{display:flex;flex-direction:column;gap:14px;}
.wb-login-field{display:flex;flex-direction:column;gap:7px;color:var(--ink-2);font-size:13.5px;font-weight:500;}
.wb-login-field input,.wb-login-field select{width:100%;height:44px;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);font:400 14px/1.2 "Onest",-apple-system,system-ui,sans-serif;padding:0 13px;outline:none;transition:border-color .12s,box-shadow .12s,background .12s;}
.wb-login-field input:focus,.wb-login-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.wb-login-field input::placeholder{color:var(--ink-4);}
.wb-login-error{display:flex;gap:9px;margin:-10px 0 18px;padding:11px 12px;border:1px solid #f3d8cf;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:13px;font-weight:500;line-height:1.35;}
.wb-login-error span:first-child{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;flex:0 0 auto;}
.wb-login-row{display:flex;align-items:center;gap:14px;margin:2px 0 4px;font-size:13px;}
.wb-login-check{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);font-size:13.5px;font-weight:500;}
.wb-login-check input{width:16px;height:16px;accent-color:var(--blue);}
.wb-login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:46px;border:none;border-radius:10px;background:var(--ink);color:#fff;font:600 13.5px/1 "Onest",-apple-system,system-ui,sans-serif;padding:0 16px;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s;}
.wb-login-submit:hover{background:#111318;box-shadow:0 12px 24px rgba(47,49,55,.18);transform:translateY(-1px);}
.wb-login-submit:disabled{background:var(--bg-sunk);color:var(--ink-4);box-shadow:none;transform:none;cursor:not-allowed;}

@media (max-width:900px){
  .wb-login-shell{padding:16px;}
  .wb-login-stack{gap:16px;}
  .wb-login-logo{width:156px;}
  .wb-login-panel{width:100%;padding:24px;border-radius:16px;}
}

@media (max-width:560px){
  .wb-login-shell{padding:18px;background:#fff;}
  .wb-login-stack{gap:18px;}
  .wb-login-logo{width:148px;}
  .wb-login-panel{border:0;border-radius:0;box-shadow:none;padding:0;}
}
