/*
 * HouseCouncil UI system.
 * This file is intentionally loaded after the legacy theme and earlier overrides.
 * It owns shell geometry, responsive behaviour, and shared component presentation.
 */

body.adminlte-modern {
	--hcui-navy-950: #081426;
	--hcui-navy-900: #10213b;
	--hcui-navy-800: #183252;
	--hcui-blue-700: #155eaa;
	--hcui-blue-600: #2176c7;
	--hcui-blue-100: #eaf4ff;
	--hcui-teal-600: #0f8f83;
	--hcui-green-600: #14805e;
	--hcui-amber-600: #b9770e;
	--hcui-red-600: #b9384d;
	--hcui-page: #f3f6fa;
	--hcui-surface: #ffffff;
	--hcui-surface-muted: #f8fafc;
	--hcui-text: #1d2939;
	--hcui-muted: #667085;
	--hcui-border: #dfe7f0;
	--hcui-border-soft: #edf1f5;
	--hcui-sidebar-width: 280px;
	--hcui-sidebar-compact: 76px;
	--hcui-header-height: 64px;
	--hcui-radius: 8px;
	--hcui-shadow-sm: 0 3px 12px rgba(16, 33, 59, 0.06);
	--hcui-shadow-md: 0 14px 36px rgba(16, 33, 59, 0.13);
	background: var(--hcui-page);
	color: var(--hcui-text);
	font-family: "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	min-width: 0;
	overflow-x: hidden;
}

body.adminlte-modern *,
body.adminlte-modern *::before,
body.adminlte-modern *::after {
	box-sizing: border-box;
	letter-spacing: 0;
}

body.adminlte-modern .body,
body.adminlte-modern .inner-wrapper,
body.adminlte-modern .content-body {
	background: transparent;
	min-width: 0;
}

body.adminlte-modern img,
body.adminlte-modern canvas,
body.adminlte-modern svg,
body.adminlte-modern video {
	max-width: 100%;
}

/* Header */
body.adminlte-modern .header {
	align-items: stretch;
	background: rgba(255, 255, 255, 0.98);
	border: 0;
	border-bottom: 1px solid var(--hcui-border-soft);
	box-shadow: 0 4px 18px rgba(16, 33, 59, 0.07);
	display: flex;
	height: var(--hcui-header-height);
	left: 0;
	min-height: var(--hcui-header-height);
	overflow: visible;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1040;
}

body.adminlte-modern .header .logo-container {
	align-items: center;
	background: linear-gradient(145deg, var(--hcui-navy-950), var(--hcui-navy-800));
	border: 0;
	box-shadow: inset -1px 0 rgba(255, 255, 255, 0.1);
	display: flex;
	flex: 0 0 var(--hcui-sidebar-width);
	height: var(--hcui-header-height);
	min-width: 0;
	position: relative;
	transition: flex-basis 180ms ease, width 180ms ease;
	width: var(--hcui-sidebar-width);
}

body.adminlte-modern .header .logo.hc-brand {
	align-items: center;
	display: flex;
	float: none;
	gap: 11px;
	height: 100%;
	margin: 0;
	min-width: 0;
	overflow: hidden;
	padding: 0 17px;
	text-decoration: none;
	width: 100%;
}

body.adminlte-modern .header .logo.hc-brand img {
	background: #fff;
	border: 0;
	border-radius: 7px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	flex: 0 0 38px;
	height: 38px;
	max-width: 38px;
	object-fit: contain;
	padding: 3px;
	width: 38px;
}

body.adminlte-modern .hc-brand-text {
	display: block;
	min-width: 0;
}

