/* Hyperce Theme — shared Desk components (use CSS variables from hyperce.tokens.css) */

/* Inter ships with Frappe desk — no external @import (nginx CSP blocks fonts.googleapis.com) */

html[data-theme-mode^="hyperce"] {
	--font-stack: "InterVariable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-family: var(--font-stack) !important;
	--transition-fast: 100ms ease;
	--transition-base: 150ms ease;
	--transition-smooth: 250ms ease;
}

html[data-theme-mode^="hyperce"] * {
	font-family: var(--font-stack) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html[data-theme-mode^="hyperce"] * {
	scrollbar-width: thin;
	scrollbar-color: var(--scrollbar-thumb) transparent;
}

html[data-theme-mode^="hyperce"] *::-webkit-scrollbar {
	width: 4px;
	height: 4px;
}

html[data-theme-mode^="hyperce"] *::-webkit-scrollbar-track {
	background: transparent;
}

html[data-theme-mode^="hyperce"] *::-webkit-scrollbar-thumb {
	background: var(--scrollbar-thumb);
	border-radius: 100px;
}

html[data-theme-mode^="hyperce"] :focus-visible {
	outline: 2px solid var(--primary-color) !important;
	outline-offset: 2px !important;
}

html[data-theme-mode^="hyperce"] ::selection {
	background: var(--hyperce-accent-subtle);
	color: inherit;
}

html[data-theme-mode^="hyperce"] h1,
html[data-theme-mode^="hyperce"] .h1 {
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: -0.025em;
}

html[data-theme-mode^="hyperce"] h2,
html[data-theme-mode^="hyperce"] .h2 {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}

html[data-theme-mode^="hyperce"] h3,
html[data-theme-mode^="hyperce"] .h3 {
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

html[data-theme-mode^="hyperce"] h4,
html[data-theme-mode^="hyperce"] .h4 {
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

html[data-theme-mode^="hyperce"] .text-muted {
	color: var(--text-muted) !important;
}

html[data-theme-mode^="hyperce"] .navbar {
	height: 56px;
	min-height: 56px;
	border-bottom: 1px solid var(--border-color) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: 0 16px;
	box-shadow: none !important;
	background: var(--navbar-bg) !important;
}

html[data-theme-mode^="hyperce"] .navbar .navbar-brand,
html[data-theme-mode^="hyperce"] .navbar .brand-name {
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: -0.02em;
	color: var(--text-color) !important;
}

html[data-theme-mode^="hyperce"] .navbar .search-bar .form-control,
html[data-theme-mode^="hyperce"] .navbar .awesomebar input {
	background: var(--control-bg) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius) !important;
	color: var(--text-color) !important;
	font-size: 0.875rem;
	height: 34px;
	padding: 0 12px 0 32px;
	transition: border-color var(--transition-base);
}

html[data-theme-mode^="hyperce"] .navbar .awesomebar input:focus {
	border-color: var(--primary-color) !important;
	box-shadow: 0 0 0 3px var(--hyperce-accent-glow) !important;
}

html[data-theme-mode^="hyperce"] .navbar .btn-default,
html[data-theme-mode^="hyperce"] .navbar .nav-link {
	color: var(--text-muted) !important;
	border-radius: var(--border-radius) !important;
	transition: color var(--transition-base), background var(--transition-base);
}

html[data-theme-mode^="hyperce"] .navbar .btn-default:hover,
html[data-theme-mode^="hyperce"] .navbar .nav-link:hover {
	color: var(--text-color) !important;
	background: var(--control-bg) !important;
}

html[data-theme-mode^="hyperce"] .navbar .notifications-icon .badge {
	background: var(--primary-color) !important;
	color: var(--text-color) !important;
	font-size: 0.6rem;
}

html[data-theme-mode^="hyperce"] .desk-sidebar,
html[data-theme-mode^="hyperce"] .layout-side-section {
	background: var(--sidebar-bg-color) !important;
	border-right: 1px solid var(--border-color) !important;
	box-shadow: none !important;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-label {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--text-light) !important;
	padding: 16px 16px 6px;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item {
	border-radius: var(--border-radius) !important;
	margin: 1px 8px;
	padding: 7px 10px !important;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--text-muted) !important;
	transition: all var(--transition-base);
	position: relative;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item:hover,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item:hover {
	color: var(--text-color) !important;
	background: var(--control-bg) !important;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item.selected,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item.selected,
html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item.active,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item.active {
	color: var(--primary-color) !important;
	background: var(--blue-avatar-bg) !important;
	font-weight: 600;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item.selected::before,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item.selected::before,
html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item.active::before,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item.active::before {
	content: "";
	position: absolute;
	left: -8px;
	top: 20%;
	bottom: 20%;
	width: 3px;
	background: var(--primary-color);
	border-radius: 0 4px 4px 0;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item .sidebar-item-icon,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item .sidebar-item-icon {
	color: var(--text-light) !important;
}

html[data-theme-mode^="hyperce"] .desk-sidebar .sidebar-item.active .sidebar-item-icon,
html[data-theme-mode^="hyperce"] .desk-sidebar .standard-sidebar-item.active .sidebar-item-icon {
	color: var(--primary-color) !important;
}

html[data-theme-mode^="hyperce"] .btn-primary {
	background-color: var(--btn-primary-bg) !important;
	border-color: var(--btn-primary-bg) !important;
	color: var(--text-color) !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	border-radius: var(--btn-border-radius) !important;
	height: var(--btn-height) !important;
	padding: 0 16px !important;
	transition: background var(--transition-base), transform var(--transition-fast) !important;
	box-shadow: none !important;
	letter-spacing: -0.01em;
}

html[data-theme-mode^="hyperce"] .btn-primary:hover {
	background-color: var(--btn-primary-hover) !important;
	border-color: var(--btn-primary-hover) !important;
	transform: translateY(-1px);
	box-shadow: 0 0 16px var(--hyperce-accent-glow) !important;
}

html[data-theme-mode^="hyperce"] .btn-default,
html[data-theme-mode^="hyperce"] .btn-secondary {
	background: transparent !important;
	border: 1px solid var(--dark-border-color) !important;
	color: var(--text-color) !important;
	border-radius: var(--border-radius) !important;
	font-weight: 500 !important;
	font-size: 0.875rem !important;
	height: var(--btn-height) !important;
	padding: 0 14px !important;
	box-shadow: none !important;
}

html[data-theme-mode^="hyperce"] .form-control,
html[data-theme-mode^="hyperce"] .input-with-feedback,
html[data-theme-mode^="hyperce"] input.form-control,
html[data-theme-mode^="hyperce"] select.form-control,
html[data-theme-mode^="hyperce"] textarea.form-control {
	background: var(--input-bg) !important;
	border: 1px solid var(--input-border-color) !important;
	border-radius: var(--border-radius) !important;
	color: var(--text-color) !important;
	font-size: 0.875rem !important;
	box-shadow: none !important;
}

html[data-theme-mode^="hyperce"] .form-control:focus {
	border-color: var(--input-focus-border) !important;
	box-shadow: 0 0 0 3px var(--hyperce-accent-subtle) !important;
	outline: none !important;
}

html[data-theme-mode^="hyperce"] .control-label,
html[data-theme-mode^="hyperce"] .frappe-control .control-label {
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: var(--label-color) !important;
	margin-bottom: 4px !important;
}

html[data-theme-mode^="hyperce"] .widget,
html[data-theme-mode^="hyperce"] .number-widget-box {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-lg) !important;
	box-shadow: var(--shadow-sm) !important;
}

html[data-theme-mode^="hyperce"] .page-head,
html[data-theme-mode^="hyperce"] .page-header {
	background: var(--bg-color) !important;
	border-bottom: 1px solid var(--border-color) !important;
	box-shadow: none !important;
	padding: 0 24px !important;
	height: 52px !important;
}

html[data-theme-mode^="hyperce"] .page-head .page-title h3,
html[data-theme-mode^="hyperce"] .page-head .title-text {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--text-color) !important;
}

html[data-theme-mode^="hyperce"] .nav-tabs {
	border-bottom: 1px solid var(--border-color) !important;
}

html[data-theme-mode^="hyperce"] .nav-tabs .nav-link.active {
	color: var(--primary-color) !important;
	border-bottom-color: var(--primary-color) !important;
	font-weight: 600 !important;
}

html[data-theme-mode^="hyperce"] .dropdown-menu {
	border-radius: var(--border-radius-md) !important;
	border: 1px solid var(--dark-border-color) !important;
	box-shadow: var(--shadow-lg) !important;
	background: var(--fg-color) !important;
}

html[data-theme-mode^="hyperce"] .modal-content {
	background: var(--fg-color) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-xl) !important;
	box-shadow: var(--shadow-lg) !important;
}

html[data-theme-mode^="hyperce"] .alert-success {
	background: var(--hyperce-accent-subtle) !important;
	border-color: var(--hyperce-accent-border) !important;
	color: var(--primary-color) !important;
}

html[data-theme-mode^="hyperce"] .datatable .dt-header .dt-cell {
	background: var(--fg-color) !important;
	color: var(--text-light) !important;
	border-bottom: 1px solid var(--dark-border-color) !important;
}

html[data-theme-mode^="hyperce"] .datatable .dt-row:hover,
html[data-theme-mode^="hyperce"] .list-row:hover {
	background: var(--control-bg) !important;
}

html[data-theme-mode^="hyperce"] .datatable .dt-row.selected,
html[data-theme-mode^="hyperce"] .list-row.selected {
	background: var(--blue-avatar-bg) !important;
}

html[data-theme-mode^="hyperce"] .indicator-pill.green,
html[data-theme-mode^="hyperce"] .indicator-pill.success {
	background: var(--badge-bg) !important;
	color: var(--badge-color) !important;
	border: 1px solid var(--hyperce-accent-border) !important;
}

html[data-theme-mode^="hyperce"] .workspace-container .workspace-block,
html[data-theme-mode^="hyperce"] .workspace-container .link-item {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-lg) !important;
	box-shadow: none !important;
}

html[data-theme-mode^="hyperce"] .form-section,
html[data-theme-mode^="hyperce"] .section-body {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-lg) !important;
	padding: 16px 20px !important;
	margin-bottom: 12px !important;
}

html[data-theme-mode^="hyperce"] .kanban-column {
	background: var(--fg-color) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-lg) !important;
}

