/* Application-specific helpers. Everything visual comes from the design system;
   this file exists because the CSP forbids inline styles, so even a hidden
   element needs a class. */

.is-hidden { display: none !important; }

.n1-auth-foot {
  display: flex;
  flex-direction: column;
  gap: calc(var(--ts-space) * 1);
  margin-top: calc(var(--ts-space) * 3);
  font-size: var(--ts-fs-small);
  color: var(--ts-grey-text);
}

.n1-env {
  font-family: var(--ts-mono);
  font-size: var(--ts-fs-ui-label);
  letter-spacing: var(--ts-tracking-label);
}

/* --- authenticated landing ---------------------------------------------- */

.n1-panel {
  border: 1px solid var(--ts-grey-light);
  border-radius: var(--ts-radius-card);
  background: var(--ts-white);
  padding: calc(var(--ts-space) * 3);
  display: flex;
  flex-direction: column;
  gap: calc(var(--ts-space) * 2);
}

.n1-kv { display: grid; grid-template-columns: 180px 1fr; gap: calc(var(--ts-space) * 1.5); }
.n1-kv dt { font-size: var(--ts-fs-ui-sm); color: var(--ts-grey-mid); }
.n1-kv dd {
  margin: 0;
  font-size: var(--ts-fs-ui);
  color: var(--ts-ink);
  font-variant-numeric: tabular-nums;
}
.n1-kv dd.mono { font-family: var(--ts-mono); font-size: var(--ts-fs-ui-sm); }

.n1-perms {
  font-family: var(--ts-mono);
  font-size: var(--ts-fs-ui-sm);
  line-height: 1.7;
  color: var(--ts-grey-text);
  background: var(--ts-grey-card);
  border-radius: var(--ts-radius-ui);
  padding: calc(var(--ts-space) * 2);
  margin: 0;
  white-space: pre-wrap;
  max-height: 320px;
  overflow-y: auto;
}

.n1-actions { display: flex; flex-wrap: wrap; gap: calc(var(--ts-space) * 1.5); }
