@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');
/* CSS Variables for Awamiawaaz Theme */
:root {
	/* Palette */
	--palette-01: #1e3a8a;
	--palette-02: #1e3a8a;
	--palette-03: #2563eb;
	--palette-04: #2563eb;
	--palette-05: #424242;
	--palette-06: #1e3a8a;
	--palette-07: #dc2626;
	--palette-08: #2563eb;
	--palette-09: #60a5fa;
	--palette-10: #ffc700;

    --nt-bg: #f6f7fb;
    --nt-surface: #ffffff;
    --nt-surface-2: #f5f7fb;
    --nt-text: var(--palette-06);
    --nt-text-dim: var(--palette-06);
    --nt-primary: var(--palette-01);
	--nt-primary-contrast: #ffffff;
    --nt-accent: var(--palette-02);
    --nt-border: var(--nt-accent);
	--nt-danger: var(--palette-07);
	--nt-success: var(--palette-03);
	--nt-warning: var(--palette-10);
	--nt-radius-xs: 8px;
	--nt-radius-sm: 10px;
	--nt-radius-md: 14px;
	--nt-radius-lg: 16px;
    /* theme tokens */
    --topbar-bg: #ffffff;
    --topbar-text: #0f1115;
    --sidebar-bg: var(--nt-surface);
    --sidebar-text: var(--nt-text);
    --sidebar-overlay: rgba(0,0,0,0);
    --accent:  #2563eb;
    --accent-contrast: #ffffff;
    --input-bg: #ffffff;
    --input-text: #0f1115;
    --input-border: var(--nt-border);
    --nt-font: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Custom Layout */
.nt-topbar, .nt-main, .nt-sidebar, .nt-content { box-sizing: border-box; }

/* Global font: Lato */
html, body { font-family: var(--nt-font) !important; }
button, input, select, textarea { font-family: inherit !important; }

/* Global focus/outline uses theme accent */
:focus, :focus-visible { outline-color: var(--accent); }
/* Rounded focus outline */
.nt-topbar:focus, .nt-sidebar:focus { outline-color: var(--accent); outline-offset: 0; border-radius: 0 !important; }

/* Workspace-based Sidebar Styles */
.nt-nav-section {
	margin-bottom: 16px;
}

.nt-nav-group {
	margin-bottom: 8px;
}

.nt-nav-group.open .nt-sublist {
	display: block;
}

/* Arrow rotation is handled in .nt-nav-head styles above */

.nt-nav-sub-group {
	margin-bottom: 8px;
	border: 1px solid var(--nt-border);
	border-radius: 14px;
	background: rgba(255,255,255,0.02);
	padding: 6px;
}

.nt-nav-sub-group .nt-sublist-2 {
	display: none !important;
	opacity: 0;
	transform: translateY(-6px);
	transition: all 0.2s ease;
}

.nt-nav-sub-group.open .nt-sublist-2 {
	display: block !important;
	opacity: 1;
	transform: translateY(0);
}

/* Arrow rotation handled in .nt-nav-sub-head::after above */

/* Ensure proper indentation for sub-items */
.nt-nav-sub-item-2 {
	padding-left: 12px !important;
	margin-left: 0;
	border-left: none;
	background: transparent;
}

/* Make sure sub-items are visually distinct */
.nt-sublist-2 {
	margin-left: 0;
	padding-left: 0;
}

.nt-sublist-2 .nt-nav-item {
	margin: 6px;
	padding: 10px 12px;
	background: var(--nt-surface-2);
	border: 1px solid var(--nt-border);
	border-radius: 12px;
}
.nt-sublist-2 .nt-nav-item:hover {
	background: var(--nt-surface);
	border-color: var(--nt-primary);
}

.nt-nav-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 9px 14px;
	margin: 2px 6px;
	color: #1f2937;
	text-decoration: none;
	border-radius: 14px;
	border: 1px solid rgba(48,102,251,0.08);
	transition: all 0.2s ease, border-color 0.16s ease, box-shadow 0.16s ease;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08px;
	position: relative;
	min-height: 36px;
	background: transparent;
	overflow: hidden;
}

/* Arrow for nav items with submenus */
.nt-nav-item.has-children::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 10px;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	border: 2px solid  #2563eb;
	border-top-color: transparent;
	border-left-color: transparent;
	transform: rotate(45deg);
	transition: transform 0.25s ease, border-color 0.18s ease, opacity 0.18s ease;
	opacity: 0.85;
}
.nt-nav-item.has-children:hover::after {
	border-color: rgba(48,102,251,0.9);
	border-top-color: transparent;
	border-left-color: transparent;
	opacity: 1;
}
.nt-nav-group.open > .nt-nav-item.has-children::after,
.nt-nav-item.has-children.open::after {
	transform: rotate(135deg);
	opacity: 1;
	border-color: rgba(48,102,251,0.9);
	border-top-color: transparent;
	border-left-color: transparent;
}

.nt-nav-item:hover {
	background: linear-gradient(90deg, rgba(79,70,229,0.10) 0%, rgba(79,70,229,0.04) 100%);
	border-color: rgba(79,70,229,0.18);
	color: #0f172a;
	transform: translateX(2px);
	box-shadow: 0 6px 16px rgba(79,70,229,0.14);
}
.nt-sublist .nt-nav-item {
	margin: 4px 6px;
	padding: 7px 12px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.03);
	font-size: 13px;
	color: #111827;
}
.nt-sublist .nt-nav-item:hover {
	background: #eef2ff;
	border-color: var(--accent);
	color: #0f172a;
	box-shadow: 0 6px 14px rgba(79,70,229,0.12);
	transform: translateX(2px);
}

/* Active highlight */
.nt-nav-item.nt-active {
	background: linear-gradient(90deg, rgba(79,70,229,0.16) 0%, rgba(79,70,229,0.08) 100%);
	color: #0b1324;
	font-weight: 700;
	border-color: rgba(79,70,229,0.28);
	box-shadow: 0 12px 26px rgba(79,70,229,0.22), 0 0 0 1px rgba(79,70,229,0.14);
}
.nt-nav-item.nt-active .nt-icon {
	background: linear-gradient(135deg, #e0e7ff 0%, #d9e0ff 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 3px 12px rgba(79,70,229,0.2);
}
.nt-nav-item.nt-active::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 70%;
	background: linear-gradient(180deg, var(--accent) 0%, #4f46e5 100%);
	border-radius: 0 4px 4px 0;
}
.nt-nav-item.nt-active .nt-icon svg {
	color: #4f46e5;
}

.nt-nav-head {
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #9ca3af;
	padding: 12px 16px 8px 16px;
	margin-top: 8px;
	position: relative;
}

.nt-nav-head::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 12px;
	height: 12px;
	border-radius: 4px;
	border: 2px solid rgba(48,102,251,0.55);
	border-top-color: transparent;
	border-left-color: transparent;
	transition: transform 0.3s ease, border-color 0.2s ease, opacity 0.2s ease;
	opacity: 0.85;
}
.nt-nav-head:hover::after {
	border-color: rgba(48,102,251,0.9);
	border-top-color: transparent;
	border-left-color: transparent;
	opacity: 1;
}
.nt-nav-group.open > .nt-nav-head::after {
	transform: translateY(-50%) rotate(135deg);
	opacity: 1;
	border-color: rgba(48,102,251,0.9);
	border-top-color: transparent;
	border-left-color: transparent;
}