html[data-theme-mode^="hyperce"] .kanban-card {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-md) !important;
}

html[data-theme-mode^="hyperce"] a {
	color: var(--primary-color) !important;
}

html[data-theme-mode^="hyperce"] a:hover {
	color: var(--btn-primary-hover) !important;
}

html[data-theme-mode^="hyperce"] .desk-sidebar a,
html[data-theme-mode^="hyperce"] .navbar a {
	color: inherit !important;
}

html[data-theme-mode^="hyperce"] .progress-bar {
	background-color: var(--primary-color) !important;
}

/* ERPNext-specific */
html[data-theme-mode^="hyperce"] .form-grid {
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-md) !important;
	overflow: hidden !important;
}

html[data-theme-mode^="hyperce"] .form-grid .grid-heading-row {
	background: var(--fg-color) !important;
	border-bottom: 1px solid var(--dark-border-color) !important;
}

html[data-theme-mode^="hyperce"] .form-grid .btn-add-row {
	background: var(--blue-avatar-bg) !important;
	color: var(--primary-color) !important;
	border: 1px dashed var(--hyperce-accent-border) !important;
	border-radius: var(--border-radius) !important;
}

html[data-theme-mode^="hyperce"] .timeline-content {
	background: var(--fg-color) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius-md) !important;
}

html[data-theme-mode^="hyperce"] .gantt .bar {
	fill: var(--primary-color) !important;
}

html[data-theme-mode^="hyperce"] .fc-button-primary {
	background: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}

html[data-theme-mode^="hyperce"] .fc-daygrid-day.fc-day-today {
	background: var(--blue-avatar-bg) !important;
}

html[data-theme-mode^="hyperce"] .modules-section .app-icon {
	background: var(--blue-avatar-bg) !important;
	border-radius: var(--border-radius-md) !important;
	color: var(--primary-color) !important;
}

/* Website portal (light) */
html[data-theme-mode^="hyperce"] .navbar-main {
	backdrop-filter: blur(12px);
}

html[data-theme-mode="hyperce_light"] .btn-primary {
	color: #ffffff !important;
}
