/* Dashboard content stays scoped; shared navigation is styled on every application view. */
html:has(#easyrem-dashboard) { background: #f7f9fc; }
body:has(#easyrem-dashboard) *:not(.xicon):not(.icon) { font-family: 'Segoe UI', 'Roboto', sans-serif !important; }
body:has(#easyrem-dashboard) {
    background: #f7f9fc;
    color: #18233b;
    font-family: 'Roboto', 'Segoe UI', sans-serif;
}
body:has(#sitehead):not(.viewonly) #sitehead *:not(.xicon):not(.icon),
body:has(#sitehead):not(.viewonly) #sidebar *:not(.xicon):not(.icon) {
    font-family: 'Segoe UI', 'Roboto', sans-serif !important;
}
body:has(#easyrem-dashboard) .sidebar-content { padding-bottom: 0; }
#easyrem-dashboard { max-width: 1600px; margin: 0 auto; }
#easyrem-dashboard *, #easyrem-dashboard *::before, #easyrem-dashboard *::after { box-sizing: border-box; }
.dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.dashboard-heading h1 { margin: 0 0 8px; color: #162139; font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: -.7px; }
.dashboard-heading p { margin: 0; color: #738098; font-size: 14px; line-height: 1.6; }
#easyrem-dashboard .dashboard-create { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex-shrink: 0; min-height: 44px; padding: 10px 20px; border: 1px solid #16933b; border-radius: 9px; background: #169d40; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; box-shadow: 0 4px 12px #169d401a; }
.dashboard-create > span { font-size: 24px; font-weight: 400; line-height: 1; }
#easyrem-dashboard .dashboard-create:hover { background: #118032; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dashboard-grid > .col { float: none; width: auto; min-width: 0; padding: 0; margin: 0; }
.dashboard-section-title { grid-column: 1 / -1; margin: 16px 0 -4px; }
.dashboard-section-title:first-child { margin-top: 0; }
.dashboard-section-title h2 { display: flex; align-items: center; gap: 12px; margin: 0; color: #18233b; font-size: 21px; font-weight: 600; line-height: 1.4; letter-spacing: -.3px; }
.dashboard-section-title h2::before { content: ''; width: 4px; height: 24px; border-radius: 4px; background: #21ad4b; }
.dashboard-section-title h2.dashboard-title-rentals::before { background: #ff941b; }
.dashboard-section-title h2.dashboard-title-signatures::before { background: #148bfa; }
.dashboard-section-title h2.dashboard-title-support::before { background: #8795aa; }
#easyrem-dashboard .panel { --card-accent: #199a3f; --card-tint: #e8f7ec; display: flex; align-items: center; gap: 18px; position: relative; height: 100%; min-height: 132px; margin: 0; padding: 24px 20px; border: 1px solid #e9edf3; border-radius: 12px; background: #fff; color: #18233b; box-shadow: 0 3px 12px #22385305, 0 1px 3px #22385304; transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
#easyrem-dashboard .panel.warn { --card-accent: #f18a0a; --card-tint: #fff2e5; }
#easyrem-dashboard .panel.bg-blue { background-color: #fff !important; }
#easyrem-dashboard .panel.bg-blue, #easyrem-dashboard .panel.dashboard-signatures { --card-accent: #0787ef; --card-tint: #e6f2ff; }
#easyrem-dashboard .panel:has(a:hover), #easyrem-dashboard .panel:focus-within { border-color: #cfdcd6; box-shadow: 0 8px 24px #2238530c; transform: translateY(-2px); }
#easyrem-dashboard .panel > .header { display: none; }
#easyrem-dashboard .panel > .body { display: flex; align-items: center; justify-content: center; flex: 0 0 72px; width: 72px; height: 72px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--card-tint); }
#easyrem-dashboard .panel .panel-big { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; padding: 0; color: var(--card-accent); font-size: 40px !important; line-height: 1; text-decoration: none; }
#easyrem-dashboard .panel .panel-big .xicon { font-size: inherit; line-height: 1; }
#easyrem-dashboard .panel .panel-big img { display: block; max-width: 48px; width: auto; height: auto !important; max-height: 46px; margin: 0; object-fit: contain; }
#easyrem-dashboard .panel .panel-big img.w25, #easyrem-dashboard .panel .panel-big img.w50 { width: 44px !important; }
#easyrem-dashboard .panel.bg-blue .panel-big img, #easyrem-dashboard .dashboard-signatures .panel-big img { filter: brightness(0) saturate(100%) invert(39%) sepia(96%) saturate(2708%) hue-rotate(189deg) brightness(100%) contrast(101%); }
#easyrem-dashboard .panel > .footer { flex: 1; min-width: 0; margin: 0; padding: 0 30px 0 0; border: 0; background: transparent; color: #18233b; text-align: left; font-size: 14px; line-height: 1.5; }
#easyrem-dashboard .panel > .footer > a { color: #18233b !important; font-size: 15px; font-weight: 600; line-height: 1.45; text-decoration: none; }
#easyrem-dashboard .panel > .footer strong { font-weight: 600; }
#easyrem-dashboard .panel .nowrap { white-space: normal; }
#easyrem-dashboard .panel > .footer > a.larger::after { content: '›'; display: flex; align-items: center; justify-content: center; position: absolute; right: 16px; top: calc(50% - 15px); width: 30px; height: 30px; border: 1px solid var(--card-tint); border-radius: 50%; color: var(--card-accent); font-family: 'Segoe UI', sans-serif; font-size: 26px; font-weight: 400; line-height: 1; }
.dashboard-card-description { display: block; margin-top: 8px; color: #738098; font-size: 13px; font-weight: 400; line-height: 1.65; }
#easyrem-dashboard .dashboard-contacts { grid-column: auto; }
#easyrem-dashboard .dashboard-contacts > .footer { padding-right: 0; font-size: 12px; overflow-wrap: anywhere; }
#easyrem-dashboard .dashboard-contacts > .footer a { color: #198740; text-decoration: underline; text-underline-offset: 3px; }
#easyrem-dashboard a:focus-visible, body:has(#sitehead):not(.viewonly) #sitehead a:focus-visible, body:has(#sitehead):not(.viewonly) #sitehead button:focus-visible, body:has(#sitehead):not(.viewonly) #sidebar a:focus-visible { outline: 3px solid #168a40; outline-offset: 4px; }
.dashboard-only { display: none !important; }
body:has(#sitehead):not(.viewonly) .dashboard-only { display: block !important; }
body:has(#easyrem-dashboard) #main { padding: 32px 36px 48px; }
body:has(#sitehead):not(.viewonly) #sitehead { background: #fff; border-bottom: 1px solid #e9edf3; box-shadow: 0 2px 8px #22385303; }
body:has(#sitehead):not(.viewonly) #sitehead > .row { display: flex; align-items: center; min-height: 72px; padding: 0 20px; }
body:has(#sitehead):not(.viewonly) #sitehead .navbar-toggle { flex-shrink: 0; height: 48px; margin: 0 8px 0 0; border: 0; border-radius: 8px; }
body:has(#sitehead):not(.viewonly) #sitehead .navbar-toggle .icon-bar { width: 18px; height: 2px; background: #47546a; }
body:has(#sitehead):not(.viewonly) #sitehead .navbar-header { flex-shrink: 0; }
body:has(#sitehead):not(.viewonly) #sitehead .navbar-brand { padding: 0; }
body:has(#sitehead):not(.viewonly) #sitehead .navbar-brand img { width: 150px; height: auto; max-height: 46px; }
body:has(#sitehead):not(.viewonly) #topMenu { margin-left: auto; width: auto; }
body:has(#sitehead):not(.viewonly) #topMenu > ul { display: flex; align-items: center; margin: 0; padding: 0; }
body:has(#sitehead):not(.viewonly) #topMenu > ul > li { margin: 0; }
body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-label { padding: 0 18px; color: #738098; font-size: 12px; line-height: 1.6; text-align: left; border-left: 1px solid #edf0f5; }
body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-label > span { display: block; color: #16933b !important; font-size: 13px; }
body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-menu > a { display: flex; align-items: center; justify-content: center; min-width: 36px; min-height: 44px; padding: 8px; color: #344158; border-radius: 8px; }
body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-menu > a > .xicon-user { display: none; }
body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-menu > ul { border: 1px solid #e9edf3; border-radius: 10px; background: #fff; box-shadow: 0 8px 28px #22385314; }
body:has(#sitehead):not(.viewonly) #topMenu .dashboard-notifications { margin-right: 16px; }
body:has(#sitehead):not(.viewonly) .dashboard-notifications > a { display: flex; align-items: center; justify-content: center; width: 40px; height: 44px; padding: 0; color: #344158; font-size: 24px; border-radius: 8px; }
body:has(#sitehead):not(.viewonly) #sidebar { padding: 16px 12px 24px; border-left: 0; border-right: 1px solid #e9edf3; background: #fff; font-size: 13px; }
body:has(#sitehead):not(.viewonly) #sidebar ul { padding: 0; margin: 0; }
body:has(#sitehead):not(.viewonly) #sidebar li { margin: 0; }
body:has(#sitehead):not(.viewonly) #sidebar li.divider { display: none; }
body:has(#sitehead):not(.viewonly) #sidebar li > a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 16px; border: 0; border-radius: 24px; color: #465167; font-size: 13px; line-height: 1.35; text-decoration: none; }
body:has(#sitehead):not(.viewonly) #sidebar li > a::before { display: none; }
body:has(#sitehead):not(.viewonly) #sidebar li > a:hover { color: #168b38; background: #f0f8f3; }
body:has(#sitehead):not(.viewonly) #sidebar li.active > a { background: #eaf7ee !important; color: #168b38; font-weight: 500; }
body:has(#sitehead):not(.viewonly) #sidebar li > a > .xicon { flex: 0 0 22px; width: 22px; height: auto; padding: 0; top: 0; font-size: 21px; line-height: 1; }
body:has(#sitehead):not(.viewonly) #sidebar .dashboard-nav-label { margin: 22px 16px 9px; color: #8793a7; font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: .35px; text-transform: uppercase; }
body:has(#sitehead):not(.viewonly) #sidebar > .dashboard-nav-label { margin-top: 8px; }
@media (min-width: 900px) {
    body:has(#sitehead):not(.viewonly) #sidebar { width: 250px; }
    body:has(#sitehead):not(.viewonly) .sidebar-content { width: calc(100% - 250px); min-width: 0; }
    body:has(#sitehead):not(.viewonly) #sidebar.sidebar-condensed { width: 64px; padding-left: 6px; padding-right: 6px; }
    body:has(#sitehead):not(.viewonly) #sidebar.sidebar-condensed + .sidebar-content { margin-left: 64px; width: calc(100% - 64px); }
    body:has(#sitehead):not(.viewonly) #sidebar.sidebar-condensed li > a { justify-content: center; padding: 12px 0; }
    body:has(#sitehead):not(.viewonly) #sidebar.sidebar-condensed .dashboard-nav-label { display: none !important; }
}
@media (min-width: 900px) and (max-width: 1199px) {
    .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body:has(#easyrem-dashboard) #main { padding: 28px 24px; }
}
@media (max-width: 899px) {
    body:has(#sitehead):not(.viewonly) .sidebar-content { width: 100%; margin-left: 0; }
    body:has(#sitehead):not(.viewonly) #sidebar { overflow-y: auto; max-width: 300px; }
    body:has(#easyrem-dashboard) #main { padding: 28px 24px; }
    .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .dashboard-heading { margin-bottom: 28px; }
    .dashboard-heading h1 { font-size: 27px; }
}
@media (max-width: 599px) {
    body:has(#sitehead):not(.viewonly) #sitehead > .row { min-height: 64px; padding: 0 12px; }
    body:has(#sitehead):not(.viewonly) #sitehead .navbar-brand img { width: 112px; }
    body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-label { max-width: 112px; padding: 0 8px; font-size: 10px; }
    body:has(#sitehead):not(.viewonly) #topMenu .dashboard-user-label > span { font-size: 11px; }
    body:has(#sitehead):not(.viewonly) #topMenu .dashboard-notifications { margin-right: 4px; }
    body:has(#sitehead):not(.viewonly) .dashboard-notifications > a { width: 30px; font-size: 21px; }
    body:has(#easyrem-dashboard) #main { padding: 24px 16px 36px; }
    .dashboard-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .dashboard-heading h1 { font-size: 26px; }
    .dashboard-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .dashboard-section-title { margin-top: 14px; }
    .dashboard-section-title h2 { font-size: 19px; }
    #easyrem-dashboard .panel { min-height: 120px; padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    #easyrem-dashboard .panel { transition: none; }
    #easyrem-dashboard .panel:has(a:hover), #easyrem-dashboard .panel:focus-within { transform: none; }
}
