/* Sign-in is a chart-free surface. All typography and color overrides stay
   here; the separate gate/demo page retains its existing presentation. */
.ui-auth-page{
  display:flex;flex-direction:column;height:auto;min-height:100vh;min-height:100svh;
  margin:0;background:var(--app-canvas,#f7f8f6);color:var(--app-on-canvas,#253b43);
  font-family:var(--app-font,'IBM Plex Sans',system-ui,sans-serif);font-size:16px;line-height:1.5;
}
.ui-auth-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:80px;padding:22px 52px;flex-shrink:0;
}
.ui-auth-product{
  color:var(--app-on-canvas,#253b43);font:700 28px/1.2 var(--app-heading-font,'IBM Plex Sans',system-ui,sans-serif);
  letter-spacing:-.04em;
}
.ui-auth-workspace{color:var(--app-muted-on-canvas,#687982);font-size:16px}
.ui-auth{display:grid;place-items:center;flex:1;min-width:0;padding:40px 24px}
.ui-auth-content{width:100%;max-width:520px;animation:ui-auth-enter .22s ease-out both}
.ui-auth-heading{text-align:center;margin:0 0 36px}
.ui-auth-organization{display:flex;justify-content:center;align-items:center;min-height:24px;margin-bottom:18px;color:var(--app-muted-on-canvas,#687982)}
.ui-auth-organization span{overflow-wrap:anywhere}
.ui-auth-organization img{display:block;max-width:min(240px,100%);max-height:52px;width:auto;height:auto;object-fit:contain;background:#fff;padding:6px 9px;border-radius:3px}
.ui-auth-heading h1{
  margin:0;color:var(--app-on-canvas,#253b43);font:650 40px/1.2 var(--app-heading-font,'IBM Plex Sans',system-ui,sans-serif);
  letter-spacing:-.025em;
}
.ui-auth-heading p{margin:12px 0 0;color:var(--app-muted-on-canvas,#687982);font-size:18px;line-height:1.5}
.ui-auth-google-form{margin:0}
.ui-auth .ui-auth-google,.ui-auth .ui-auth-submit{
  display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;
  padding:12px 18px;border:1px solid;border-radius:var(--app-radius,4px);box-shadow:none;
  font:600 18px/1.4 var(--app-font,'IBM Plex Sans',system-ui,sans-serif);cursor:pointer;
  transition:background-color .16s,border-color .16s,box-shadow .16s;
}
.ui-auth .ui-auth-google{background:#fff;color:#1c2d3e;border-color:#bfcacc}
.ui-auth .ui-auth-google svg{width:24px;height:24px;flex:none}
.ui-auth .ui-auth-google:hover{background:#f4f7f6;border-color:#839b98}
.ui-auth-divider{display:flex;align-items:center;gap:18px;margin:34px 0;color:var(--app-muted-on-canvas,#687982);font-size:16px}
.ui-auth-divider::before,.ui-auth-divider::after{content:"";height:1px;flex:1;background:#cbd4d5}
.ui-auth-divider span{flex-shrink:0}
.ui-auth-form{display:flex;flex-direction:column;gap:24px;margin:0}
.ui-auth-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.ui-auth-field label{font-size:16px;font-weight:500;color:var(--app-on-canvas,#253b43)}
.ui-auth-input{
  width:100%;min-width:0;min-height:54px;padding:12px 18px;border:1px solid #bfcfd0;
  border-radius:var(--app-radius,4px);background:#fff;color:#1c2d3e;
  font:400 18px/1.5 var(--app-font,'IBM Plex Sans',system-ui,sans-serif);
  transition:border-color .16s,box-shadow .16s;
}
.ui-auth-input::placeholder{color:#8d9aaa;opacity:1}
.ui-auth-input:hover{border-color:#8caaa6}
.ui-auth-input:focus{outline:none;border-color:var(--app-focus-on-light,#315d50);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-focus-on-light,#315d50) 15%,transparent)}
.ui-auth-password{position:relative}
.ui-auth-password .ui-auth-input{padding-right:58px}
.ui-auth-password-toggle{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;
  width:44px;height:44px;padding:0;border:0;border-radius:var(--app-radius,4px);
  background:transparent;color:#7d8e9e;cursor:pointer;
}
.ui-auth-password-toggle:hover,.ui-auth-password-toggle[aria-pressed="true"]{color:var(--app-accent,#315d50);background:#edf3f0}
.ui-auth-remember{display:flex;align-items:flex-start;gap:11px;color:var(--app-on-canvas,#253b43);font-size:16px;cursor:pointer}
.ui-auth-remember input{flex:none;width:21px;height:21px;margin:2px 0 0;accent-color:var(--app-accent,#315d50)}
.ui-auth .ui-auth-submit{margin-top:6px;background:var(--app-button-bg,var(--app-accent,#315d50));border-color:var(--app-button-border,var(--app-accent,#315d50));color:var(--app-button-ink,var(--app-on-accent,#fff))}
.ui-auth .ui-auth-submit:hover{background:color-mix(in srgb,var(--app-accent,#315d50) 90%,#000);border-color:color-mix(in srgb,var(--app-accent,#315d50) 90%,#000)}
.ui-auth-page[data-ui-button-style="outline"] .ui-auth-submit:hover{background:#f4f7f6;border-color:var(--app-button-border,#253b43);color:var(--app-button-ink,#253b43)}
.ui-auth button:focus-visible,.ui-auth-remember input:focus-visible{outline:2px solid var(--app-on-canvas,#253b43);outline-offset:3px}
.ui-auth .ui-auth-password-toggle:focus-visible{outline-color:var(--app-focus-on-light,#315d50)}
.ui-auth button:disabled{cursor:wait;opacity:.65}
.ui-auth-help{margin:26px 0 0;text-align:center;color:var(--app-muted-on-canvas,#687982);font-size:16px;line-height:1.5}
.ui-auth-footer{padding:24px 24px 42px;text-align:center;color:var(--app-muted-on-canvas,#687982);font-size:14px;line-height:1.5;flex-shrink:0}
.ui-unavailable{width:100%;max-width:640px;margin:auto;display:flex;flex-direction:column;text-align:center;justify-content:center}
.ui-unavailable .ui-auth-heading{margin-bottom:0}
.ui-unavailable .ui-actions{justify-content:center;margin-top:28px}
.ui-unavailable .ui-auth-heading h1{font-size:32px;overflow-wrap:anywhere}
.ui-auth-flash{margin:0 0 24px;padding:13px 16px;border:1px solid;border-radius:var(--app-radius,4px);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.ui-auth-flash-alert{background:#fff4f2;border-color:#eac4bd;color:#963e30}
.ui-auth-flash-notice{background:#edf7f1;border-color:#bfdecf;color:#28634f}
.ui-auth-page[data-ui-density="compact"] .ui-auth-form{gap:20px}
.ui-auth-page[data-ui-density="compact"] .ui-auth-input{min-height:48px;padding-top:9px;padding-bottom:9px}
@keyframes ui-auth-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.ui-auth-page[data-ui-motion="reduced"] .ui-auth-content{animation:none}
.ui-auth-page[data-ui-motion="reduced"] .ui-auth button,.ui-auth-page[data-ui-motion="reduced"] .ui-auth-input{transition:none}
@media(max-width:600px){
  .ui-auth-topbar{min-height:72px;padding:20px;gap:16px}
  .ui-auth-product{font-size:24px}
  .ui-auth-workspace{font-size:14px}
  .ui-auth{padding:32px 20px}
  .ui-auth-heading{margin-bottom:30px}
  .ui-auth-heading h1{font-size:34px}
  .ui-auth-heading p{font-size:16px}
  .ui-auth .ui-auth-google,.ui-auth .ui-auth-submit,.ui-auth-input{font-size:16px}
  .ui-auth-divider{gap:12px;margin:28px 0;font-size:14px}
  .ui-auth-form{gap:22px}
  .ui-auth-field label,.ui-auth-remember{font-size:14px}
  .ui-auth-help{font-size:14px}
  .ui-auth-footer{padding-bottom:28px;font-size:13px}
}
@media(max-height:760px){.ui-auth{padding-top:28px;padding-bottom:28px}.ui-auth-footer{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){
  .ui-auth-content{animation:none}
  .ui-auth .ui-auth-google,.ui-auth .ui-auth-submit,.ui-auth button,.ui-auth-input{transition:none}
}