body.adminlte-modern .hc-brand-title,
body.adminlte-modern .hc-brand-subtitle {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.adminlte-modern .hc-brand-title {
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	max-width: 190px;
}

body.adminlte-modern .hc-brand-subtitle {
	color: rgba(255, 255, 255, 0.62);
	font-size: 10px;
	font-weight: 600;
	margin-top: 2px;
	text-transform: uppercase;
}

body.adminlte-modern .header .header-right {
	align-items: center;
	background: #fff;
	display: flex;
	flex: 1 1 auto;
	float: none;
	gap: 10px;
	height: var(--hcui-header-height);
	justify-content: flex-end;
	min-width: 0;
	overflow: visible;
	padding: 0 20px;
	position: relative;
	width: auto;
}

body.adminlte-modern .header .search.nav-form {
	float: none;
	margin: 0 auto 0 0;
	min-width: 0;
	padding: 0;
	width: auto;
}

body.adminlte-modern .header .separator { display: none; }
body.adminlte-modern .header .input-group { width: auto; }

body.adminlte-modern .header .hc-session-pill {
	align-items: center;
	background: var(--hcui-blue-100);
	border: 1px solid #d3e7fb;
	border-radius: 7px;
	color: var(--hcui-blue-700) !important;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	min-height: 38px;
	padding: 8px 12px;
	text-decoration: none;
	white-space: nowrap;
}

body.adminlte-modern .header .hc-session-pill:hover,
body.adminlte-modern .header .hc-session-pill:focus {
	background: #dceeff;
	outline: 0;
}

body.adminlte-modern .header .notifications {
	display: flex;
	float: none;
	margin: 0;
}

body.adminlte-modern .header .notifications > li { position: relative; }

body.adminlte-modern .header .notifications > li .notification-icon {
	align-items: center;
	background: #fff;
	border: 1px solid var(--hcui-border);
	border-radius: 7px;
	box-shadow: none;
	color: var(--hcui-navy-800) !important;
	display: flex;
	height: 38px;
	justify-content: center;
	line-height: 38px;
	margin: 0;
	width: 38px;
}

body.adminlte-modern .header .notifications > li .notification-icon:hover,
body.adminlte-modern .header .notifications > li.open .notification-icon {
	background: var(--hcui-blue-100);
	border-color: #bad8f4;
}

body.adminlte-modern .header .notifications .badge {
	background: var(--hcui-red-600) !important;
	border: 2px solid #fff;
	color: #fff !important;
	font-size: 9px;
	line-height: 14px;
	min-width: 18px;
	padding: 0 4px;
	position: absolute;
	right: -5px;
	top: -6px;
}

body.adminlte-modern .userbox { margin: 0; }

body.adminlte-modern .userbox > a {
	align-items: center;
	background: #fff;
	border: 1px solid var(--hcui-border);
	border-radius: 7px;
	box-shadow: none;
	display: flex;
	height: 42px;
	min-width: 0;
	padding: 4px 10px 4px 5px;
}

body.adminlte-modern .userbox > a:hover,
body.adminlte-modern .userbox.open > a { background: var(--hcui-surface-muted); }

body.adminlte-modern .userbox .profile-picture { margin: 0 8px 0 0; }

body.adminlte-modern .userbox .profile-picture img {
	border: 0;
	box-shadow: none;
	height: 32px;
	object-fit: cover;
	width: 32px;
}

body.adminlte-modern .userbox .profile-info {
	line-height: 1.15;
	max-width: 150px;
	min-width: 0;
}

body.adminlte-modern .userbox .profile-info .name {
	color: var(--hcui-text) !important;
	display: block;
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.adminlte-modern .userbox .profile-info .role {
	color: var(--hcui-muted);
	display: block;
	font-size: 10px;
	margin-top: 2px;
	text-transform: uppercase;
}

body.adminlte-modern .userbox .custom-caret { border-top-color: var(--hcui-muted); margin-left: 9px; }

/* Navigation */
body.adminlte-modern .sidebar-left {
	background: linear-gradient(180deg, var(--hcui-navy-950), var(--hcui-navy-900) 65%, #102a3a);
	bottom: 0;
	box-shadow: inset -1px 0 rgba(255, 255, 255, 0.07);
	left: 0;
	padding: 0;
	position: fixed;
	top: var(--hcui-header-height);
	transition: width 180ms ease, transform 180ms ease;
	width: var(--hcui-sidebar-width);
	z-index: 1030;
}

body.adminlte-modern .sidebar-left .sidebar-header {
	background: rgba(0, 0, 0, 0.18);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	height: 50px;
	position: relative;
}

body.adminlte-modern .sidebar-left .sidebar-title {
	background: transparent;
	color: rgba(255, 255, 255, 0.52) !important;
	font-size: 10px;
	font-weight: 700;
	line-height: 50px;
	padding: 0 18px;
	text-transform: uppercase;
}

body.adminlte-modern .sidebar-left .sidebar-toggle {
	align-items: center;
	background: transparent;
	border-left: 1px solid rgba(255, 255, 255, 0.07);
	color: #fff;
	display: flex;
	height: 50px;
	justify-content: center;
	line-height: 50px;
	right: 0;
	top: 0;
	width: 56px;
}

/* Keep the navigation control visible even when the icon font is unavailable. */
body.adminlte-modern .sidebar-left .sidebar-toggle i.fa-bars {
	display: none;
}

body.adminlte-modern .sidebar-left .sidebar-toggle::before {
	background: currentColor;
	border-radius: 2px;
	box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
	content: "";
	display: block;
	height: 2px;
	width: 20px;
}

body.adminlte-modern .sidebar-left .sidebar-toggle:hover,
body.adminlte-modern .sidebar-left .sidebar-toggle:focus {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	outline: none;
}

body.adminlte-modern .sidebar-left .nano {
	background: transparent;
	bottom: 0;
	height: auto;
	left: 0;
	position: absolute;
	right: 0;
	top: 50px;
	width: 100% !important;
}

body.adminlte-modern .sidebar-left .nano > .nano-content {
	background: transparent;
	bottom: 0;
	left: 0;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	padding: 0 0 30px !important;
	position: absolute;
	right: 0 !important;
	top: 0;
}

body.adminlte-modern .sidebar-left .nano-pane { opacity: 0.2; right: 2px; width: 4px; }
body.adminlte-modern .nav-main { margin: 0; padding: 11px 9px 32px; }
body.adminlte-modern .sidebar-left .nav-main > li { margin: 2px 0; }

body.adminlte-modern .sidebar-left .nav-main li a {
	align-items: center;
	border: 0;
	border-radius: 7px;
	color: rgba(236, 243, 252, 0.77) !important;
	display: flex;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	min-height: 40px;
	overflow: hidden;
	padding: 10px 12px;
	position: relative;
	text-decoration: none;
	white-space: normal;
}

body.adminlte-modern .sidebar-left .nav-main li a i {
	color: rgba(236, 243, 252, 0.65) !important;
	flex: 0 0 20px;
	font-size: 14px;
	margin: 0 10px 0 0;
	text-align: center;
	width: 20px;
}

body.adminlte-modern .sidebar-left .nav-main li a span {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
	visibility: visible;
}

body.adminlte-modern .sidebar-left .nav-main > li > a:hover,
body.adminlte-modern .sidebar-left .nav-main > li.nav-active > a,
body.adminlte-modern .sidebar-left .nav-main > li.nav-expanded > a {
	background: rgba(255, 255, 255, 0.1) !important;
	box-shadow: inset 3px 0 var(--hcui-blue-600);
	color: #fff !important;
}

body.adminlte-modern .sidebar-left .nav-main > li > a:hover i,
body.adminlte-modern .sidebar-left .nav-main > li.nav-active > a i,
body.adminlte-modern .sidebar-left .nav-main > li.nav-expanded > a i { color: #87c7ff !important; }

body.adminlte-modern .sidebar-left .nav-main li.nav-parent > a { padding-right: 38px; }

body.adminlte-modern .sidebar-left .nav-main li.nav-parent > a::after {
	color: rgba(255, 255, 255, 0.45);
	font-size: 10px;
	line-height: 1;
	padding: 0;
	right: 14px;
	top: 15px;
	transition: transform 160ms ease;
}

body.adminlte-modern .sidebar-left .nav-main li.nav-parent.nav-expanded > a::after { transform: rotate(180deg); }
body.adminlte-modern .sidebar-left .nav-main li.nav-parent > ul.nav-children { display: none; }
body.adminlte-modern .sidebar-left .nav-main li.nav-parent.nav-expanded > ul.nav-children { display: block; }

body.adminlte-modern .sidebar-left .nav-main ul.nav-children {
	background: rgba(255, 255, 255, 0.045);
	border: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0;
	margin: 3px 0 8px 22px;
	padding: 4px 0 4px 7px;
}

body.adminlte-modern .sidebar-left .nav-main ul.nav-children li a {
	color: rgba(236, 243, 252, 0.68) !important;
	font-size: 11px;
	font-weight: 500;
	min-height: 34px;
	padding: 8px 10px;
}

body.adminlte-modern .sidebar-left .nav-main ul.nav-children li a i { display: none; }

body.adminlte-modern .sidebar-left .nav-main ul.nav-children li.nav-active > a,
body.adminlte-modern .sidebar-left .nav-main ul.nav-children li a:hover {
	background: rgba(33, 118, 199, 0.24) !important;
	color: #fff !important;
}

body.adminlte-modern .hc-sidebar-backdrop {
	background: rgba(8, 20, 38, 0.48);
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: var(--hcui-header-height);
	z-index: 1020;
}

/* Content shell */
body.adminlte-modern .inner-wrapper { min-height: 100vh; padding-top: var(--hcui-header-height) !important; }

body.adminlte-modern .content-body,
html.fixed body.adminlte-modern .content-body {
	margin: 0 0 0 var(--hcui-sidebar-width);
	min-height: calc(100vh - var(--hcui-header-height));
	padding: 26px 28px 42px;
	position: relative;
	transition: margin-left 180ms ease;
	width: auto;
}

body.adminlte-modern .hc-page-header,
html.fixed body.adminlte-modern .page-header,
html.fixed body.adminlte-modern .hc-page-header {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--hcui-border);
	border-left: 0;
	border-radius: 0;
	box-shadow: none;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	left: auto !important;
	margin: 0 0 22px !important;
	min-height: 58px;
	padding: 0 0 16px;
	position: relative !important;
	right: auto !important;
	top: auto !important;
	z-index: 1 !important;
}

body.adminlte-modern .hc-page-title-wrap { min-width: 0; padding: 0; }

body.adminlte-modern .hc-page-header h2 {
	color: var(--hcui-navy-900);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	overflow-wrap: anywhere;
	padding: 0;
	text-transform: none;
}

body.adminlte-modern .hc-page-session {
	align-items: center;
	background: var(--hcui-surface);
	border: 1px solid var(--hcui-border-soft);
	border-radius: 6px;
	color: var(--hcui-muted);
	display: inline-flex;
	font-size: 12px;
	gap: 7px;
	line-height: 1;
	padding: 8px 10px;
	white-space: nowrap;
}

body.adminlte-modern .hc-page-session svg { height: 15px; stroke-width: 1.8; width: 15px; }
body.adminlte-modern .hc-page-session strong { color: var(--hcui-navy-900); font-weight: 700; }

/* Prevent legacy list counters from leaking into any remaining breadcrumb instance. */
body.adminlte-modern .breadcrumbs,
body.adminlte-modern .hc-breadcrumbs {
	counter-reset: none !important;
	list-style: none !important;
}

body.adminlte-modern .breadcrumbs > li::marker,
body.adminlte-modern .hc-breadcrumbs > li::marker { content: ""; }

/* Panels, cards and widgets */
body.adminlte-modern .panel,
body.adminlte-modern .box,
body.adminlte-modern .tabs,
body.adminlte-modern .well,
body.adminlte-modern .invoice,
body.adminlte-modern .profile-info-panel {
	background: var(--hcui-surface);
	border: 1px solid var(--hcui-border-soft) !important;
	border-radius: var(--hcui-radius);
	box-shadow: var(--hcui-shadow-sm);
	margin-bottom: 20px;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

body.adminlte-modern .panel:hover,
body.adminlte-modern .box:hover { box-shadow: var(--hcui-shadow-sm); }

body.adminlte-modern .panel-heading,
body.adminlte-modern .box-header {
	align-items: center;
	background: #fff !important;
	border-bottom: 1px solid var(--hcui-border-soft) !important;
	display: flex;
	justify-content: space-between;
	min-height: 50px;
	padding: 14px 18px;
	position: relative;
}

body.adminlte-modern .panel-heading::before,
body.adminlte-modern .box-header::before { display: none; }

body.adminlte-modern .panel-title,
body.adminlte-modern .panel-heading h2,
body.adminlte-modern .panel-heading h3,
body.adminlte-modern .panel-heading h4,
body.adminlte-modern .box-title {
	color: var(--hcui-navy-900);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	overflow-wrap: anywhere;
	text-transform: none;
}

body.adminlte-modern .panel-actions,
body.adminlte-modern .box-tools { flex: 0 0 auto; margin-left: 12px; position: static; }

body.adminlte-modern .panel-body,
body.adminlte-modern .box-body,
body.adminlte-modern .tab-content,
body.adminlte-modern .well { min-width: 0; padding: 18px; }

body.adminlte-modern .panel-footer,
body.adminlte-modern .box-footer { background: var(--hcui-surface-muted) !important; border-top: 1px solid var(--hcui-border-soft) !important; padding: 13px 18px; }

body.adminlte-modern .row { min-width: 0; }
body.adminlte-modern .row > [class*="col-"] { min-width: 0; }

body.adminlte-modern .widget-summary,
body.adminlte-modern .small-box,
body.adminlte-modern .info-box,
body.adminlte-modern .tile-box,
body.adminlte-modern .dashboard-card {
	background: #fff !important;
	border: 1px solid var(--hcui-border-soft);
	border-radius: var(--hcui-radius);
	box-shadow: var(--hcui-shadow-sm);
	color: var(--hcui-text);
	height: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

body.adminlte-modern .hc-ui-soften { transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
body.adminlte-modern .hc-ui-soften:hover { border-color: #cbdced; box-shadow: 0 8px 22px rgba(16, 33, 59, 0.09); transform: translateY(-1px); }

body.adminlte-modern .widget-summary {
	align-items: center;
	display: flex;
	gap: 14px;
	height: auto;
	min-height: 76px;
	overflow: visible;
	width: 100%;
}

body.adminlte-modern .panel .widget-summary,
body.adminlte-modern .box .widget-summary {
	background: transparent !important;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.adminlte-modern .widget-summary .widget-summary-col {
	display: block;
	min-width: 0;
	width: auto;
}

body.adminlte-modern .widget-summary .widget-summary-col:not(.widget-summary-col-icon) {
	flex: 1 1 auto;
}

body.adminlte-modern .widget-summary .widget-summary-col.widget-summary-col-icon {
	flex: 0 0 52px;
	width: 52px;
}

body.adminlte-modern .widget-summary .summary {
	min-height: 0;
	word-break: normal;
}

body.adminlte-modern .widget-summary .summary .info {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
	line-height: 1.3;
	min-width: 0;
}

body.adminlte-modern .widget-summary .summary .amount,
body.adminlte-modern .small-box h3,
body.adminlte-modern .tile-box .num { color: var(--hcui-blue-700) !important; font-size: 27px; font-weight: 700; line-height: 1.15; }
body.adminlte-modern .widget-summary .summary .title,
body.adminlte-modern .small-box p,
body.adminlte-modern .tile-box p { color: var(--hcui-muted) !important; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; text-transform: uppercase; }

body.adminlte-modern .widget-summary .summary .title {
	line-height: 1.35;
	margin: 0 0 6px;
	word-break: normal;
}

body.adminlte-modern .widget-summary .summary .amount {
	display: block;
	flex: 0 0 100%;
	margin: 0;
	overflow-wrap: anywhere;
}

body.adminlte-modern .widget-summary .summary .info span {
	display: block;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 2px;
	overflow-wrap: normal;
	text-transform: uppercase;
	vertical-align: initial;
	white-space: normal;
	word-break: normal;
}

body.adminlte-modern .widget-summary .summary-footer {
	line-height: 1.4;
	margin-top: 7px;
	padding-top: 7px;
	text-align: left;
}

body.adminlte-modern .widget-summary .summary-icon {
	align-items: center;
	background: var(--hcui-blue-100) !important;
	border-radius: 7px;
	color: var(--hcui-blue-700) !important;
	display: flex;
	height: 52px;
	justify-content: center;
	opacity: 1;
	width: 52px;
}

body.adminlte-modern .widget-summary.widget-summary-sm .summary-icon {
	height: 52px;
	line-height: 1;
	margin-right: 0;
	width: 52px;
}

body.adminlte-modern .widget-summary.widget-summary-sm .summary { margin-top: 0; }
body.adminlte-modern .widget-summary.widget-summary-sm .summary .amount { font-size: 27px; line-height: 1.15; }

body.adminlte-modern .widget-summary .summary-icon i { color: inherit !important; font-size: 21px; }

/* Tables and data grids */
body.adminlte-modern .table-responsive,
body.adminlte-modern .hc-table-responsive {
	-webkit-overflow-scrolling: touch;
	background: #fff;
	border: 1px solid var(--hcui-border-soft);
	border-radius: var(--hcui-radius);
	box-shadow: none;
	margin-bottom: 18px;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	width: 100%;
}

body.adminlte-modern .panel .table-responsive,
body.adminlte-modern .box .table-responsive,
body.adminlte-modern .panel .hc-table-responsive,
body.adminlte-modern .box .hc-table-responsive { border: 0; border-radius: 0; margin-bottom: 0; }

body.adminlte-modern table.table { background: #fff; color: var(--hcui-text); margin: 0; max-width: none; width: 100%; }

body.adminlte-modern .table > thead > tr > th {
	background: #f5f8fb !important;
	border: 0 !important;
	border-bottom: 1px solid var(--hcui-border) !important;
	color: #344054 !important;
	font-size: 10px;
	font-weight: 700;
	padding: 11px 12px;
	text-transform: uppercase;
	vertical-align: middle;
	white-space: nowrap;
}

body.adminlte-modern .table > tbody > tr > td,
body.adminlte-modern .table > tbody > tr > th,
body.adminlte-modern .table > tfoot > tr > td,
body.adminlte-modern .table > tfoot > tr > th {
	border-color: var(--hcui-border-soft) !important;
	color: var(--hcui-text);
	font-size: 12px;
	max-width: 360px;
	overflow-wrap: anywhere;
	padding: 11px 12px;
	vertical-align: middle;
}

body.adminlte-modern .table-striped > tbody > tr:nth-child(odd) > td { background: #fbfcfe !important; }
body.adminlte-modern .table-hover > tbody > tr:hover > td { background: #f0f7ff !important; }

body.adminlte-modern .dataTables_wrapper { max-width: 100%; min-width: 0; overflow: visible; }
body.adminlte-modern .dataTables_wrapper .row { margin-left: 0; margin-right: 0; }
body.adminlte-modern .dataTables_wrapper .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
body.adminlte-modern .dataTables_filter input { display: inline-block; max-width: 220px; width: 100%; }
body.adminlte-modern .dataTables_length select { display: inline-block; width: auto; }

/* Forms and actions */
body.adminlte-modern label,
body.adminlte-modern .control-label { color: #344054; font-size: 12px; font-weight: 600; margin-bottom: 6px; }

body.adminlte-modern .form-control,
body.adminlte-modern select.form-control,
body.adminlte-modern textarea.form-control,
body.adminlte-modern .select2-container .select2-choice,
body.adminlte-modern .select2-container-multi .select2-choices,
body.adminlte-modern .bootstrap-tagsinput,
body.adminlte-modern .input-group-addon {
	background: #fff;
	border-color: var(--hcui-border) !important;
	border-radius: 6px;
	box-shadow: none;
	color: var(--hcui-text) !important;
	font-size: 13px;
	max-width: 100%;
	min-height: 38px;
}

body.adminlte-modern textarea.form-control { min-height: 96px; resize: vertical; }
body.adminlte-modern .form-control:focus,
body.adminlte-modern .select2-container-active .select2-choice { border-color: var(--hcui-blue-600) !important; box-shadow: 0 0 0 3px rgba(33, 118, 199, 0.13) !important; outline: 0; }
body.adminlte-modern .input-group { max-width: 100%; }
body.adminlte-modern .input-group .form-control { min-width: 0; }
body.adminlte-modern .form-horizontal .control-label { padding-top: 9px; }

body.adminlte-modern .btn {
	align-items: center;
	border-radius: 6px;
	box-shadow: none;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.3;
	min-height: 36px;
	padding: 8px 13px;
	white-space: normal;
}

body.adminlte-modern .btn i { margin-right: 6px; }
body.adminlte-modern .btn svg { height: 15px; margin-right: 6px; stroke-width: 2; width: 15px; }
body.adminlte-modern .btn-icon i,
body.adminlte-modern .btn > i:only-child { margin-right: 0; }
body.adminlte-modern .btn-xs { min-height: 28px; padding: 5px 8px; }
body.adminlte-modern .btn-sm { min-height: 32px; padding: 6px 10px; }

body.adminlte-modern .btn-primary,
body.adminlte-modern .btn-dark,
body.adminlte-modern .btn-black { background: var(--hcui-blue-700) !important; border-color: var(--hcui-blue-700) !important; color: #fff !important; }
body.adminlte-modern .btn-success { background: var(--hcui-green-600) !important; border-color: var(--hcui-green-600) !important; color: #fff !important; }
body.adminlte-modern .btn-info { background: #18789c !important; border-color: #18789c !important; color: #fff !important; }
body.adminlte-modern .btn-warning { background: var(--hcui-amber-600) !important; border-color: var(--hcui-amber-600) !important; color: #fff !important; }
body.adminlte-modern .btn-danger { background: var(--hcui-red-600) !important; border-color: var(--hcui-red-600) !important; color: #fff !important; }
body.adminlte-modern .btn-default { background: #fff !important; border-color: var(--hcui-border) !important; color: #344054 !important; }
body.adminlte-modern .btn:hover,
body.adminlte-modern .btn:focus { filter: brightness(0.96); outline: 0; }

body.adminlte-modern .btn-group { display: inline-flex; flex-wrap: wrap; gap: 4px; max-width: 100%; vertical-align: middle; }
body.adminlte-modern .btn-group > .btn { border-radius: 6px !important; float: none; margin: 0 !important; }

body.adminlte-modern .nav-tabs { border-bottom-color: var(--hcui-border); display: flex; flex-wrap: wrap; gap: 3px; }
body.adminlte-modern .nav-tabs > li { float: none; margin: 0; }
body.adminlte-modern .nav-tabs > li > a { border-radius: 6px 6px 0 0; color: var(--hcui-muted); font-size: 12px; font-weight: 600; margin: 0; }
body.adminlte-modern .nav-tabs > li.active > a { border-color: var(--hcui-border) var(--hcui-border) #fff; color: var(--hcui-blue-700); }

body.adminlte-modern .alert { border: 0; border-left: 4px solid currentColor; border-radius: 6px; box-shadow: none; overflow-wrap: anywhere; padding: 13px 15px; }
body.adminlte-modern .label,
body.adminlte-modern .badge { border-radius: 999px; font-size: 10px; font-weight: 700; padding: 4px 8px; }

body.adminlte-modern .dropdown-menu,
body.adminlte-modern .notification-menu,
body.adminlte-modern .modal-content,
body.adminlte-modern .select2-drop,
body.adminlte-modern .datepicker {
	border: 1px solid var(--hcui-border-soft);
	border-radius: var(--hcui-radius);
	box-shadow: var(--hcui-shadow-md);
	max-width: calc(100vw - 24px);
}

body.adminlte-modern .notification-menu { right: 0; }
body.adminlte-modern .modal-content { overflow: hidden; }
body.adminlte-modern .modal-header,
body.adminlte-modern .modal-footer { background: var(--hcui-surface-muted); border-color: var(--hcui-border-soft); }

body.adminlte-modern .pagination { display: flex; flex-wrap: wrap; gap: 3px; }
body.adminlte-modern .pagination > li > a,
body.adminlte-modern .pagination > li > span { border-color: var(--hcui-border); border-radius: 5px !important; color: var(--hcui-blue-700); margin: 0; }

body.adminlte-modern .sidebar-left .nav-main li a > svg {
	color: rgba(236, 243, 252, 0.65);
	flex: 0 0 18px;
	height: 18px;
	margin-right: 11px;
	stroke-width: 1.8;
	width: 18px;
}

body.adminlte-modern .sidebar-left .nav-main > li > a:hover > svg,
body.adminlte-modern .sidebar-left .nav-main > li.nav-active > a > svg,
body.adminlte-modern .sidebar-left .nav-main > li.nav-expanded > a > svg { color: #87c7ff; }

body.adminlte-modern .header .toggle-sidebar-left svg { height: 19px; stroke-width: 2; width: 19px; }
body.adminlte-modern .hc-password-toggle { border-left: 0 !important; height: 46px; min-width: 46px; padding: 0; }

body.adminlte-modern .hc-dashboard-metrics .swiper-wrapper {
	display: block;
	transform: none !important;
}

body.adminlte-modern .hc-dashboard-metrics .swiper-wrapper::before,
body.adminlte-modern .hc-dashboard-metrics .swiper-wrapper::after { clear: both; content: ""; display: table; }

body.adminlte-modern .hc-dashboard-metrics .swiper-slide { height: auto; }
body.adminlte-modern .hc-earnings-chart { min-height: 215px; width: 100%; }

/* Deterministic compact desktop navigation: no hover fly-out drawer. */
@media only screen and (min-width: 1200px) {
	html.sidebar-left-collapsed body.adminlte-modern .header .logo-container {
		flex-basis: var(--hcui-sidebar-compact);
		width: var(--hcui-sidebar-compact);
	}

	html.sidebar-left-collapsed body.adminlte-modern .header .logo.hc-brand { justify-content: center; padding: 0; }
	html.sidebar-left-collapsed body.adminlte-modern .hc-brand-text { display: none; }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left { width: var(--hcui-sidebar-compact); }
	html.sidebar-left-collapsed body.adminlte-modern .content-body { margin-left: var(--hcui-sidebar-compact); }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .sidebar-title { opacity: 0; }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .sidebar-toggle {
		background: rgba(255, 255, 255, 0.08);
		border-left: 0;
		color: #fff !important;
		width: 100%;
	}
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nav-main { padding-left: 9px; padding-right: 9px; }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nav-main li a { justify-content: center; padding: 10px; }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nav-main li a i { flex-basis: 20px; margin: 0; }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nav-main li a span,
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nav-main li.nav-parent > a::after,
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nav-main ul.nav-children { display: none !important; visibility: hidden !important; }
	html.sidebar-left-collapsed body.adminlte-modern .sidebar-left .nano:hover { width: 100% !important; }
}

/* Tablets use an overlay drawer so content never collides with navigation. */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	body.adminlte-modern .header .logo-container { flex: 0 0 76px; width: 76px; }
	body.adminlte-modern .header .logo.hc-brand { justify-content: center; padding: 0; }
	body.adminlte-modern .hc-brand-text { display: none; }
	body.adminlte-modern .header .toggle-sidebar-left { display: flex !important; }
	body.adminlte-modern .sidebar-left { box-shadow: 10px 0 30px rgba(8, 20, 38, 0.22); transform: translateX(-100%); width: 280px; }
	body.adminlte-modern .content-body,
	html.fixed body.adminlte-modern .content-body,
	html.fixed.sidebar-left-collapsed body.adminlte-modern .content-body { margin-left: 0; padding: 22px 20px 36px; }
	html.sidebar-left-opened body.adminlte-modern .sidebar-left { transform: translateX(0); }
	html.sidebar-left-opened body.adminlte-modern .hc-sidebar-backdrop { display: block; }
	body.adminlte-modern .hc-page-header h2 { font-size: 22px; }
}

/* Phones */
@media only screen and (max-width: 767px) {
	body.adminlte-modern { --hcui-header-height: 60px; }
	body.adminlte-modern .header { display: flex; height: 60px; min-height: 60px; }
	body.adminlte-modern .header .logo-container { flex: 0 0 66px; height: 60px; width: 66px; }
	body.adminlte-modern .header .logo.hc-brand { justify-content: center; padding: 0; }
	body.adminlte-modern .header .logo.hc-brand img { height: 36px; width: 36px; }
	body.adminlte-modern .hc-brand-text { display: none; }
	body.adminlte-modern .header .toggle-sidebar-left {
		align-items: center;
		background: #fff;
		border-right: 1px solid var(--hcui-border-soft);
		color: var(--hcui-navy-800);
		border-radius: 0;
		display: flex;
		height: 60px;
		justify-content: center;
		line-height: 60px;
		right: -44px;
		top: 0;
		width: 44px;
		z-index: 3;
	}
	body.adminlte-modern .header .toggle-sidebar-left i { color: var(--hcui-navy-800) !important; }
	body.adminlte-modern .header .header-right { gap: 7px; height: 60px; padding: 0 10px 0 48px; }
	body.adminlte-modern .header .header-right { margin: 0 !important; }
	body.adminlte-modern .header .search.nav-form { margin-left: 0; }
	body.adminlte-modern .header .hc-session-pill { font-size: 0; height: 36px; min-height: 36px; padding: 0; width: 36px; }
	body.adminlte-modern .header .hc-session-pill::before { content: "\f073"; font: normal normal normal 14px/1 FontAwesome; margin: auto; }
	body.adminlte-modern .header .notifications > li .notification-icon { height: 36px; width: 36px; }
	body.adminlte-modern .userbox > a { border: 0; height: 38px; padding: 3px; }
	body.adminlte-modern .userbox .profile-picture { margin: 0; }
	body.adminlte-modern .userbox .profile-info,
	body.adminlte-modern .userbox .custom-caret { display: none; }
	body.adminlte-modern .notification-menu { position: fixed; right: 8px; top: 54px; width: calc(100vw - 16px); }
	body.adminlte-modern .userbox .dropdown-menu { right: 0; }
	body.adminlte-modern .sidebar-left {
		box-shadow: 12px 0 34px rgba(8, 20, 38, 0.3);
		left: 0;
		margin-left: 0 !important;
		min-width: 0;
		padding-bottom: 0;
		padding-top: 0;
		top: 60px;
		transform: translateX(-100%);
		width: 86vw;
		max-width: 300px;
		z-index: 1030 !important;
	}
	html.sidebar-left-opened body.adminlte-modern .sidebar-left { transform: translateX(0); }
	html.sidebar-left-opened body.adminlte-modern .hc-sidebar-backdrop { display: block; top: 60px; }
	body.adminlte-modern .content-body,
	html.fixed body.adminlte-modern .content-body,
	html.fixed.sidebar-left-collapsed body.adminlte-modern .content-body { margin-left: 0; padding: 18px 12px 30px; }
	body.adminlte-modern .hc-page-header,
	html.fixed body.adminlte-modern .hc-page-header { align-items: flex-start; display: block !important; min-height: 0; padding-bottom: 14px; }
	body.adminlte-modern .hc-page-header h2 { font-size: 20px; }
	body.adminlte-modern .hc-page-session { margin-top: 8px; }
	body.adminlte-modern .panel-heading,
	body.adminlte-modern .box-header { align-items: flex-start; flex-wrap: wrap; gap: 8px; padding: 13px 14px; }
	body.adminlte-modern .panel-body,
	body.adminlte-modern .box-body,
	body.adminlte-modern .tab-content,
	body.adminlte-modern .well { padding: 14px; }
	body.adminlte-modern .panel-footer,
	body.adminlte-modern .box-footer { padding: 12px 14px; }
	body.adminlte-modern .form-horizontal .control-label { padding-top: 0; text-align: left; }
	body.adminlte-modern .dataTables_filter,
	body.adminlte-modern .dataTables_length { text-align: left; }
	body.adminlte-modern .dataTables_filter input { margin-left: 0; max-width: none; }
	body.adminlte-modern .btn-group { display: flex; width: 100%; }
	body.adminlte-modern .btn-group > .btn { flex: 1 1 auto; }
	body.adminlte-modern .nav-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 1px; }
	body.adminlte-modern .nav-tabs > li { flex: 0 0 auto; }
	body.adminlte-modern .hc-dashboard-metrics { margin-left: 0; margin-right: 0; overflow: hidden; padding: 0 0 25px; }
	body.adminlte-modern .hc-dashboard-metrics .swiper-wrapper { clear: none; display: flex; transform: translate3d(0, 0, 0); }
	body.adminlte-modern .hc-dashboard-metrics .swiper-slide { float: none; padding-left: 4px; padding-right: 8px; width: 88%; }
	body.adminlte-modern .hc-dashboard-metrics .swiper-pagination { bottom: 2px; }
	body.adminlte-modern .hc-dashboard-metrics .swiper-pagination-bullet-active { background: var(--hcui-blue-700); }
	body.adminlte-modern .widget-summary { gap: 13px; min-height: 84px; }
	body.adminlte-modern .widget-summary .summary .amount { font-size: 30px; }
	body.adminlte-modern .widget-summary .summary .title { font-size: 12px; }
	body.adminlte-modern .widget-summary .summary .info span { font-size: 11px; }
}

/* Login: focused, balanced and usable at every viewport size. */
body.adminlte-modern.hc-auth-body { background: #eef3f8; min-height: 100vh; overflow-x: hidden; }
body.adminlte-modern.hc-auth-body .body-sign,
body.adminlte-modern .hc-auth-page {
	align-items: center;
	background: linear-gradient(145deg, #edf4fb 0, #f7f9fc 55%, #eaf5f2 100%);
	display: flex;
	height: auto;
	margin: 0;
	max-width: none;
	min-height: 100vh;
	padding: 28px;
	width: 100%;
}

body.adminlte-modern .hc-auth-shell {
	background: #fff;
	border: 1px solid #dbe4ee;
	border-radius: 8px;
	box-shadow: 0 20px 52px rgba(25, 42, 70, 0.14);
	display: block;
	margin: auto;
	max-width: 440px;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

body.adminlte-modern .hc-auth-card-wrap,
body.adminlte-modern .center-sign.hc-auth-card-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	max-width: none;
	min-width: 0;
	padding: 38px 40px 34px;
	width: 100%;
}

body.adminlte-modern .hc-auth-card-wrap .errors-container { width: 100%; }
body.adminlte-modern .hc-auth-card-wrap .errors-container:empty { display: none; }
body.adminlte-modern .hc-auth-card { border: 0 !important; box-shadow: none; margin: 0; overflow: visible; width: 100%; }
body.adminlte-modern .hc-auth-brand { margin: 0 0 30px; text-align: center; width: 100%; }
body.adminlte-modern .hc-auth-brand img { display: block; height: 88px; margin: 0 auto 16px; max-width: 180px; object-fit: contain; width: auto; }
body.adminlte-modern .hc-auth-brand h1 { color: var(--hcui-navy-950); font-size: 21px; font-weight: 700; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
body.adminlte-modern .hc-auth-card .panel-title-sign { margin: 0 0 22px !important; position: static; text-align: left !important; }
body.adminlte-modern .hc-auth-card .panel-title-sign .title {
	background: transparent !important;
	border: 0 !important;
	color: var(--hcui-navy-900) !important;
	display: block;
	font-size: 18px;
	padding: 0 !important;
}
body.adminlte-modern .hc-auth-card .panel-body { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
body.adminlte-modern .hc-auth-card-heading { display: none; }
body.adminlte-modern .hc-auth-card .input-lg { font-size: 14px; height: 46px; }
body.adminlte-modern .hc-auth-card .input-group-addon { background: var(--hcui-surface-muted) !important; color: var(--hcui-blue-700) !important; min-width: 46px; }
body.adminlte-modern .hc-auth-card #password + .input-group-addon { display: none; }
body.adminlte-modern .hc-auth-card .btn { min-height: 44px; width: 100%; }
body.adminlte-modern .hc-auth-recovery { margin-top: 20px; }

@media only screen and (max-width: 991px) {
	body.adminlte-modern .hc-auth-card-wrap,
	body.adminlte-modern .center-sign.hc-auth-card-wrap { padding: 30px; }
}

@media only screen and (max-width: 700px) {
	body.adminlte-modern.hc-auth-body .body-sign,
	body.adminlte-modern .hc-auth-page { align-items: flex-start; padding: 18px 12px; }
	body.adminlte-modern .hc-auth-shell { display: block; min-height: 0; width: min(100%, 430px); }
	body.adminlte-modern .hc-auth-card-wrap,
	body.adminlte-modern .center-sign.hc-auth-card-wrap { padding: 26px 20px 22px; }
	body.adminlte-modern .hc-auth-brand img { height: 74px; }
	body.adminlte-modern .hc-auth-card .panel-title-sign { margin-bottom: 20px !important; }
}

@media print {
	body.adminlte-modern .header,
	body.adminlte-modern .sidebar-left,
	body.adminlte-modern .hc-sidebar-backdrop,
	body.adminlte-modern .hc-page-session { display: none !important; }
	body.adminlte-modern .content-body { margin: 0 !important; padding: 0 !important; }
	body.adminlte-modern .panel,
	body.adminlte-modern .box { box-shadow: none !important; }
}
