.device-page .device-intro { padding: 0 24px 16px; color: #64748b; line-height: 1.7; margin: 0; }
.device-page .device-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.device-page .device-filters input { max-width: 260px; }
.device-page td { vertical-align: top; }
.device-page td small { display: block; color: #64748b; font-size: 12px; margin-top: 6px; }
.device-page details { margin-top: 8px; max-width: 340px; font-size: 12px; color: #64748b; overflow-wrap: anywhere; }
.device-page summary { cursor: pointer; color: #3369e8; }
.device-page details p { line-height: 1.8; }
.device-page .device-actions { min-width: 144px; white-space: normal; }
.device-page .device-actions button { display: inline-block; margin: 0 8px 6px 0; }
.device-state { display: inline-block; border-radius: 20px; padding: 4px 9px; background: #f1f5f9; color: #475569; font-size: 12px; }
.device-state.is-online { background: #ecfdf5; color: #047857; }
.device-state.is-disabled { background: #fff1f2; color: #be123c; }
.device-page .device-empty { padding: 32px 24px; color: #64748b; }
.device-page .device-pending-panel { border-top: 1px solid #e7ebf2; margin-top: 16px; }
.device-form-error { color: #be123c; font-size: 13px; line-height: 1.6; margin: 0; }
.device-form-error:empty { display: none; }
.device-dialog [hidden], .device-page [hidden], [data-permission][hidden] { display: none !important; }
.device-page button:disabled, .device-dialog button:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 760px) {
  .device-page .panel-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .device-page .device-filters { width: 100%; }
  .device-page .device-filters input { flex: 1; min-width: 130px; }
  .device-page table { min-width: 880px; }
}
@media (max-width: 720px) { .mobile-nav { grid-template-columns: repeat(6, 1fr); } }
