/* The signed-in states of /login (the existing app: checking, choose, tool frame, hold, not on the list, problem,
   Telegram panel), in HIS palette from login.css (--ink, --fg, --dim, --line, --red). His own rules are untouched;
   these only style elements he does not have. */
[hidden]{display:none !important}
.st p{margin:0 0 16px}
.st .who{color:var(--fg)}
.sec{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;
  border:1px solid var(--line);background:transparent;color:var(--fg);font:600 14px "Archivo",system-ui,sans-serif;cursor:pointer}
.sec:hover{border-color:var(--dim)}
.sec:focus-visible{outline:2px solid var(--red);outline-offset:3px}
#launchers{list-style:none;padding:0;margin:0 0 20px}
#launchers li{margin:0 0 10px}
#launchers button{width:100%;min-height:50px;border-radius:999px;border:0;background:#fff;color:#1f1f1f;font:600 15px "Archivo",system-ui,sans-serif;cursor:pointer}
#launchers button:disabled{background:transparent;color:var(--dim);border:1px dashed var(--line);cursor:default}
/* embed mode: the card opens to the full window and holds the tool frame under a slim bar */
body.embedding{display:block;padding:0}
body.embedding .card{max-width:none;min-height:100vh;border-radius:0;border:0;padding:8px 16px 0;text-align:left}
body.embedding .card>.logo,body.embedding .card>.back{display:none}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:4px 0 8px;border-bottom:1px solid var(--line)}
.toolbar .who{margin-right:auto;color:var(--dim);font-size:14px}
.toolbar .sec{min-height:36px;padding:0 16px}
#toolFrameBox iframe{display:block;width:100%;height:calc(100vh - 64px);border:0;background:#fff}
/* Telegram panel (off while site-config telegramJoin is false) */
.tg-panel{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(380px,calc(100vw - 32px));z-index:10;
  background:var(--ink-2);color:var(--fg);border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.tg-panel .tg-title{font-weight:700;color:var(--fg);margin:0 0 12px}
.tg-panel .tg-list button{margin:0 0 8px;min-height:44px;padding:0 22px;border-radius:999px;border:0;background:#fff;color:#1f1f1f;font:600 14px "Archivo",system-ui,sans-serif;cursor:pointer}
.tg-panel .tg-note{margin:4px 0 8px;text-align:left;font-size:13px}
.tg-panel .tg-status{min-height:1.5em;margin:4px 0 12px;font-size:14px}
.tg-panel a{color:var(--fg)}
.tg-panel .tg-close{min-height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--fg);font:600 13px "Archivo",system-ui,sans-serif;cursor:pointer}
/* "Link my Telegram as admin" (off while site-config telegramAdminJoin is false): the 2-minute countdown */
.tg-panel .tg-admin-line{font-weight:600;color:var(--fg)}
.tg-panel .tg-countdown{margin:0 0 12px;font:400 14px "JetBrains Mono",ui-monospace,monospace;color:var(--fg)}
/* near-empty sign-in page (his words 20261025-1014Z): logo top-left -> sfcfo.com, button centred, footer links */
.top{position:fixed;top:max(16px,env(safe-area-inset-top,0px));left:max(20px,env(safe-area-inset-left,0px));z-index:5}
.top .logo .s{font-size:30px}
.top .logo .c{font-size:26px}
.foot{position:fixed;left:0;right:0;bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;gap:28px;justify-content:center;font-size:14px}
.foot a{color:var(--dim);text-decoration:none}
.foot a:hover{color:var(--fg)}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.embedding .top,body.embedding .foot{display:none}
