:root{
  color-scheme:light;
  --jt-bg:#f8f4e3;--jt-surface:#ffffff;--jt-row-soft:#f2faf8;
  --jt-header:#b0e0e6;--jt-line:#d5e7e3;--jt-line-soft:#e9f3f0;
  --jt-ink:#2e2c52;--jt-text:#4e4b86;--jt-muted:#625f90;
  --jt-faint:#9c99bd;--jt-ge6:#236b6b;--jt-bnk:#6a55d0;
  --jt-rvp:#4e4b86;--jt-action:#2a7b7b;--jt-ember:#a8543f;
  --jt-font-ui:"Leelawadee UI",Tahoma,system-ui,sans-serif;
  --jt-font-data:Consolas,"Courier New",monospace;
}
body.jt-login-page,body.jt-authenticated{
  margin:0;background:var(--jt-bg);color:var(--jt-ink);
  font:16px/1.5 var(--jt-font-ui);font-variant-numeric:tabular-nums;
}
.jt-login-page,.jt-authenticated{min-height:100vh;min-height:100dvh;
  padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px)
  env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.jt-login-page *,.jt-authenticated *{box-sizing:border-box}
.jt-login-page :focus-visible,.jt-authenticated :focus-visible{
  outline:3px solid var(--jt-text);outline-offset:3px;
}
.jt-login-page button,.jt-authenticated button,
.jt-login-page input,.jt-authenticated input{font:inherit}
.jt-login{
  width:min(430px,calc(100% - 24px));margin:30px auto 48px;padding:24px;
  background:var(--jt-surface);border:1px solid var(--jt-line);border-radius:18px;
}
.jt-login-logo{display:block;width:140px;height:140px;object-fit:contain;margin:0 auto 14px}
.jt-login h1{margin:0 0 8px;text-align:center;color:var(--jt-text);
  font-size:1.8rem;line-height:1.3}
.jt-login-intro{text-align:center;margin:0 0 20px;color:var(--jt-muted)}
.jt-field{display:flex;flex-direction:column;gap:6px;margin:16px 0}
.jt-field label{font-weight:600;color:var(--jt-ink)}
.jt-field input,.jt-form input{
  display:block;width:100%;min-height:48px;padding:12px;
  border:1px solid var(--jt-action);border-radius:8px;
  background:var(--jt-surface);color:var(--jt-ink);
}
.jt-form-error,.jt-form .errorlist{
  padding:10px 12px;margin:6px 0;border-left:4px solid var(--jt-ember);
  border-radius:6px;background:var(--jt-bg);color:var(--jt-ink);
}
.jt-action,.jt-secondary-action{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:9px 14px;border-radius:8px;
  text-decoration:none;font-weight:700;cursor:pointer;
}
.jt-action{border:1px solid var(--jt-action);background:var(--jt-action);color:white}
.jt-action:hover{background:var(--jt-ge6);border-color:var(--jt-ge6)}
.jt-secondary-action{border:1px solid var(--jt-line);background:var(--jt-surface);color:var(--jt-text)}
.jt-login .jt-action{width:100%}
.jt-login-warning{
  margin-top:16px;padding:12px 14px;background:var(--jt-row-soft);
  border:1px solid var(--jt-line);border-radius:10px;color:var(--jt-muted);
  font-size:.875rem;
}
.jt-login-warning h2{margin:0 0 6px;color:var(--jt-ink);font-size:1rem}
.jt-login-warning ol{padding-left:1.5em;margin:0}
.jt-login-warning li+li{margin-top:8px}
.jt-authenticated .jt-navigation{
  background:var(--jt-bg);border-bottom-color:var(--jt-line);
}
.jt-authenticated .jt-navigation a,.jt-authenticated .jt-navigation button{
  color:var(--jt-text);background:var(--jt-row-soft);
}
.jt-authenticated .jt-navigation a:hover,
.jt-authenticated .jt-navigation button:hover{background:var(--jt-header)}
.jt-authenticated .overview-page{color:var(--jt-ink)}
.jt-authenticated .overview-page .overview-card{
  background:var(--jt-surface);border-color:var(--jt-line);
}
.jt-authenticated .overview-page a{color:var(--jt-ge6)}
.jt-authenticated .overview-page .projection-scope{color:var(--jt-muted)}
.jt-account-panel{
  width:min(620px,calc(100% - 24px));margin:24px auto;padding:24px;
  background:var(--jt-surface);border:1px solid var(--jt-line);border-radius:14px;
}
.jt-account-panel h1{font-size:1.5rem;color:var(--jt-ink);margin:0 0 16px}
.jt-account-panel .jt-form p{margin:16px 0}
.jt-account-panel .jt-form label{display:block;margin-bottom:6px;font-weight:600}
.jt-account-panel .helptext{display:block;color:var(--jt-muted);font-size:.875rem}
.jt-account-panel .jt-form ul{padding-left:1.5em;color:var(--jt-muted)}
.jt-account-logout{margin-top:16px}
.jt-success{border-left:5px solid var(--jt-ge6)}
.jt-success p{margin:0 0 22px;color:var(--jt-muted)}
@media(max-width:450px){
  .jt-login{margin-top:16px;margin-bottom:32px;padding:20px}
  .jt-login-logo{width:110px;height:110px}
  .jt-account-panel{margin-top:16px;padding:18px}
}
