/* Dense desktop workspace. Narrow/touch layouts and printed documents keep
   their existing rules; data, labels and actions are not hidden for density. */
@media screen and (min-width:1001px) {
  .shell { font-size:var(--font-md); }
  .sidebar { overflow-y:auto; }
  .brand { gap:9px; padding:0 8px; }
  .brand img { width:30px; height:30px; }
  .brand b { font-size:var(--font-lg); }
  .brand small { margin-top:4px; }
  .nav-label { margin:8px 0 6px; padding:0 10px; }
  .nav { gap:3px; }
  .nav a { padding:8px 10px; gap:9px; font-size:var(--font-sm); }
  .nav .icon { width:18px; height:18px; }
  .sidebar-bottom { padding:8px; font-size:var(--font-xs); line-height:1.6; }
  .topbar { padding:0 20px; gap:12px; }
  .top-left,.top-right { gap:10px; }
  .avatar { width:28px; height:28px; }
  .main { max-width:none; }
  .page-head { gap:14px; margin-bottom:14px; }
  .page-head h1 { font-size:22px; margin-bottom:4px; }
  .subtle { line-height:1.6; }
  .page-head .subtle { font-size:var(--font-sm); }
  .actions { gap:6px; }

  .shell button,dialog button { min-height:34px; padding:6px 10px; font-size:var(--font-sm); border-radius:var(--radius-sm); }
  .shell input:not([type=checkbox]):not([type=radio]),.shell select,
  dialog input:not([type=checkbox]):not([type=radio]),dialog select {
    min-height:34px; padding:6px 9px; font-size:var(--font-md);
  }
  .shell textarea,dialog textarea { padding:8px 10px; min-height:84px; font-size:var(--font-md); line-height:1.6; }
  .shell .icon-button,dialog .icon-button { padding:6px; }
  .shell .text-button,dialog .text-button { padding:5px 7px; }
  .shell .button-link { min-height:34px; padding:6px 10px; font-size:var(--font-sm); }
  .shell .search input:not([type=checkbox]):not([type=radio]) { padding-left:34px; }
  .search .icon { width:17px; height:17px; left:10px; top:50%; transform:translateY(-50%); }
  .badge { padding:3px 7px; }
  .notice,.error-box,.success-box { padding:9px 12px; margin-bottom:12px; line-height:1.6; }
  .small { line-height:1.6; }
  .empty { padding:30px 18px; }
  .panel { margin-bottom:12px; border-radius:var(--radius-md); }
  .toolbar { padding:10px 12px; gap:8px; }
  .count { padding:8px 12px 6px; }
  
  
  
  
  
  .data-table th { padding:8px 12px; }
  .data-table td { padding:10px 12px; line-height:1.5; }
  
  

  /* The list keeps every desktop column and uses normal document scrolling. */
  .resident-summary { gap:8px 24px; border-radius:7px; }
  .resident-summary>div { gap:8px; }
  .resident-summary dd { font-size:20px; }
  .resident-directory .resident-filters { gap:8px; }
  .resident-filters .search { min-width:180px; }
  .resident-filters select { min-width:100px; max-width:220px; }
  .resident-controls { gap:8px 14px; }
  .view-switch { border-radius:var(--radius-sm); }
  .view-switch button { min-width:76px; border-radius:0; }
  .resident-sort-controls,.resident-size-control { gap:6px; }
  .resident-sort-controls { flex:initial; }
  .resident-results-head,.resident-results-foot { padding:6px 12px; gap:8px; }
  .resident-count strong { font-size:15px; }
  .resident-pagination button,.resident-pagination select { min-height:32px; padding:5px 8px; }
  .resident-list-table th button { min-height:32px; padding:5px 4px; font-size:var(--font-xs); }
  .resident-list-table td { padding:4px 9px; line-height:1.4; }
  .resident-list-table .resident-person { grid-template-columns:30px minmax(0,1fr); column-gap:8px; }
  .resident-list-table .resident-photo { width:30px; height:36px; border-radius:5px; }
  .resident-list-table .resident-photo-fallback { font-size:var(--font-md); }
  .resident-list-table .resident-person strong { font-size:var(--font-md); }
  .resident-person-meta { line-height:1.4; }
  .resident-list-table .badge { padding:3px 6px; }
  .resident-tile-grid { gap:10px; padding:2px 12px 12px; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); }
  .resident-tile { padding:12px; border-radius:7px; }
  .resident-tile-heading { padding-bottom:8px; }
  .resident-tile dl { gap:8px 12px; margin-top:10px; }
  .resident-tile dt { margin-bottom:3px; }
  .resident-list-help { margin:8px 0; line-height:1.6; }

  /* Detail pages and logs retain complete text, with less space around it. */
  .back { margin-bottom:10px; }
  .resident-heading { gap:12px; }
  .resident-heading h1 { font-size:22px; }
  .resident-photo-large { width:60px; height:72px; }
  .resident-photo-large .resident-photo-fallback { font-size:24px; }
  .resident-photo-block .text-button { min-height:28px; padding:3px 5px; }
  .detail-summary { margin-top:6px; gap:8px; }
  
  .detail-tabs a { min-height:38px; font-size:var(--font-sm); }
  .detail-grid { grid-template-columns:1.15fr 1fr; gap:14px; }
  .card { padding:14px; margin-bottom:12px; border-radius:var(--radius-md); }
  .card h2,.section-head h2 { font-size:var(--font-lg); }
  .card-head,.section-head { gap:10px; margin-bottom:10px; }
  .kv { grid-template-columns:100px minmax(0,1fr); gap:8px 12px; line-height:1.6; }
  .mini-record { padding:9px 0; line-height:1.6; }
  .mini-record strong { font-size:var(--font-md); }
  .record { grid-template-columns:124px minmax(0,1fr); gap:12px; margin-bottom:12px; }
  .record-date { padding-top:12px; font-size:var(--font-sm); line-height:1.6; }
  .record-body { padding:13px 15px; border-radius:var(--radius-md); }
  .record-top { margin-bottom:8px; gap:8px; }
  .record-text { margin-bottom:8px; font-size:var(--font-md); line-height:1.7; }
  .record-actions { margin-top:8px; gap:6px; }
  .record-actions button { min-height:32px; padding:5px 9px; }
  .responses { margin-top:10px; padding-left:12px; }
  .response { padding:6px 0; line-height:1.6; }
  .response p { margin:4px 0; }
  .audit-row { gap:12px; padding:10px 14px; line-height:1.6; }

  .rooms { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
  .room-card { padding:12px; border-radius:7px; }
  .room-head { margin-bottom:10px; gap:8px; }
  .room-card h3 { font-size:20px; }
  .room-card a { font-size:var(--font-md); }
  .room-card p { margin-top:8px; }
  .facility-title { font-size:17px; margin:18px 0 10px; }
  .master-group { gap:6px; margin-bottom:12px; }
  .master-cards { gap:10px; padding:12px; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); }
  .master-card { padding:12px; }
  .master-card dl { gap:7px 10px; line-height:1.6; margin:10px 0; }
  .account-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:12px; margin-top:12px; }
  .account-card { margin-bottom:0; }
  .account-card h2 { font-size:var(--font-lg); }
  .account-grid .card p { margin:8px 0; line-height:1.6; }
  .account-toggle { margin:12px 0; gap:8px; }
  .grant-row { padding:10px 0; gap:8px; }
  #facility-grants { margin:12px 0; padding:12px; }
  .account-grid form .field { margin-bottom:12px; }

  dialog { max-width:960px; max-height:calc(100dvh - 32px); border-radius:var(--radius-lg); }
  .modal-head { padding:12px 18px; }
  .modal-head h2 { font-size:18px; }
  .modal-content { padding:16px 18px; }
  .form-grid { gap:12px 16px; }
  .field { gap:5px; }
  .field label { font-size:var(--font-sm); }
  fieldset { padding:12px; margin:12px 0; }
  .repeat-item { padding:12px; margin-top:10px; }
  
  .check-field { min-height:34px; }
  .button-row { gap:7px; margin-top:14px; }
  .button-row.sticky { padding-top:12px; }
  
  .file-drop { padding:18px; gap:10px; margin:12px 0; }
  .import-steps { gap:14px; margin-bottom:16px; }
  .import-row { padding:12px; gap:10px; }
  .csv-rules { margin:16px 0; gap:10px 14px; line-height:1.7; }
  .csv-preview-list { gap:10px; margin:12px 0 16px; }
  .csv-preview-row { padding:12px; }
}

/* Large touch displays still need finger-sized controls. */
@media screen and (min-width:1001px) and (pointer:coarse) {
  .shell button,dialog button,
  .shell input:not([type=checkbox]):not([type=radio]),.shell select,
  dialog input:not([type=checkbox]):not([type=radio]),dialog select,
  .resident-list-table th button,.resident-pagination button,.resident-pagination select,
  .record-actions button,.resident-photo-block .text-button,.nav a,.detail-tabs a { min-height:44px; }
}
