/* Served only by the private web host. Desktop layout remains unchanged. */
.online-login { max-width: 420px; padding: 28px; border: 1px solid #444653; border-radius: 20px; background: #22242f; color: #dadada; }
.online-login::backdrop { background: #171922f5; }
.online-logo { width: 170px; height: auto; margin-bottom: 20px; }
.online-login h1 { font-size: 25px; margin: 0 0 12px; }
.online-login p, .online-login small { color: #b2b2b2; line-height: 1.5; }
.online-login label { display: grid; gap: 8px; margin: 18px 0; }
.online-login .input { box-sizing: border-box; width: 100%; min-height: 46px; }
.online-login .btn { width: 100%; min-height: 48px; }
.online-locked > :not(#online-login) { visibility: hidden; }
.mobile-device-card { margin: 16px 0; padding: 16px; border: 1px solid #505360; border-radius: 14px; background: #292c38; }
.mobile-device-card h3 { margin: 0 0 8px; }
.mobile-device-card small { display: block; margin-top: 12px; color: #b2b2b2; }
@media (max-width: 680px) {
  html, body { height: 100dvh; overscroll-behavior-y: none; }
  body { padding-top: env(safe-area-inset-top); box-sizing: border-box; }
  input, textarea, select { font-size: 16px !important; }
  button, .btn, .btn-ghost { min-height: 44px; touch-action: manipulation; }
  .topbar { flex-wrap: wrap; gap: 6px; padding: 8px 10px; }
  .topbar .brand .logo { max-width: 110px; }
  .topbar-feed { order: 3; width: 100%; min-width: 0; }
  .feed-meta, .brand-meta { display: none; }
  .account-tools { margin-left: auto; }
  .workspace-controls { flex-wrap: wrap; gap: 6px; }
  .setup-dialog { width: calc(100vw - 12px); max-width: none; max-height: 94dvh; padding: 14px; box-sizing: border-box; }
  .setup-dialog textarea { width: 100%; min-height: 140px; }
  .shell-dialog { max-height: 90dvh; overflow: auto; }
  .history-toolbar { flex-wrap: wrap; }
}
