body { background: #f5f7fb; color: #172439; }
.navbar { min-height: 76px; }
.card { border-color: #e0e6ef; border-radius: 12px; }
.login-card { max-width: 490px; margin-top: 4vh; margin-bottom: 5vh; }
.table th { background: #edf1f7; padding: 1rem; font-size: .88rem; }
.table td { padding: 1rem; }
h1 { font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 650; }
a { text-underline-offset: 3px; }
.btn { font-weight: 550; }

.network-value { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.network-value strong { white-space: nowrap; font-size: 1rem; }

/* One fixed-height row per U keeps multi-U equipment aligned with the rails. */
.rack-front { --rack-unit-height:72px; display:grid; grid-template-columns:2.75rem minmax(0,1fr); background:#202b37; padding:.25rem; border:6px solid #394754; border-radius:.35rem; }
.rack-unit { color:#fff; display:flex; align-items:center; justify-content:center; border-bottom:1px solid #647484; font-size:.8rem; font-variant-numeric:tabular-nums; }
.rack-empty { border-bottom:1px solid #647484; min-width:0; }
.rack-equipment { z-index:1; margin:1px 2px; border:1px solid; padding:1px .35rem; min-width:0; min-height:0; display:flex; flex-direction:column; justify-content:center; font-size:.8125rem; line-height:15px; }
.rack-inventory { background:#dbeafe; border-color:#3b82f6; }
.rack-manual { background:#dcfce7; border-color:#22c55e; }
.rack-equipment-info, .rack-equipment-ip { min-width:0; }
.rack-equipment-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rack-equipment-meta { font-size:.75rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rack-equipment-model { font-size:.75rem; overflow-wrap:anywhere; }
.rack-equipment .network-value { position:relative; flex-wrap:nowrap; gap:.2rem; }
.rack-equipment .network-value strong { min-width:0; font-size:.75rem; overflow:hidden; text-overflow:ellipsis; }
.rack-equipment .network-value button { flex-shrink:0; }
.rack-equipment .network-value button { padding:0 .2rem; font-size:.6875rem; line-height:18px; }
.rack-equipment .network-value [role="status"]:empty { display:none; }
.rack-equipment .network-value [role="status"]:not(:empty) { position:absolute; right:0; bottom:100%; padding:.2rem .4rem; background:#fff; border:1px solid #647484; border-radius:.25rem; box-shadow:0 2px 6px #17243926; }
.rack-equipment:focus-within { z-index:2; }
.rack-placement-panel { padding:1rem; border:1px solid #e0e6ef; border-radius:12px; background:#fff; overflow-wrap:anywhere; }
/* Tablet keeps the form below the rack, with room for two equipment columns. */
@media (min-width:576px) {
  .rack-front { --rack-unit-height:36px; }
  .rack-equipment { flex-direction:row; align-items:center; justify-content:space-between; gap:.4rem; }
  .rack-equipment-info { flex:1; }
  .rack-equipment-ip { max-width:48%; }
}
@media (min-width:992px) {
  .rack-placement-panel { position:sticky; top:1rem; max-height:calc(100dvh - 2rem); overflow-y:auto; }
}

/* Help desk content stays plain text; long submissions cannot widen the page. */
.ticket-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.support-content { max-width: 850px; }
.support-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