.nt-nav-sub-head {
	font-weight: 600;
	font-size: 13px;
	position: relative;
	padding: 8px 12px 8px 24px;
	border-radius: 10px;
	background: var(--nt-surface-2);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.nt-nav-sub-head .nt-chevron { display: none; }

.nt-nav-sub-head::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	border: 2px solid rgba(48,102,251,0.55);
	border-top-color: transparent;
	border-left-color: transparent;
	transform: rotate(45deg);
	transition: transform 0.3s ease, border-color 0.2s ease, opacity 0.2s ease;
	opacity: 0.85;
	margin-left: auto;
}
.nt-nav-sub-head:hover::after {
	border-color: rgba(48,102,251,0.9);
	border-top-color: transparent;
	border-left-color: transparent;
	opacity: 1;
}
.nt-nav-sub-group.open > .nt-nav-sub-head::after {
	transform: rotate(135deg);
	opacity: 1;
	border-color: rgba(48,102,251,0.9);
	border-top-color: transparent;
	border-left-color: transparent;
}

.nt-nav-sub-head span {
	transition: transform 0.2s ease;
}

.nt-nav-sub-item {
	font-size: 13px;
	padding: 8px 16px 8px 48px;
	color: #6b7280;
	margin: 1px 8px;
	border-radius: 6px;
	transition: all 0.2s ease;
}
.nt-nav-sub-item:hover {
	background: rgba(48,102,251,0.06);
	color: var(--accent);
	padding-left: 52px;
}

.nt-nav-sub-item-2 {
	font-size: 12px;
	padding-left: 12px;
	color: var(--nt-text-dim);
}

.nt-sublist {
	display: none;
	margin-top: 4px;
}

.nt-sublist-2 {
	display: none;
	margin-top: 4px;
}

.nt-nav-item i {
	margin-right: 12px;
	width: 20px;
	height: 20px;
	text-align: center;
	font-size: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #6b7280;
	transition: all 0.2s ease;
}
.nt-nav-item:hover i,
.nt-nav-item.nt-active i {
	color: var(--accent);
}
.nt-icon { 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	width: 18px; 
	height: 18px; 
	margin-right: 10px; 
	color: #111827;
	background: linear-gradient(135deg, #eef2ff 0%, #e3e8ff 100%);
	border-radius: 12px;
	padding: 6px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 1px 4px rgba(79,70,229,0.12);
}
.nt-icon svg { 
	width: 16px; 
	height: 16px; 
	color: inherit;
	transition: all 0.2s ease;
}
.nt-nav-item:hover .nt-icon {
	background: #e7e9ff;
	color: #4338ca;
}
.nt-nav-item.nt-active .nt-icon {
	background: #e2e6ff;
	color: #4338ca;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 4px 12px rgba(79,70,229,0.2);
}
.nt-nav-item:hover .nt-icon svg,
.nt-nav-item.nt-active .nt-icon svg {
	color: var(--accent);
}

/* Theme Customizer (floating gear + right drawer) */
#nt-theme-gear { display: none !important; }

#nt-theme-drawer { position: fixed; right: 0; top: 0; bottom: 0; width: 380px; max-width: 90vw; background: var(--nt-surface); border-left: 1px solid var(--nt-border); transform: translateX(100%); transition: transform .22s ease; z-index: 1300; display: flex; flex-direction: column; box-shadow: -12px 0 30px rgba(0,0,0,.15); }
#nt-theme-drawer.open { transform: translateX(0); }
#nt-theme-drawer .nt-header { display:flex; align-items:center; justify-content: space-between; padding:12px; background:#1f2937; color:#fff; }
#nt-theme-drawer .nt-header button { background: transparent; border: 0; color: #fff; font-size: 16px; cursor: pointer; }
#nt-theme-drawer .nt-body { padding: 12px; overflow:auto; }
.nt-swatches { display:flex; gap:10px; flex-wrap:wrap; }
.nt-swatch { width: 30px; height: 30px; border-radius: 10px; border: 1px solid var(--nt-border); cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,0.06); transition: transform .12s ease, box-shadow .12s ease; }
.nt-swatch:hover { transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0,0,0,0.10); }
.nt-swatch[aria-checked="true"] { outline: 2px solid var(--accent); outline-offset: 2px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent); }

