.bend-handle {
  cursor: grab;
  pointer-events: all;
  filter: drop-shadow(0 1px 2px rgba(20, 38, 58, .3));
}

.bend-handle:active {
  cursor: grabbing;
}

.brand-mark > strong,
.card-logo > strong {
  color: #25827d;
  font-size: 20px;
  letter-spacing: -1px;
}

.card-logo > strong {
  font-size: 24px;
}

.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: radial-gradient(circle at top, #edf6f7, #e8eef4 55%, #dce5ed);
}

.login-card {
  width: min(410px, 100%);
  padding: 34px;
  border: 1px solid #d9e2ea;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(20, 38, 58, .16);
}

.login-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  border-radius: 15px;
  background: #172942;
  color: #8fd4c9;
  font-size: 22px;
  font-weight: 800;
}

.login-card h1 { margin: 7px 0 8px; font-size: 24px; }
.login-card > p { margin: 0 0 24px; color: #697b91; }
.login-card label { display: grid; gap: 7px; margin-bottom: 15px; font-size: 12px; font-weight: 650; }
.login-card input { width: 100%; padding: 12px; border: 1px solid #d9e2ea; border-radius: 9px; font: inherit; }
.login-card input:focus { outline: 2px solid #d8e9f8; border-color: #2874b9; }
.login-error { min-height: 20px; margin-top: 13px; color: #a62945; font-size: 12px; }
.current-user { align-self: center; max-width: 150px; color: #697b91; font-size: 11px; }
.auth-pending > .sidebar, .auth-pending > .workspace,
.auth-required > .sidebar, .auth-required > .workspace { visibility: hidden; }
.auth-gate[hidden] { display: none; }

.ai-panel { margin-bottom: 16px; border-color: #badfd9; background: linear-gradient(145deg, #fff, #f3faf9); }
.ai-panel textarea { min-height: 92px; }
.ai-status { min-height: 18px; margin: 10px 0 0; color: #697b91; font-size: 11px; line-height: 1.4; }
.ai-preview { margin-top: 14px; padding: 14px; border: 1px solid #badfd9; border-radius: 10px; background: #fff; }
.ai-preview h3 { margin: 7px 0 5px; font-size: 15px; }
.ai-preview p { margin: 4px 0; color: #697b91; font-size: 11px; line-height: 1.45; }
.ai-preview #ai-preview-objective { color: #233854; }
.ai-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.ai-actions .button { padding: 8px 10px; font-size: 11px; }

@media print {
  .bend-handle {
    display: none !important;
  }
}
