/* Shared desktop density for admin dashboards. Mobile rules remain independent. */
@media (min-width: 769px) {
    body:has(.admin-sidebar, .sidebar-role-label.admin) { background: #f5f7fb; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar.dashboard-sidebar-desktop { width: 224px; border-right: 1px solid #e2e8f0; box-shadow: none; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .logo-section { padding: 18px 14px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .logo { font-size: 16px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .sidebar-role-label { margin: 8px 0 0; padding: 3px 8px; font-size: .65rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .nav-menu { padding: 12px 0; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .nav-section { margin-bottom: 14px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .nav-section-title { padding: 0 14px 6px; font-size: .65rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .nav-item { padding: 8px 14px; font-size: .8rem; line-height: 1.5; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) #sidebar .nav-item.active { color: var(--hb-primary-dark); background: var(--hb-primary-soft); border-right-color: var(--hb-primary); }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .dashboard-container > :is(.admin-main, .main-content) { margin-left: 224px; width: calc(100% - 224px); min-width: 0; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .admin-main > .main-content { padding: 20px 24px 24px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) :is(.admin-topbar, .main-content > .header) { padding: 12px 24px; min-height: 60px; border-bottom: 1px solid #e2e8f0; box-shadow: none; flex-wrap: wrap; gap: 12px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) :is(.admin-topbar-title h1, .header-title h1) { font-size: 1.1rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) :is(.topbar-link, .header-action-btn) { padding: 7px 10px; font-size: .8rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .main-content > .content { padding: 20px 24px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) :is(.settings-card, .filter-section) { padding: 16px; margin-bottom: 16px; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 2px 4px rgba(15,23,42,.025); }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .settings-card h2 { font-size: 1rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .settings-card p.subtitle { font-size: .82rem; margin-bottom: 12px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .settings-card .field { margin-bottom: 12px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) :is(.filter-group input, .filter-group select, .field-input) { padding: 7px 10px; min-height: 36px; font-size: .82rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .content .stats-grid { gap: 12px; margin-bottom: 16px; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .content .stat-card { padding: 14px; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(15,23,42,.025); }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .content .stat-icon { width: 30px; height: 30px; font-size: 1rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .content .stat-value { font-size: 1.45rem; }
    body:has(.admin-sidebar, .sidebar-role-label.admin) .content table :is(th, td) { padding: 9px 12px; font-size: .8rem; }

    .admin-dashboard-page .page-header { margin-bottom: 16px; }
    .admin-dashboard-page .page-title { font-size: 1.5rem; letter-spacing: -.025em; }
    .admin-dashboard-page .page-subtitle { font-size: .85rem; }
    .admin-dashboard-page #adminOverviewSection { scroll-margin-top: 80px; }
    .admin-dashboard-page #adminOverviewSection .stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
    .admin-dashboard-page #adminOverviewSection .stat-card { min-width: 0; padding: 12px; border: 1px solid #e2e8f0; border-top: 3px solid var(--hb-primary); border-radius: 12px; box-shadow: 0 2px 4px rgba(15,23,42,.025); }
    .admin-dashboard-page #adminOverviewSection .stat-card-warning { border-top-color: #f59e0b; }
    .admin-dashboard-page #adminOverviewSection .stat-header { gap: 6px; align-items: flex-start; min-height: 30px; margin-bottom: 4px; }
    .admin-dashboard-page #adminOverviewSection .stat-title { font-size: .7rem; line-height: 1.3; text-transform: none; letter-spacing: 0; }
    .admin-dashboard-page #adminOverviewSection .stat-icon { width: 26px; height: 26px; flex-shrink: 0; font-size: .8rem; background: var(--hb-primary-soft); }
    .admin-dashboard-page #adminOverviewSection .stat-value { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; overflow-wrap: anywhere; }
    .admin-dashboard-page #adminOverviewSection .stat-card > div[style] { font-size: .68rem !important; }
    .admin-dashboard-page #adminOverviewSection .stat-card-hint { display: none; }
    .admin-dashboard-page .system-overview { padding: 14px 16px; }
    .admin-dashboard-page .system-overview h2 { margin-bottom: 10px !important; font-size: .95rem; }
    .admin-dashboard-page .system-overview-grid { gap: 10px !important; }
    .admin-dashboard-page .system-overview-grid > div { padding: 8px 12px !important; min-width: 0; }
    .admin-dashboard-page .system-overview-grid > div > div:first-child { font-size: .72rem !important; }
    .admin-dashboard-page .system-overview-grid > div > div:last-child { font-size: 1rem !important; }

    .admin-dashboard-page :is(.invite-form-container, .table-container, .invitations-container, .dashboard-properties-summary) { margin-bottom: 16px; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 2px 4px rgba(15,23,42,.025); scroll-margin-top: 80px; }
    .admin-dashboard-page :is(.invite-form-container, .dashboard-properties-summary) { padding: 16px; }
    .admin-dashboard-page :is(.invite-form-container h2, .table-title, .invitations-header h3, .dashboard-properties-header h2) { font-size: 1rem; margin-bottom: 12px; }
    .admin-dashboard-page :is(.table-header, .invitations-header) { padding: 12px 16px; gap: 12px; }
    .admin-dashboard-page .table-header .table-title { margin-bottom: 0; }
    .admin-dashboard-page .invite-form { gap: 12px; }
    .admin-dashboard-page .form-group { min-width: 0; }
    .admin-dashboard-page .form-group label { font-size: .75rem; margin-bottom: 5px; }
    .admin-dashboard-page :is(.form-input, .form-select, .search-input) { min-width: 0; min-height: 36px; font-size: .82rem; padding-top: 7px; padding-bottom: 7px; }
    .admin-dashboard-page .invite-form .form-input { border-color: #cbd5e1; }
    .admin-dashboard-page .invite-form .form-input:user-invalid { border-color: var(--hb-danger); }
    .admin-dashboard-page .invite-form .form-input:focus { border-color: var(--hb-primary); }
    .admin-dashboard-page :is(.invite-btn, .dashboard-view-properties, .copy-link-btn, .delete-invitation-btn) { min-height: 36px; margin-top: 0; padding: 7px 12px; font-size: .8rem; border-radius: 8px; }
    .admin-dashboard-page :is(.users-table, .invitations-table) { font-size: .8rem; }
    .admin-dashboard-page :is(.users-table, .invitations-table) :is(th, td) { padding: 9px 12px; vertical-align: middle; }
    .admin-dashboard-page :is(.users-table, .invitations-table) th { font-size: .68rem; letter-spacing: .025em; background: #f8fafc; }
    .admin-dashboard-page :is(.users-table-wrapper, .invitations-container) { overflow-x: auto; }
    .admin-dashboard-page :is(.role-badge, .status-badge) { font-size: .65rem; padding: 3px 7px; letter-spacing: 0; }
    .admin-dashboard-page .table-actions { gap: 5px; }
    .admin-dashboard-page .table-actions .action-btn { width: 32px; height: 32px; border-radius: 7px; }
    .admin-dashboard-page .dashboard-properties-header { gap: 16px; margin-bottom: 10px; flex-wrap: wrap; }
    .admin-dashboard-page .dashboard-properties-header h2 { margin-bottom: 0; }
    .admin-dashboard-page .dashboard-properties-summary > p { font-size: .82rem; margin-bottom: 10px; }
    .admin-dashboard-page .dashboard-properties-metrics { gap: 10px; }
    .admin-dashboard-page .dashboard-properties-metrics > div { padding: 10px 12px; }
    .admin-dashboard-page .dashboard-properties-metrics .text-2xl { font-size: 1.35rem; }
    .admin-dashboard-page .dashboard-properties-metrics .text-sm { font-size: .75rem; }
    .admin-dashboard-page #createUserSection .invite-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-dashboard-page #createStaffPermissionsGroup { grid-column: 1 / -1; }
    .admin-dashboard-page .staff-perm-matrix :is(th, td) { padding: 6px 10px !important; }
    .admin-dashboard-page .staff-perm-matrix table { font-size: .78rem !important; }
    .admin-dashboard-page .empty-state { padding: 24px; }
    .admin-dashboard-page .modal-content { padding: 18px; }

    .admin-properties-page .content { padding: 20px 24px; }
    .admin-properties-page .properties-header { margin-bottom: 16px; }
    .admin-properties-page .properties-title h2 { font-size: 1.5rem; }
    .admin-properties-page .properties-title p { font-size: .85rem; }
    .admin-properties-page .properties-filters { gap: 8px; margin-bottom: 16px; }
    .admin-properties-page .filter-btn { padding: 7px 10px; font-size: .75rem; }
    .admin-properties-page .properties-grid { grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); gap: 16px; }
    .admin-properties-page .property-image { height: 150px; }
    .admin-properties-page .property-content { padding: 14px; }
    .admin-properties-page .property-title { font-size: 1rem; overflow-wrap: anywhere; }
    .admin-properties-page :is(.property-location, .property-owner) { font-size: .75rem; }
    .admin-properties-page .property-stats { gap: 8px; margin: 10px 0; padding: 10px 8px; }
    .admin-properties-page .stat-value { font-size: .9rem; }
    .admin-properties-page .stat-label { font-size: .62rem; }
    .admin-properties-page .property-primary-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
    .admin-properties-page .action-btn { padding: 6px 4px; min-width: 0; min-height: 34px; font-size: .7rem; }
    .admin-properties-page .property-price { margin-bottom: 10px; }
}
@media (min-width: 1280px) {
    body:has(.sidebar-role-label.admin) .content:has(> .settings-card) { max-width: 1200px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
    body:has(.sidebar-role-label.admin) .content:has(> .settings-card) > :not(.settings-card) { grid-column: 1 / -1; }
    body:has(.sidebar-role-label.admin) .content > .settings-card { min-width: 0; margin-bottom: 0; }
    .admin-dashboard-page #adminOverviewSection .stats-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .admin-dashboard-page #createUserSection .invite-form { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, min-content) minmax(36px, 1fr); align-items: start; }
    .admin-dashboard-page #createStaffPermissionsGroup { grid-column: 3 / 5; grid-row: 1 / 5; }
    .admin-dashboard-page #createUserSection .invite-btn { align-self: start; }
}
