/* Hosted beta shell: sign-in and overview in the Design Canvas language. */
body.hosted { overflow: auto; }
.hosted .top { position: sticky; top: 0; }
.hosted-divider { border: none; border-top: 1px solid hsl(var(--border-soft)); margin: 22px 0; }

.hosted-main {
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 24px 80px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.hosted-card {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border-soft));
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  padding: 28px;
  animation: sq-in 0.4s var(--ease-sqncr);
}
.hosted-card h2 {
  margin: 0 0 10px;
  font-size: 24px;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.hosted-card p { margin: 0 0 12px; font-size: 14px; }

.hosted-signin { max-width: 520px; margin: 8vh auto 0; width: 100%; }
.hosted-note { color: hsl(var(--muted-foreground)); font-size: 12.5px; }
.hosted-error {
  border: 1px solid hsl(0 84% 60% / 0.3);
  background: hsl(0 84% 60% / 0.06);
  color: hsl(0 70% 45%);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13px;
}

.hosted-row { display: flex; gap: 10px; margin-top: 6px; }
.hosted-row input {
  flex: 1;
  min-width: 0;
  border: 1px solid hsl(var(--border));
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 14px;
  background: #fff;
  color: hsl(var(--foreground));
}

.hosted-link { display: flex; gap: 10px; margin-top: 12px; }
.hosted-link input {
  flex: 1;
  min-width: 0;
  border: 1px solid hsl(var(--border));
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 12.5px;
  color: hsl(var(--muted-foreground));
  background: hsl(var(--muted));
}

.hosted-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.hosted-list-head h2 { margin: 0; }
.hosted-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.hosted-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid hsl(var(--border-soft));
  border-radius: var(--radius);
  padding: 14px 16px;
  background: hsl(var(--background));
}
.hosted-item-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hosted-item-title { font-weight: 600; font-size: 14.5px; overflow-wrap: anywhere; }
.hosted-item-date { font-size: 12px; color: hsl(var(--muted-foreground)); }
.hosted-item-actions { display: flex; gap: 8px; flex: none; }
.hosted-item-actions .btn { text-decoration: none; display: inline-flex; align-items: center; }

.hosted-modal {
  position: fixed;
  inset: 0;
  background: hsl(230 25% 12% / 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 60;
  animation: sq-fade 0.2s ease;
}
.hosted-modal-card { max-width: 460px; width: 100%; }
.hosted-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; margin: 6px 0 10px; }
.hosted-modal-actions { display: flex; gap: 10px; margin-top: 8px; }

.hosted .status { position: fixed; bottom: 0; left: 0; right: 0; background: hsl(var(--background)); }

@media (max-width: 640px) {
  .hosted-main { padding: 24px 16px 64px; }
  .hosted-card { padding: 20px; }
  .hosted-item { flex-direction: column; align-items: flex-start; }
}
