dialog.auth-dialog {
  width: min(440px, calc(100vw - 28px));
  max-width: 440px;
  max-height: min(92dvh, 860px);
  padding: 0;
  border: 1px solid #e1e6ea;
  border-radius: 18px;
  background: #fff;
  color: #172d3c;
  box-shadow: 0 30px 100px #10273c38;
  overflow: auto;
  scrollbar-width: thin;
}

dialog.auth-dialog::backdrop {
  background: #10263880;
  backdrop-filter: blur(4px);
}

.ukjr-auth { position: relative; padding: 35px 35px 22px; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif; }
.ukjr-auth button, .ukjr-auth input, .ukjr-auth a { font: inherit; }
.ukjr-auth button { -webkit-appearance: none; appearance: none; cursor: pointer; }
.ukjr-auth button:focus-visible, .ukjr-auth input:focus-visible, .ukjr-auth a:focus-visible { outline: 3px solid #83b9e9; outline-offset: 3px; }
.ukjr-auth-close { position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 30px; height: 30px; padding: 5px; border: 0; border-radius: 50%; background: transparent; color: #8b98a3; }
.ukjr-auth-close:hover { color: #223d51; background: #f0f4f7; }
.ukjr-auth-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.ukjr-auth-brand { display: flex; width: fit-content; align-items: center; gap: 9px; margin: 0 auto 22px; color: #183047; font-size: 20px !important; font-weight: 800 !important; letter-spacing: -.5px; text-decoration: none; }
.ukjr-auth-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #ff4500; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: -.6px; }
.ukjr-auth-wordmark { color: #ff4500; }
.ukjr-auth h1 { margin: 0; text-align: center; font-size: 24px; font-weight: 750; line-height: 1.35; letter-spacing: -.4px; }
.ukjr-auth .ukjr-auth-title-plain { margin-bottom: 18px; }
.ukjr-auth-subtitle { margin: 9px 0 18px; color: #74818c; text-align: center; font-size: 12px; line-height: 1.6; }
.ukjr-auth-google { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 46px; padding: 12px 16px; border: 1px solid #dadce0; border-radius: 7px; background: #fff; color: #3c4043; font-size: 14px !important; font-weight: 600 !important; }
.ukjr-auth-google:hover { background: #f7f9fb; border-color: #bec6cd; }
.ukjr-auth-google-icon { width: 20px; height: 20px; flex: 0 0 20px; }
.ukjr-auth-google[aria-disabled="true"] { color: #77818a; }
.ukjr-auth-divider { display: flex; align-items: center; gap: 14px; margin: 22px 0; color: #a0aab3; font-size: 12px; }
.ukjr-auth-divider::before, .ukjr-auth-divider::after { content: ""; flex: 1; height: 1px; background: #e8edf1; }
.ukjr-auth-label { display: block; margin: 0 0 8px; color: #334b5c; font-size: 12px; font-weight: 650; }
.ukjr-auth input[type="email"], .ukjr-auth input[type="text"] { display: block; width: 100%; min-width: 0; height: 45px; border: 1px solid #dbe3e9; border-radius: 7px; background: #f9fbfc; color: #243d4f; padding: 10px 12px; font-size: 13px; line-height: 1.5; box-shadow: none; }
.ukjr-auth input::placeholder { color: #a0acb6; }
.ukjr-auth input:disabled { background: #f3f6f8; color: #96a2ab; }
.ukjr-auth-email-row { display: grid; grid-template-columns: minmax(0, 1fr) 106px; gap: 8px; margin-bottom: 17px; }
.ukjr-auth-email-row button { min-width: 0; padding: 8px 7px; border: 1px solid #fed8c8; border-radius: 7px; background: #fff4ee; color: #d54917; font-size: 12px; font-weight: 650; white-space: nowrap; }
.ukjr-auth-email-row button:hover { background: #ffebe0; border-color: #ffb99a; }
.ukjr-auth-email-row button[aria-disabled="true"] { color: #a98776; background: #faf4f0; border-color: #eadfd8; }
.ukjr-auth-code { letter-spacing: .35em; }
.ukjr-auth-code::placeholder { letter-spacing: 0; }
.ukjr-auth-field-hint { margin: 7px 0 0; color: #8b98a3; font-size: 10px; line-height: 1.55; }
.ukjr-auth-consent { display: flex; align-items: flex-start; gap: 8px; margin: 19px 0 0; color: #7c8994; font-size: 11px; line-height: 1.75; cursor: pointer; }
.ukjr-auth-consent input { width: 14px; height: 14px; flex: 0 0 14px; margin: 3px 0 0; accent-color: #ff4500; }
.ukjr-auth-consent a { color: #336f9b; text-decoration: none; }
.ukjr-auth-consent a:hover { text-decoration: underline; }
.ukjr-auth-consent a[aria-disabled="true"] { color: #87949e; cursor: help; }
#ukjr-auth-legal-hint:empty { display: none; }
.ukjr-auth-submit { display: block; width: 100%; min-height: 45px; margin-top: 18px; padding: 11px 16px; border: 1px solid #ff4500; border-radius: 7px; background: #ff4500; color: #fff; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .1em; }
.ukjr-auth-submit:hover { background: #e83f00; border-color: #e83f00; }
.ukjr-auth-submit[aria-disabled="true"] { background: #cdbeb6; border-color: #cdbeb6; color: #fff; }
.ukjr-auth-service { min-height: 36px; display: flex; align-items: flex-start; gap: 12px; margin: 0 0 16px; padding: 9px 11px; border: 1px solid #e8edf1; border-radius: 6px; background: #f7f9fb; }
#ukjr-auth-status { flex: 1; margin: 0; color: #7e8e9a; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
#ukjr-auth-status[data-tone="warning"] { color: #987444; }
#ukjr-auth-status[data-tone="error"] { color: #b3483d; }
#ukjr-auth-status[data-tone="success"] { color: #287657; }
.ukjr-auth-service button { flex: 0 0 auto; padding: 0; border: 0; background: none; color: #477b9c; font-size: 11px; line-height: 1.65; }
.ukjr-auth-service button:hover { text-decoration: underline; }
.ukjr-auth-service button:disabled { opacity: .5; cursor: wait; }
.ukjr-auth-footer { margin: 11px 0 0; text-align: center; color: #a5aeb5; font-size: 10px; line-height: 1.6; }
.ukjr-auth [hidden] { display: none !important; }
.ukjr-auth-invite-label { margin-top: 17px; }
#ukjr-auth-qr-panel { text-align: center; font-size: 13px; line-height: 1.7; }
#ukjr-auth-qr-panel h2 { font-size: 19px; }
#ukjr-auth-qr-image { display: block; width: min(100%, 250px); height: auto; margin: 16px auto; }

@media (max-width: 480px) {
  dialog.auth-dialog { width: calc(100vw - 24px); max-height: 94dvh; border-radius: 14px; }
  .ukjr-auth { padding: 28px 22px 18px; }
  .ukjr-auth-brand { margin-bottom: 18px; font-size: 19px !important; }
  .ukjr-auth h1 { font-size: 22px; }
  .ukjr-auth-subtitle { margin-bottom: 15px; font-size: 11px; }
  .ukjr-auth-email-row { grid-template-columns: minmax(0, 1fr) 99px; gap: 7px; }
  .ukjr-auth-consent { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .ukjr-auth *, .ukjr-auth *::before, .ukjr-auth *::after { scroll-behavior: auto; transition: none !important; }
}

.ukjr-auth-brand,.ukjr-auth-mark,.ukjr-auth h1,.ukjr-auth-submit { letter-spacing:0; }
.ukjr-auth-google-icon { object-fit:contain; }
.ukjr-activation { max-width:480px; margin:80px auto 24px; padding:0; }
.ukjr-activation.activation-modal { margin:0; padding:8px 0 0; }
.activation-back { display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#526b80;padding:8px 0;font:inherit;cursor:pointer; }
.activation-back:focus-visible { outline:2px solid #ff4b12;outline-offset:4px; }
.activation-back.activation-close { position:absolute;top:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;padding:0;font-size:28px;line-height:1; }
.activation-modal h1 { padding-right:28px; }
dialog.invite-dialog { width:min(520px,calc(100vw - 28px)); }
.invite-dialog:has(.activation-modal) > .dialog-card > .dialog-close { display:none; }
.ukjr-activation h1 { margin:0 0 16px; font-size:24px; line-height:1.4; }
.activation-account { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 28px; overflow-wrap:anywhere; }
.activation-account button,.activation-account-actions button { background:transparent; border:0; padding:6px 0; color:#336f9b; cursor:pointer; }
.ukjr-activation label { display:block; margin-bottom:8px; font-weight:650; }
.activation-invite-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch; }
.activation-invite-row input { min-width:0; width:100%; min-height:46px; padding:10px 12px; border:1px solid #cdd8e1; border-radius:6px; font:inherit; background:#fff; }
.activation-invite-row button { min-height:46px; padding:10px 12px; border:1px solid #fed8c8; border-radius:6px; background:#fff4ee; color:#bd390e; font:inherit; cursor:pointer; }
.activation-qr-wrap { min-width:0;margin:0; }
#activation-qr-trigger { height:100%;min-height:46px;padding:7px 12px;white-space:nowrap;border:1px solid #fed8c8;border-radius:6px;background:#fff4ee;color:#bd390e;font:inherit;font-size:13px;cursor:pointer; }
#activation-qr-trigger:hover,#activation-qr-trigger[aria-expanded="true"] { background:#ffebe0;border-color:#ffb99a; }
#activation-qr-trigger:focus-visible { outline:2px solid #ff4b12;outline-offset:3px; }
.activation-qr-panel { position:fixed;inset:auto;margin:0;width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:16px;border:1px solid #dbe3e9;border-radius:8px;background:#fff;box-shadow:0 10px 30px #10273c26;text-align:center;color:#172d3c;z-index:2; }
.activation-qr-panel::backdrop { background:transparent; }
.activation-qr-panel img { display:block; width:180px; max-width:100%; height:auto; aspect-ratio:1; object-fit:contain; margin:0 auto; background:#fff; }
.activation-qr-panel p { font-size:13px; line-height:1.6; margin:10px 0; }
.activation-qr-actions { display:flex;justify-content:center;flex-wrap:wrap;gap:8px; }
.activation-qr-actions button { min-height:36px;padding:7px 10px;border:1px solid #dbe3e9;border-radius:6px;background:#fff;color:#336f9b;font:inherit;font-size:13px;cursor:pointer; }
.activation-qr-actions button:disabled { opacity:.5;cursor:default; }
.activation-qr-panel[hidden],.activation-qr-panel [hidden] { display:none; }
#activation-status { min-height:24px; margin:12px 0; color:#a13b2c; overflow-wrap:anywhere; }
.activation-submit { width:100%; min-height:46px; border-radius:6px; }
.activation-terms { font-size:14px; margin:14px 0 22px; color:#526b80; }
.activation-account-actions { display:flex; flex-wrap:wrap; gap:8px 20px; }
.activation-layout .right-rail { display:none; }
.activation-layout #pwa-tools { display:none !important; }
.activation-layout .shell { grid-template-columns:var(--rail-width,250px) minmax(0,1fr); }
@media(max-width:860px){.activation-layout .shell { display:block; }.ukjr-activation { margin:48px auto 24px; padding:0; }}
@media(max-width:480px){.activation-invite-row input { font-size:16px; }.activation-invite-row button { font-size:13px; }.ukjr-activation h1 { font-size:22px; }}
