/*
 * utilities.css — Print helpers, alignment, body state overrides
 */

/* ─── Print Helpers ──────────────────────────────────────────────────────── */

.onlyPrint { display: none; }

@media print {
  .noPrint   { display: none !important; }
  .onlyPrint { display: block !important; }

  #DebuggerBanner,
  .DebuggerMessage,
  div.navigation > ul,
  div.footnote {
    display: none !important;
  }
}

/* ─── Alignment Utilities ────────────────────────────────────────────────── */
/* Also defined scoped to table in tables.css; these globals serve other contexts */

.LeftAligned   { text-align: left;   padding-left:  0.25rem; }
.RightAligned  { text-align: right;  padding-right: 0.25rem; }
.CenterAligned { text-align: center; }

/* ─── Body: No Navigation (embedded / popup views) ───────────────────────── */

body.nonav .rocketmove,
body.nonav div.container > div.navigation,
body.nonav:not(.notif) div.container > div.notifications {
  display: none;
}
body.nonav div.container > div.content,
body.nonav div.container > div.notifications {
  margin-left: 0;
}
body.nonav div#DebuggerBanner { padding-left: 0; }
body.nonav #navCollapse       { display: none; }

/* ─── Body: Dialog / iframe ──────────────────────────────────────────────── */

body.dialog div#DebuggerBanner,
body.dialog div.container > div.footnote {
  display: none;
}

/* ─── Layout Utilities (Tailwind-inspired) ───────────────────────────────── */

.flex          { display: flex; }
.flex-col      { flex-direction: column; }
.flex-wrap     { flex-wrap: wrap; }
.items-center  { align-items: center; }
.items-start   { align-items: flex-start; }
.justify-end   { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.gap-1  { gap: 0.25rem; }
.gap-2  { gap: 0.5rem; }
.gap-3  { gap: 0.75rem; }
.gap-4  { gap: 1rem; }

/* ─── Spacing Utilities ──────────────────────────────────────────────────── */

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.p-2  { padding: 0.5rem; }
.p-4  { padding: 1rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }

/* ─── Typography Utilities ───────────────────────────────────────────────── */

.text-sm      { font-size: 0.875rem; line-height: 1.25rem; }
.text-xs      { font-size: 0.75rem;  line-height: 1rem; }
.text-muted   { color: var(--color-muted); }
.font-semibold { font-weight: 600; }
.font-bold    { font-weight: 700; }
.truncate     { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ─── Visual Utilities ───────────────────────────────────────────────────── */

.rounded      { border-radius: 0.375rem; }
.rounded-full { border-radius: 9999px; }
.shadow-sm    { box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); }
.ring         { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* ─── Text Utilities ─────────────────────────────────────────────────────── */
.Bold       { font-weight: bold; }
.TextDanger { color: red; }

.temp-unit-active    { font-weight: normal; color: inherit; }
.temp-unit-inactive  { font-weight: normal; color: lightgray; }
.temp-unit-separator { font-weight: normal; color: grey; }