/* Accordion styling (similar to provided UI) */
.nt-accordion { display:block; }
.nt-acc-item { border:1px solid var(--nt-border); border-radius:14px; margin-bottom:12px; padding:10px 12px; background: var(--nt-surface); box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.nt-acc-head { display:flex; width:100%; align-items:center; justify-content:space-between; background:transparent; border:0; font-size:15px; font-weight:700; padding:8px 0; cursor:pointer; letter-spacing:.2px; }
.nt-acc-body { border-top:1px solid var(--nt-border); padding:12px 0; }
.nt-row { display:flex; gap:8px; flex-wrap:wrap; }
.nt-pill { padding:8px 12px; border-radius:999px; background: var(--nt-surface-2); border:1px solid var(--nt-border); cursor:pointer; }
.nt-actions-row { display:flex; gap:8px; margin-top:12px; }
.nt-sidebg img { width:60px; height:40px; object-fit:cover; border-radius:8px; cursor:pointer; margin:4px; }
.nt-topbar {
    position: fixed; top: 0; left: 0; right: 0; height: 56px;
    background: rgba(255,255,255,0.95);
    color: var(--topbar-text);
	backdrop-filter: blur(20px) saturate(180%);
    display: grid; grid-template-columns: 20% 20% 38% 8% 4% 4% 4%; align-items: center; column-gap: 0; padding: 0; z-index: 1000;
    border-radius: 0 !important;
}
.nt-breadcrumbs { display: none; }

/* Sidebar tools */
.nt-sidebar-tools { 
	padding: 8px; 
	position: sticky; 
	top: 0; 
	left: 0; 
	right: 0; 
	width: 100%; 
	background: #2563eb; 
	color: #ffffff; 
	z-index: 5; 
	backdrop-filter: blur(10px); 
	border: 1px solid rgba(255,255,255,0.16);
	border-bottom: none; 
	margin: 0; 
	border-radius: 0; 
	box-sizing: border-box;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--palette-01) 30%, transparent);
}
.nt-sidebar-tools-head { display: flex; flex-direction: column; gap: 1px; margin-bottom: 4px; }
.nt-sidebar-title { font-size: 12px; font-weight: 700; letter-spacing: 0.1px; }
.nt-sidebar-subtitle { font-size: 10px; opacity: 0.9; color: rgba(255,255,255,0.9); }
.nt-sidebar-tools-row { display: flex; gap: 6px; align-items: center; }
.nt-sidebar-tools-row.buttons { justify-content: space-between; margin-top: 6px; gap: 6px; }
.nt-sidebar-hint {
	margin-top: 4px;
	font-size: 9px;
	color: rgba(255,255,255,0.7);
	letter-spacing: 0.06px;
}
.nt-search-wrap { 
	width: 100%; 
	border: 1px solid rgba(255,255,255,0.26); 
	border-radius: 0; 
	background: rgba(255,255,255,0.14); 
	padding: 4px 7px; 
	transition: all 0.2s ease; 
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}
.nt-search-wrap:focus-within { 
	background: rgba(255,255,255,0.22); 
	border-color: rgba(255,255,255,0.55); 
	box-shadow: 0 5px 16px rgba(0,0,0,0.12); 
}
.nt-search-icon { 
	width: 12px; 
	height: 12px; 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	color: rgba(255,255,255,0.9); 
}
.nt-search-icon svg { width: 12px; height: 12px; display: block; }
.nt-search-clear { 
	border: none; 
	background: none; 
	color: rgba(255,255,255,0.8); 
	cursor: pointer; 
	opacity: 0; 
	transition: opacity 0.15s ease; 
	padding: 0 1px; 
	line-height: 1; 
}
.nt-search-clear svg { width: 12px; height: 12px; display: block; }
.nt-search-clear.visible { opacity: 1; }
.nt-sidebar-search { 
	height: 28px; 
	font-size: 12px; 
	background: transparent; 
	color: #0f172a; 
	border: none; 
	width: 100%; 
	border-radius: 0;
	padding: 0 5px;
	transition: none;
}
.nt-sidebar-search:focus {
	outline: none;
}
.nt-sidebar-search::placeholder {
	color:  #2563eb;
	font-weight: 500;
}
.nt-sidebar-tools .nt-input:not(.nt-sidebar-search) { 
	background: rgba(255,255,255,0.95); 
	color: #1f2937; 
	border-color: rgba(255,255,255,0.3); 
}
.nt-sidebar-tools .nt-btn { 
	border-radius: 0; 
	font-weight: 700;
	letter-spacing: 0.2px;
}
.nt-sidebar-tools-row.buttons .nt-btn { 
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 6px 8px; 
	font-size: 11px; 
	background: #2563eb; 
	color: #ffffff; 
	border: 1px solid rgba(255,255,255,0.3); 
	transition: all 0.2s ease;
	backdrop-filter: blur(10px);
	box-shadow: 0 8px 18px color-mix(in srgb, var(--palette-01) 25%, transparent);
	border-radius: 0;
}
.nt-sidebar-tools-row.buttons .nt-btn:hover { 
	background: rgba(255,255,255,0.26); 
	border-color: rgba(255,255,255,0.45);
	transform: translateY(-0.5px);
	box-shadow: 0 14px 28px rgba(79,70,229,0.22);
}
.nt-sidebar-tools-row.buttons .nt-btn:active { 
	transform: translateY(0);
	box-shadow: 0 6px 14px  #2563eb;
}
.nt-btn-icon { 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	width: 14px; 
	height: 14px; 
	color: inherit; 
}
.nt-btn-icon svg { width: 14px; height: 14px; display: block; }
.nt-btn.nt-btn-xs { 
	padding: 6px 12px; 
	font-size: 12px; 
	font-weight: 600;
	border-radius: 100%; 
	background: rgba(255,255,255,0.2); 
	color: #ffffff; 
	border: 1px solid rgba(255,255,255,0.3); 
	transition: all 0.2s ease;
	backdrop-filter: blur(10px);
}
.nt-btn.nt-btn-xs:hover { 
	background: rgba(255,255,255,0.3); 
	border-color: rgba(255,255,255,0.4);
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.nt-brand { display: flex; align-items: center; gap: 8px; font-weight: 800; letter-spacing: .4px; }
#nt-logo { width: 80px; height: 60px; border-radius: 4px; object-fit: contain; }
.nt-brand-text { margin-left: 6px; display: none !important; }
.nt-brand-logo { height: 36px; width: 36px; object-fit: contain; border-radius: 4px; }
.nt-env { font-size: 11px; color: var(--nt-text-dim); padding: 2px 6px; border: 1px solid rgba(255,255,255,0.08); border-radius: 999px; margin-left: 6px; }
.nt-status { width: 8px; height: 8px; border-radius: 999px; background: #00d084; display: inline-block; margin-left: 6px; box-shadow: 0 0 0 2px rgba(0,208,132,0.25); }
.nt-search { width: 100%; max-width: 360px; margin: 0; }
.nt-input { width: 100%; background: var(--input-bg); color: var(--input-text); border: 1px solid var(--input-border); border-radius: var(--nt-radius-sm); padding: 6px 10px; height: 30px; }
.nt-select { width: auto; padding-right: 28px; }
.nt-actions { display: contents; }
#nt-addnew { grid-column: 4; justify-self: end; margin: 0; }
#nt-addnew-btn { background: var(--accent); color: var(--accent-contrast); border-color: transparent; }
#nt-addnew-btn:hover { filter: brightness(0.95); }
#nt-fullscreen { grid-column: 5; justify-self: end; margin: 0; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--nt-border); border-radius: 8px; background: #ffffff; }
#nt-fullscreen svg { width: 20px; height: 20px; display: block; }
#nt-notify { grid-column: 6; justify-self: end; display: inline-block !important; margin: 0; }
#nt-bell { font-size: 16px; line-height: 1; color: var(--topbar-text); display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--nt-border); border-radius: 8px; background: #ffffff; }
#nt-bell svg { width: 20px; height: 20px; display: block; }
#nt-notify { visibility: visible !important; }
#nt-notify .nt-menu { right: 0; left: auto; top: 38px; }
#nt-width { display: none !important; }
.nt-brand { grid-column: 1; }
.nt-search { grid-column: 2; }
#nt-spacer { display: none; }
.nt-actions #nt-user { grid-column: 7; justify-self: end; display: inline-block !important; margin-left: 0; margin-right: 0; }
#nt-profile { display: inline-flex; align-items: center; justify-content: center; margin-left: 0; margin-right: 0; }
#nt-profile-btn { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--nt-border); border-radius:8px; background:#ffffff; color:#000000; }
.nt-btn { background: var(--nt-surface-2); border: 1px solid var(--nt-border); border-radius: var(--nt-radius-sm); padding: 6px 10px; cursor: pointer; clip-path: none; }
.nt-btn:active { transform: translateY(1px); }
.nt-dropdown { position: relative; }
.nt-menu { display: none; position: absolute; right: 0; top: 36px; background: var(--nt-surface); border: 1px solid var(--nt-border); border-radius: var(--nt-radius-sm); min-width: 260px; padding: 8px; z-index: 1001; }
.nt-menu.nt-open { display: block; }
.nt-menu-lg { min-width: 420px; max-height: 70vh; overflow: auto; }
.nt-mega { min-width: 560px; }

/* Topbar layout refresh */
.nt-topbar {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	height: 64px;
	padding: 12px 18px;
	border: 0.5px solid #2563eb;
	border-bottom: 0.5px solid #2563eb;
	backdrop-filter: blur(14px) saturate(180%);
	background: linear-gradient(135deg, #f9fbff 0%, #eef3ff 100%);
}
.nt-brand { display: inline-flex; align-items: center; gap: 8px; }
.nt-search { width: 100%; max-width: 520px; margin: 0; }
.nt-topbar .nt-search { flex: 1; }
.nt-actions { display: inline-flex; align-items: center; gap: 12px; }

/* Topbar search input */
.nt-topbar .nt-input {
	height: 40px;
	padding: 10px 14px;
	border-radius: 14px;
	border: 1px solid #2563eb;
	background: #ffffff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.nt-topbar .nt-input:focus {
	border-color: #2563eb;
	box-shadow: 0 0 0 3px #2563eb, 0 10px 24px #2563eb;
}

/* Primary add button */
#nt-addnew-btn {
	border-radius: 14px;
	height: 40px;
	padding: 0 18px;
	font-weight: 700;
	background: linear-gradient(135deg, #2563eb 0%, #2563eb 100%);
	color: #ffffff;
	border: 1px solid rgba(37,99,235,0.1);
	box-shadow: 0 10px 24px rgba(37,99,235,0.25);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
#nt-addnew-btn:hover { filter: brightness(1.05); }
#nt-addnew { margin: 0; }

/* Topbar actions alignment */
.nt-actions {
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
}

/* Icon buttons */
#nt-fullscreen, #nt-bell, #nt-profile-btn {
	width: 38px; height: 38px;
	border-radius: 12px;
	border: 1px solid rgba(48,102,251,0.18);
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(48,102,251,0.10);
	transition: all 0.15s ease;
}
#nt-fullscreen:hover, #nt-bell:hover, #nt-profile-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(48,102,251,0.14);
}

/* List view facelift */
body .list-view-container {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: 0 10px 24px rgba(15,23,42,0.06);
	padding: 8px 8px 2px;
}
body .list-row-head {
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 10px 14px;
	margin: 0 0 6px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}
body .list-row-container {
	border: 1px solid #e7e9ef;
	border-radius: 12px;
	margin-bottom: 6px;
	transition: box-shadow 0.16s ease, border-color 0.16s ease, transform 0.12s ease;
}
body .list-row {
	padding: 10px 14px;
}
body .list-row-container:hover {
	border-color: #cdd4e3;
	box-shadow: 0 12px 26px rgba(15,23,42,0.08);
	transform: translateY(-1px);
}
body .list-row-container:active {
	transform: translateY(0);
	box-shadow: 0 8px 18px rgba(15,23,42,0.07);
}
body .listview-left-toolbar .btn,
body .listview-right-toolbar .btn {
	border-radius: 10px;
	border: 1px solid #d8dce6;
	background: #ffffff;
	color: #0f172a;
	font-weight: 600;
	padding: 6px 10px;
	box-shadow: 0 6px 14px rgba(15,23,42,0.06);
	transition: all 0.12s ease;
}
body .listview-left-toolbar .btn:hover,
body .listview-right-toolbar .btn:hover {
	border-color: #bfc6d8;
	box-shadow: 0 10px 20px rgba(15,23,42,0.08);
	transform: translateY(-1px);
}
body .listview-left-toolbar .btn:active,
body .listview-right-toolbar .btn:active {
	transform: translateY(0);
	box-shadow: 0 6px 12px rgba(15,23,42,0.07);
}
body .list-row-head .level-item,
body .list-row .level-item {
	color: #1f2937;
	font-weight: 600;
}
body .list-row .list-row-ellipsis {
	color: #2563eb;
}
body .filter-chip,
body .tag-filters .btn {
	border-radius: 10px !important;
}
.nt-item { padding: 8px 10px; border-radius: 8px; cursor: pointer; color: var(--nt-text); text-decoration: none; display: block; }
.nt-item:hover { background: var(--nt-surface-2); }
.nt-item .nt-item-sub { color: var(--nt-text-dim); font-size: 12px; }
.nt-sep { border-top: 1px solid var(--nt-border); margin: 6px 0; }
.nt-badge { display: inline-block; margin-left: 4px; background: var(--nt-danger); color: white; border-radius: 999px; padding: 0 6px; min-width: 16px; height: 16px; line-height: 16px; text-align: center; font-weight: 700; font-size: 10px; vertical-align: top; }
.nt-topbar { --topbar-text: #2563eb; }
.nt-topbar .nt-btn, .nt-topbar .nt-brand-text { color: #2563eb; }
.nt-topbar .nt-btn svg { color: #2563eb; fill: currentColor; stroke: currentColor; }
.nt-breadcrumbs { color: var(--nt-text-dim); font-size: 12px; }
.nt-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; display: block; }

/* Add New Mega Grid */
.nt-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.nt-grid-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 10px; border: 1px solid var(--nt-border); border-radius: 12px; background: var(--nt-surface-2); cursor: pointer; }
.nt-grid-item:hover { background: var(--nt-surface); }
.nt-grid-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: var(--nt-primary); color: var(--nt-primary-contrast); font-size: 12px; font-weight: 700; }
.nt-pos { background: #111827; border-color: rgba(255,255,255,0.08); }

/* Favorites (Pins) Bar */
.nt-favbar, .nt-recents, .nt-fav, .nt-star { display: none !important; }

/* Recents */
.nt-chip { display: none !important; }

/* Split List + Form */
.nt-split { display: grid; grid-template-columns: 1fr 640px; gap: 12px; }
.nt-split .nt-split-detail { background: var(--nt-surface); border: 1px solid var(--nt-border); border-radius: var(--nt-radius-lg); overflow: hidden; }
.nt-split .nt-split-detail iframe { width: 100%; height: calc(100vh - 160px); border: 0; background: var(--nt-bg); }

/* Density */
body.nt-density-compact .nt-main { gap: 8px; padding: 56px 0 8px 0; }
body.nt-density-compact .nt-sidebar { padding: 6px; }
body.nt-density-compact .nt-input, body.nt-density-compact .btn, body.nt-density-compact .form-control { padding: 6px 8px; }
body.nt-density-touch .nt-main { gap: 20px; padding: 56px 0 20px 0; }
body.nt-density-touch .nt-input, body.nt-density-touch .btn, body.nt-density-touch .form-control { padding: 12px 16px; }

.nt-main { display: grid; grid-template-columns: 260px 1fr; gap: 0; padding: 56px 0 16px 0; }
.nt-sidebar { 
	position: sticky; 
	top: 56px; 
	height: calc(100vh - 72px); 
	padding: 0; 
	background: linear-gradient(180deg, #f9fbff 0%, #f2f6ff 100%); 
	color: var(--sidebar-text); 
	border-right: 1px solid rgba(48,102,251,0.08); 
	border-radius: 18px !important; 
	overflow-y: auto; 
	overflow-x: hidden; 
	scrollbar-width: thin; 
	scrollbar-color: rgba(0,0,0,0.15) transparent;
	box-shadow: 4px 0 16px rgba(48,102,251,0.06);
}
.nt-sidebar .nt-nav-item { color: var(--sidebar-text); }
.standard-sidebar, .desk-sidebar, .sidebar-section { background: var(--sidebar-bg) !important; color: var(--sidebar-text) !important; }
.standard-sidebar a, .desk-sidebar a, .standard-sidebar .standard-sidebar-item { color: var(--sidebar-text) !important; }
.standard-sidebar svg, .desk-sidebar svg, .nt-sidebar svg { fill: var(--sidebar-text) !important; stroke: var(--sidebar-text) !important; }
.nt-content { min-height: calc(100vh - 120px); padding: 0; background: #F2F2F2; }
/* Sidebar: improved styling for menu blocks */
.nt-sidebar .nt-nav-sub-group,
.nt-sidebar .nt-nav-card,
.nt-sidebar .nt-sublist-2 .nt-nav-item,
.nt-sidebar .nt-nav-sub-head {
	background: transparent !important;
	color: var(--sidebar-text) !important;
	border: none !important;
	box-shadow: none !important;
}
.nt-sidebar .nt-nav-card {
	background: rgba(255,255,255,0.6) !important;
	border: 1px solid rgba(0,0,0,0.06) !important;
	border-radius: 14px !important;
	margin: 6px 8px !important;
	padding: 12px !important;
	transition: all 0.2s ease;
}
.nt-sidebar .nt-nav-card:hover {
	background: rgba(255,255,255,0.9) !important;
	border-color: var(--accent) !important;
	box-shadow: 0 2px 8px rgba(48,102,251,0.1) !important;
	transform: translateY(-1px);
}
/* workspace dropdown */
.nt-nav-group { margin: 6px 0; padding: 2px 2px 4px; }
.nt-sublist { display: none; padding-left: 0; margin-top: 2px; gap: 2px; }
.nt-nav-group.open .nt-sublist { display: block; }

/* workspace cards */
.nt-nav-card {
	background: var(--nt-surface-2);
	border: 1px solid var(--nt-border);
	border-radius: 14px;
	margin: 4px 0;
	padding: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
}
.nt-nav-card:hover {
	background: var(--nt-surface);
	border-color: var(--nt-primary);
}
.nt-card-header {
	font-weight: 600;
	font-size: 13px;
	color: var(--nt-text);
	margin-bottom: 4px;
}
.nt-card-content {
	font-size: 11px;
	color: var(--nt-text-dim);
}

/* Custom scrollbar for sidebar */
.nt-sidebar::-webkit-scrollbar { width: 6px; height: 6px; }
.nt-sidebar::-webkit-scrollbar-track {
	background: transparent;
	margin: 8px 0;
}
.nt-sidebar::-webkit-scrollbar-thumb { 
	background: rgba(0,0,0,0.15); 
	border-radius: 10px; 
	border: 1px solid transparent;
	background-clip: padding-box;
}
.nt-sidebar:hover::-webkit-scrollbar-thumb { 
	background: rgba(0,0,0,0.25); 
}
/* nav row with actions */
.nt-nav-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.nt-nav-actions .nt-btn { padding: 2px 6px; font-size: 12px; margin-left: 4px; }

/* Collapsed nav */
.nt-sidebar.nt-collapsed { width: 64px; padding: 8px 6px; }
.nt-main.nt-sidebar-collapsed { grid-template-columns: 64px 1fr; }
.nt-sidebar.nt-collapsed .nt-nav-item { position: relative; text-indent: -9999px; padding: 10px; }
.nt-sidebar.nt-collapsed .nt-nav-item::after { content: attr(data-short); text-indent: 0; position: absolute; left: 10px; right: 10px; text-align: center; font-weight: 700; letter-spacing: .4px; }

/* Layout Variants */
/* Left Sidebar (default) */
#nt-root[data-layout="left sidebar"] .nt-main { grid-template-columns: 260px 1fr; }
#nt-root[data-layout="left sidebar"] .nt-content { width: 100%; }

/* Right Sidebar */
#nt-root[data-layout="right sidebar"] .nt-main { grid-template-columns: 1fr 240px; }
#nt-root[data-layout="right sidebar"] .nt-main { direction: rtl; }
#nt-root[data-layout="right sidebar"] .nt-main * { direction: ltr; }

/* Top Tabs */
#nt-root[data-layout="top tabs"] .nt-main { grid-template-columns: 1fr; }
#nt-root[data-layout="top tabs"] .nt-sidebar { display: none; }
#nt-root[data-layout="top tabs"] .nt-topbar { height: 80px; flex-wrap: wrap; align-content: center; }
#nt-root[data-layout="top tabs"] .nt-topbar .nt-actions { order: 2; }
#nt-root[data-layout="top tabs"] .nt-topbar:after { content: ""; display: block; width: 100%; }
#nt-root[data-layout="top tabs"] #nt-nav { display: flex; gap: 8px; padding: 8px 0; }
#nt-root[data-layout="top tabs"] .nt-nav-item { display: inline-flex; }

/* Minimal Topbar */
#nt-root[data-layout="minimal topbar"] .nt-main { grid-template-columns: 1fr; }
#nt-root[data-layout="minimal topbar"] .nt-sidebar { display: none; }
#nt-root[data-layout="minimal topbar"] .nt-topbar { height: 56px; justify-content: space-between; }

/* Docked Sidebar */
#nt-root[data-layout="docked sidebar"] .nt-sidebar { position: fixed; left: 0; top: 56px; bottom: 16px; width: 260px; border-radius: 0 !important; }
#nt-root[data-layout="docked sidebar"] .nt-main { grid-template-columns: 1fr; padding-left: 272px; }

/* Compact */
#nt-root[data-layout="compact"] .nt-main { grid-template-columns: 220px 1fr; gap: 0; padding: 56px 8px 8px 0; }
#nt-root[data-layout="compact"] .nt-sidebar { border-radius: var(--nt-radius-sm); }
#nt-root[data-layout="compact"] .btn, #nt-root[data-layout="compact"] .form-control { border-radius: var(--nt-radius-xs) !important; }

/* Bottom Dock */
#nt-root[data-layout="bottom dock"] .nt-main { grid-template-columns: 1fr; }
#nt-root[data-layout="bottom dock"] .nt-sidebar { display: none; }
#nt-root[data-layout="bottom dock"] .nt-dock { position: fixed; left: 0; right: 0; bottom: 0; height: 58px; background: rgba(21,25,34,0.9); backdrop-filter: blur(8px); border-top: 1px solid rgba(255,255,255,0.06); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; padding: 8px; z-index: 1000; }
#nt-root[data-layout="bottom dock"] .nt-dock .nt-dock-item { display: flex; align-items: center; justify-content: center; color: var(--nt-text); border-radius: 10px; }
#nt-root[data-layout="bottom dock"] .nt-dock .nt-dock-item:hover { background: var(--nt-surface-2); }

/* Content Width */
body.nt-width-wide .nt-content { max-width: 1440px; margin: 0 auto; width: 100%; }
body.nt-width-medium .nt-content { max-width: 1200px; margin: 0 auto; width: 100%; }
body.nt-width-narrow .nt-content { max-width: 980px; margin: 0 auto; width: 100%; }

/* Desk Base */
body, .desk-container {
	background: var(--nt-bg) !important;
	color: var(--nt-text) !important;
}

/* Inputs and form controls -> light background */
.form-control, .control-input, .awesomplete > input, .frappe-control input, .frappe-control .input-with-feedback, .frappe-control textarea { background: var(--input-bg) !important; color: var(--input-text) !important; border-color: var(--input-border) !important; }
.page-container input, .page-container select, .page-container textarea { background: var(--input-bg) !important; color: var(--input-text) !important; border-color: var(--input-border) !important; }
.page-container .awesomplete > input { background: var(--input-bg) !important; }
.page-container input:not([type="checkbox"]):not([type="radio"]),
.page-container select,
.page-container textarea,
.form-control,
.btn,
.control-input,
.frappe-control input,
.frappe-control textarea,
.input-with-feedback {
	border-radius: 999px !important;
}

/* Accent headings */
.page-title, .title-text, .list-row-head .bold { 
	color: var(--accent) !important; 
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}
.page-title {
	font-size: 24px !important;
	margin-bottom: 8px !important;
}
.frappe-control input::placeholder, .frappe-control textarea::placeholder { color: #6b7280 !important; }

/* Topbar/Header */
/* Hide default Frappe navbar completely */
.navbar, .navbar.navbar-expand { display: none !important; height: 0 !important; overflow: hidden !important; }

/* Sidebar */
.layout-side-section, .desk-sidebar, .sidebar-section {
    background: var(--nt-surface) !important;
    border-right: 1px solid var(--nt-border) !important;
}

/* Globally expand main content and hide side section when present */
.layout-side-section { display: none !important; }
.layout-main-section[class*="col-"],
.layout-main-section.col-lg-10,
.layout-main-section {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Expand page containers to full width across desk */
.page-container,
.container.page-body,
.page-content,
.desk-container {
    max-width: 100% !important;
    width: 100% !important;
}

/* Light gray backgrounds for main containers */
.page-container, .list-container, .layout-main-section {
    background: #F2F2F2 !important;
}

.standard-sidebar .standard-sidebar-item {
	border-radius: var(--nt-radius-sm);
}

.standard-sidebar .standard-sidebar-item:hover,
.standard-sidebar .standard-sidebar-item.selected {
	background: var(--nt-surface-2) !important;
}

/* Buttons */
.btn {
	border-radius: var(--nt-radius-md) !important;
	border: 1px solid transparent !important;
	transition: all 0.3s ease !important;
	font-weight: 600 !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.08) !important;
}
.btn:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
.btn:active {
	transform: translateY(0) !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}
.btn-primary {
    background: linear-gradient(135deg, var(--accent) 0%, #2563eb 100%) !important;
    color: var(--accent-contrast) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 4px 12px rgba(48,102,251,0.3) !important;
}
.btn-primary:hover {
	background: linear-gradient(135deg, #2563eb 0%, var(--accent) 100%) !important;
	box-shadow: 0 6px 20px rgba(48,102,251,0.4) !important;
}
.btn-outline-primary {
    border-color: var(--accent) !important;
    color: var(--accent) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: var(--accent) !important;
    color: var(--accent-contrast) !important;
    box-shadow: 0 4px 12px rgba(48,102,251,0.25) !important;
}

/* Cards/Surfaces */
.form-dashboard-section, .widget, .frappe-card, .list-row-container, .awesomplete, .modal-content {
    background: var(--nt-surface) !important;
    border-radius: var(--nt-radius-lg) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    transition: all 0.3s ease !important;
}
.frappe-card:hover,
.widget:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
	transform: translateY(-2px);
}
.modal-content {
	box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
	border: none !important;
}

/* List View */
.list-sidebar .sidebar-section, .page-content, .list-row { background: transparent !important; }
.list-row, .list-row-head, .list-row-container, .list-row-border { border: none !important; box-shadow: none !important; }
.list-row {
	transition: all 0.2s ease !important;
	border-radius: 6px !important;
	margin: 2px 0 !important;
}
.list-row:hover { 
	background: linear-gradient(90deg, rgba(48,102,251,0.06) 0%, rgba(48,102,251,0.02) 100%) !important;
	transform: translateX(4px);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.frappe-list .result, .frappe-list .list-row-container { border: none !important; }
.frappe-list { border: none !important; }

/* Ensure checkboxes show tick properly and match theme */
input[type="checkbox"],
.list-row-checkbox {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	background-image: none !important;
	outline: none !important;
}
input[type="checkbox"]:checked {
	accent-color: var(--accent);
}

/* Circle with check (outlined) for list view checkboxes */
input.list-row-checkbox {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 16px; height: 16px;
	border: 2px solid var(--accent);
	border-radius: 50%;
	background: #fff;
	display: inline-grid; place-items: center;
}
input.list-row-checkbox:checked::after {
	content: "✓";
	color: var(--accent);
	font-size: 12px; line-height: 1;
}
/* Hide built-in list sidebar toggle button */
.sidebar-toggle-btn { display: none !important; }

/* Remove custom list overrides to keep Frappe defaults */

/* Fields */
.form-control, .control-input, .awesomplete > input {
    background: var(--input-bg) !important;
    border-radius: var(--nt-radius-sm) !important;
    border: 1px solid #e5e7eb !important;
    color: var(--input-text) !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}
.form-control:hover,
.control-input:hover,
.awesomplete > input:hover {
	border-color: #d1d5db !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.08) !important;
}
/* Remove default blue focus ring and use theme accent instead */
.form-control:focus,
.control-input:focus,
.awesomplete > input:focus,
.frappe-control input:focus,
.frappe-control .input-with-feedback:focus,
.frappe-control textarea:focus {
    outline: none !important;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(48,102,251,0.1), 0 2px 8px rgba(48,102,251,0.15) !important;
}

/* Form View Overhaul */
body.nt-form .form-dashboard { display: none !important; }
body.nt-form .layout-main-section, body.nt-form .section-body { background: transparent !important; }
body.nt-form .frappe-card, body.nt-form .form-section, body.nt-form .form-column { 
	background: #ffffff !important; 
	border: 1px solid #e5e7eb !important; 
	border-radius: 12px !important; 
	padding: 14px !important; 
	box-shadow: 0 12px 26px rgba(15,23,42,0.07) !important;
}
body.nt-form .form-tabs-list { background: transparent !important; color: #0f172a !important; border-radius: 12px; padding: 6px 0; border: none; gap: 8px; }
body.nt-form .form-tabs-list .nav-item .nav-link { 
	background: #ffffff !important; 
	color: #1f2937 !important; 
	border-radius: 12px !important; 
	border: 1px solid #d9e2f3 !important; 
	box-shadow: 0 2px 8px rgba(15,23,42,0.05); 
	font-weight: 700 !important;
	transition: all 0.16s ease !important;
}
body.nt-form .form-tabs-list .nav-item .nav-link:hover { 
	border-color: var(--accent) !important; 
	box-shadow: 0 6px 14px rgba(15,23,42,0.08) !important; 
	transform: translateY(-1px);
}
body.nt-form .form-tabs-list .nav-item .nav-link.active { 
	border-color: var(--accent) !important; 
	color: var(--accent) !important; 
	background: #eef2ff !important; 
	box-shadow: 0 8px 18px rgba(79,70,229,0.14) !important; 
}
body.nt-form .form-tabs-list .nav-item .nav-link:active,
.nav.form-tabs .nav-link:active {
    background: color-mix(in srgb, var(--accent) 40%, transparent) !important;
}
.nav.form-tabs { background: transparent !important; color: #0f172a !important; border-radius: 12px; padding: 6px 0; border: none; }
.nav.form-tabs .nav-link { background: #ffffff !important; color: #0f172a !important; border-radius: 10px !important; border: 1px solid #d9e2f3 !important; box-shadow: 0 2px 8px rgba(15,23,42,0.05); }
/* Press feedback: reduce opacity to 40% while clicking */
body.nt-form .form-tabs-list .nav-item .nav-link:active,
.nav.form-tabs .nav-link:active {
    background: color-mix(in srgb, var(--accent) 40%, transparent) !important;
}

/* Form toolbar buttons */
.page-head .btn {
	border-radius: 10px !important;
	border: 1px solid #d8dce6 !important;
	background: #ffffff !important;
	color: #0f172a !important;
	font-weight: 600 !important;
	box-shadow: 0 6px 14px rgba(15,23,42,0.06) !important;
	transition: all 0.14s ease !important;
}
.page-head .btn-primary {
	background: linear-gradient(135deg, var(--palette-02) 0%, var(--palette-01) 100%) !important;
	color: #ffffff !important;
	border-color: var(--palette-01) !important;
	box-shadow: 0 10px 20px color-mix(in srgb, var(--palette-01) 30%, transparent) !important;
}
.page-head .btn:hover {
	border-color: #bfc6d8 !important;
	box-shadow: 0 10px 20px rgba(15,23,42,0.08) !important;
	transform: translateY(-1px);
}
.page-head .btn:active {
	transform: translateY(0);
	box-shadow: 0 6px 12px rgba(15,23,42,0.07) !important;
}
/* --- List View: elevated cards --- */
body .frappe-list {
	border: none !important;
	background: transparent !important;
}
body .frappe-list .list-row-head {
	background: #f8fafc !important;
	border: 1px solid #e4e7ee !important;
	border-radius: 12px !important;
	padding: 10px 14px !important;
	margin: 0 0 8px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.7) !important;
	position: sticky !important;
	top: 72px !important;
	z-index: 10;
}
body .frappe-list .list-row-container {
	background: #ffffff !important;
	border: 1px solid #e4e7ee !important;
	border-radius: 12px !important;
	margin-bottom: 8px !important;
	box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
	transition: box-shadow 0.16s ease, border-color 0.16s ease, transform 0.12s ease !important;
}
body .frappe-list .list-row {
	padding: 10px 14px !important;
	border-radius: 12px !important;
}
body .frappe-list .list-row-container:hover {
	border-color: #cdd4e3 !important;
	box-shadow: 0 14px 28px rgba(15,23,42,0.08) !important;
	transform: translateY(-1px) !important;
}
body .frappe-list .list-row-container:nth-child(even) {
	background: #fafbff !important;
}
body .frappe-list .list-row-container:active {
	transform: translateY(0) !important;
	box-shadow: 0 10px 20px rgba(15,23,42,0.07) !important;
}
body .frappe-list .level-item {
	color: #111827 !important;
	font-weight: 600 !important;
}
body .frappe-list .list-row-ellipsis {
	color: #4b5563 !important;
}
body .frappe-list .list-header-subject,
body .frappe-list .list-subject {
	font-weight: 700 !important;
	color: #0f172a !important;
}
body .frappe-list .list-row-checkbox {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid #94a3b8 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	display: inline-grid !important;
	place-items: center !important;
	box-shadow: 0 1px 3px rgba(15,23,42,0.08) inset !important;
}
body .frappe-list .list-row-checkbox:checked {
	border-color: var(--accent) !important;
	background: var(--accent) !important;
}
body .frappe-list .list-row-checkbox:checked::after {
	content: "✓" !important;
	color: #ffffff !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

/* Report/datatable scroll region and sticky header */
.dt-scrollable {
	max-height: none !important;
	overflow-y: visible !important;
}
.dt-header {
	top: 72px !important;
	background: #ffffff !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Global Search Overlay */
.modal-backdrop.in { opacity: 0.25 !important; }
.modal .modal-content {
	border: 1px solid #e5e7eb !important;
	border-radius: 14px !important;
	box-shadow: 0 16px 40px rgba(0,0,0,0.14) !important;
}
.global-search-modal .modal-body {
	padding: 12px 16px 16px !important;
}
.global-search-modal .search-area {
	border: 1px solid #2563eb !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 22px rgba(242,92,5,0.12) !important;
}
.global-search-modal .search-area input {
	height: 40px !important;
	font-size: 13px !important;
	color: var(--nt-text) !important;
}
.global-search-modal .results {
	padding: 10px 0 0 !important;
}
.global-search-modal .search-section {
	border-bottom: 1px solid #f0f2f7 !important;
	padding: 6px 0 !important;
}
.global-search-modal .search-section .section-title {
	font-weight: 700 !important;
	color: #2563eb !important;
	font-size: 13px !important;
}
.global-search-modal .search-result {
	border-radius: 10px !important;
	padding: 8px 10px !important;
	transition: background 0.12s ease, transform 0.12s ease;
}
.global-search-modal .search-result:hover {
	background: #fff7f1 !important;
	transform: translateY(-1px);
}
.global-search-modal mark {
	background: #fde3d1 !important;
	color: #c14d00 !important;
	border-radius: 4px !important;
	padding: 0 2px;
}
.global-search-modal .empty-state,
.global-search-modal .no-results {
	color: #2563eb !important;
	font-weight: 600 !important;
}

/* Status pills */
.indicator-pill, .badge {
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1px !important;
	box-shadow: 0 4px 10px rgba(15,23,42,0.06);
}

/* Inputs and selects hover/focus polish */
.form-control:hover,
.control-input:hover,
.awesomplete > input:hover,
.select2-container .select2-selection:hover {
	border-color: #cfd7e5 !important;
	box-shadow: 0 2px 6px rgba(15,23,42,0.08) !important;
}
.select2-container .select2-selection {
	border-radius: 10px !important;
	border: 1px solid #e5e7eb !important;
	min-height: 36px;
	display: flex;
	align-items: center;
}
.select2-container .select2-selection:focus {
	outline: none !important;
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px rgba(48,102,251,0.12), 0 4px 10px rgba(48,102,251,0.12) !important;
}
/* fixed invalid selector above; active handled in :active rules */
body.nt-form .form-inner-toolbar, body.nt-form .form-viewers { display: none !important; }
body.nt-form .page-title { font-weight: 800 !important; letter-spacing: .3px; }

/* Pill radii override (ensure last wins everywhere) */
.page-container input:not([type="checkbox"]):not([type="radio"]),
.page-container select,
.page-container textarea,
.form-control,
.control-input,
.awesomplete > input,
.frappe-control input,
.frappe-control textarea,
.frappe-control .input-with-feedback,
.btn,
.select2-container .select2-selection,
.frappe-card,
.form-section,
.form-column,
.form-dashboard-section,
.layout-main-section,
.section-body,
.grid-row,
.grid-input,
.modal-content,
.dropdown-menu {
	border-radius: 14px !important;
}

/* Accent Elements */
.indicator.blue, .indicator-primary, .badge-primary { background: var(--nt-primary) !important; }
.text-muted { color: var(--nt-text-dim) !important; }

/* Workspace */
.workspace .widget.shortcut-widget {
	border-radius: var(--nt-radius-lg) !important;
	background: radial-gradient(1200px 400px at -10% -40%, rgba(124,92,255,0.15), transparent),
		linear-gradient(180deg, var(--nt-surface) 0%, #111623 100%);
}
/* Disable workspace visuals */
body.nt-workspace .workspace { display: none !important; }
body.nt-workspace .workspace .widget .widget-title { font-weight: 700; letter-spacing: .2px; }

/* Navbar Search */
.search-input { border-radius: var(--nt-radius-sm) !important; }

/* Footer */
.page-footer, .footer {
    background: transparent !important;
    border-top: 1px solid var(--nt-border) !important;
}
.web-footer { display: none !important; }

/* Hide specific nav bar buttons */
#nt-customize-btn,
#nt-sidebar-editor,
#nt-star,
#nt-sidebar-toggle {
    display: none !important;
}
#nt-theme-presets,
#nt-theme-toggle {
    display: none !important;
}
#nt-ws-dropdown { position: relative; display: none !important; }
#nt-ws-btn { display: inline-flex !important; }

/* Workspace List Tools */
#nt-ws-list-tools { display: flex; gap: 8px; align-items: center; margin: 8px 0; }

/* Show Fullscreen button nicely */
#nt-fullscreen { display: inline-flex !important; align-items: center; justify-content: center; }

/* Erase Frappe look cues */
.navbar .navbar-brand img { filter: grayscale(1) brightness(1.5) opacity(0.9); }
.standard-sidebar .sidebar-label, .navbar .navbar-breadcrumbs { letter-spacing: 0.2px; font-weight: 600; }
/* Hide default navbar only when brandless (non-form routes) */
body.nt-brandless .navbar, body.nt-brandless .standard-sidebar { display: none !important; }

/* Notification tabs */
.nt-tabs { display: flex; gap: 6px; padding: 4px; background: var(--nt-surface-2); border-radius: 10px; margin-bottom: 8px; }
.nt-tab { flex: 1; border: 1px solid rgba(255,255,255,0.06); background: transparent; color: var(--nt-text); border-radius: 8px; padding: 6px; cursor: pointer; }
.nt-tab.active { background: var(--nt-surface); }

/* Customizer */
.nt-customizer { position: fixed; right: 16px; top: 72px; width: 320px; background: var(--nt-surface); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.4); transform: translateY(-12px); opacity: 0; pointer-events: none; transition: all .18s ease; z-index: 1100; }
.nt-customizer.open { transform: translateY(0); opacity: 1; pointer-events: auto; }

/* Role Dashboards */
.nt-dashboard { padding: 12px; }
.nt-dash-head { display:flex; align-items:center; justify-content: space-between; margin-bottom: 10px; gap: 8px; }
.nt-dash-tools { display:flex; gap: 6px; align-items:center; padding: 6px; border: 1px solid var(--nt-border); border-radius: 10px; background: linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.35)); backdrop-filter: blur(6px); }
.nt-dash-tools .nt-input, .nt-dash-tools select { height: 30px; padding: 4px 8px; border-radius: 8px; border: 1px solid var(--nt-border); background: var(--nt-surface); color: var(--nt-text); }
.nt-dash-tools .nt-btn { padding: 6px 10px; border-radius: 8px; }
.nt-dash-tools .nt-icon-btn { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.nt-dash-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.nt-dashboard.nt-dash-compact .nt-dash-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.nt-card { background: var(--nt-surface); border: 1px solid var(--nt-border); border-radius: 12px; padding: 12px; }
.nt-kpi { text-align: center; }
.nt-kpi-value { font-size: 28px; font-weight: 800; color: var(--accent); }
.nt-kpi-label { font-size: 12px; color: var(--nt-text-dim); }
.nt-dash-actions { display:flex; gap:8px; margin-bottom: 10px; }
.nt-mini-chart { width: 100%; height: 120px; }
/* Top lists grid follows 3-up; compact becomes 4-up */
.nt-top-grid { margin-top: 10px; }

/* Skeleton loading for charts */
.nt-skeleton { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(0,0,0,0.04), rgba(0,0,0,0.08), rgba(0,0,0,0.04)); animation: nt-shimmer 1.2s infinite; border-radius: 8px; }
@keyframes nt-shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: calc(200px + 100%) 0; }
}

/* Dashboard hero */
.nt-hero { display:flex; align-items:center; justify-content: space-between; padding: 12px; border: 1px solid var(--nt-border); border-radius: 12px; background: var(--nt-surface); margin-bottom: 10px; }
.nt-hero-title { font-size: 20px; font-weight: 800; letter-spacing: .2px; }
.nt-hero-sub { font-size: 12px; color: var(--nt-text-dim); }

/* KPI color variants */
/* Elevated, role-themed gradient cards with readable text */
.nt-kpi { position: relative; overflow: hidden; }
.nt-kpi.nt-kpi-emerald { background: linear-gradient(135deg, #10b981 0%, #34d399 100%); border-color: rgba(16,185,129,0.35); box-shadow: 0 6px 24px rgba(16,185,129,0.25); }
.nt-kpi.nt-kpi-indigo { background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); border-color: rgba(99,102,241,0.35); box-shadow: 0 6px 24px rgba(99,102,241,0.25); }
.nt-kpi.nt-kpi-amber { background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%); border-color: rgba(245,158,11,0.35); box-shadow: 0 6px 24px rgba(245,158,11,0.25); }
.nt-kpi.nt-kpi-rose { background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%); border-color: rgba(239,68,68,0.35); box-shadow: 0 6px 24px rgba(239,68,68,0.25); }
.nt-kpi.nt-kpi-teal { background: linear-gradient(135deg, #14b8a6 0%, #2dd4bf 100%); border-color: rgba(20,184,166,0.35); box-shadow: 0 6px 24px rgba(20,184,166,0.25); }
.nt-kpi.nt-kpi-danger { background: linear-gradient(135deg, #ef4444 0%, #f87171 100%); border-color: rgba(239,68,68,0.35); box-shadow: 0 6px 24px rgba(239,68,68,0.25); }

/* Ensure text is legible on gradients */
.nt-kpi.nt-kpi-emerald .nt-kpi-value,
.nt-kpi.nt-kpi-indigo .nt-kpi-value,
.nt-kpi.nt-kpi-amber .nt-kpi-value,
.nt-kpi.nt-kpi-rose .nt-kpi-value,
.nt-kpi.nt-kpi-teal .nt-kpi-value,
.nt-kpi.nt-kpi-danger .nt-kpi-value { color: #ffffff; }

.nt-kpi.nt-kpi-emerald .nt-kpi-label,
.nt-kpi.nt-kpi-indigo .nt-kpi-label,
.nt-kpi.nt-kpi-amber .nt-kpi-label,
.nt-kpi.nt-kpi-rose .nt-kpi-label,
.nt-kpi.nt-kpi-teal .nt-kpi-label,
.nt-kpi.nt-kpi-danger .nt-kpi-label { color: rgba(255,255,255,0.9); }

/* Simple table for recents */
.nt-table { width: 100%; display: grid; gap: 6px; }
.nt-tr { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 6px; }
.nt-th { font-size: 11px; font-weight: 700; color: var(--nt-text-dim); }
.nt-td { font-size: 12px; color: var(--nt-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Top list card body */
.nt-top-card .nt-top-body { display: grid; gap: 6px; }
.nt-top-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px; border: 1px solid var(--nt-border); border-radius: 10px; background: var(--nt-surface-2); }
.nt-top-row:hover { background: var(--nt-surface); }
.nt-top-left { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.nt-rank { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; background: var(--accent); color: var(--accent-contrast); font-size: 12px; font-weight: 700; }
.nt-name { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.nt-top-right { font-weight: 700; color: var(--nt-text); }

/* Dashboard fullscreen */
body.nt-dash-fullscreen .nt-main { grid-template-columns: 1fr; }
body.nt-dash-fullscreen .nt-sidebar { display: none !important; }
.nt-customizer-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.06); font-weight: 700; }
.nt-customizer-body { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; }
.nt-customizer-body label { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--nt-surface-2); border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; padding: 8px; font-size: 12px; }
.nt-customizer-body input[type="color"] { width: 36px; height: 24px; border: none; background: transparent; padding: 0; }
.nt-customizer-body input[type="range"] { width: 100%; }
.nt-customizer-foot { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid rgba(255,255,255,0.06); justify-content: flex-end; }

/* Custom Menu Submenu Styles */
.nt-nav-sub-item {
	padding-left: 20px;
	font-size: 12px;
	color: var(--nt-text-dim);
	cursor: pointer;
	transition: all 0.2s ease;
}

.nt-nav-sub-item:hover {
	background: var(--nt-surface-2);
	color: var(--nt-text);
}

.nt-nav-sub-item i {
	margin-right: 8px;
	width: 16px;
	text-align: center;
}

/* Force square corners within the Awamiawaaz Theme root */
#nt-root, #nt-root * { border-radius: var(--nt-radius-sm) !important; }

/* Force no rounding on topbar and sidebar (overrides global radius above) */
#nt-root .nt-topbar,
#nt-root .nt-sidebar {
	border-radius: 0 !important;
}
