/* Authoritative light theme. Dark mode intentionally has no declarations here. */
html[data-theme="light"],
html.skydne-theme-light:not([data-theme="dark"]) {
	--skydne-page-bg: #f5f8fc;
	--skydne-surface: #ffffff;
	--skydne-surface-raised: #ffffff;
	--skydne-surface-muted: #f2f5f9;
	--skydne-card-bg: #ffffff;
	--skydne-card-hover-bg: #f7fbfd;
	--skydne-sidebar-bg: #ffffff;
	--skydne-topbar-bg: #ffffff;
	--skydne-input-bg: #ffffff;
	--skydne-table-header-bg: #f1f5f9;
	--skydne-text-primary: #172033;
	--skydne-text-secondary: #4b5b70;
	--skydne-text-muted: #66758b;
	--skydne-heading-color: #111b2d;
	--skydne-border-color: #dce4ed;
	--skydne-border-strong: #c8d3df;
	--skydne-accent: #0879b8;
	--skydne-accent-hover: #06679d;
	--skydne-accent-soft: #e5f4fa;
	--skydne-focus-ring: 0 0 0 3px rgba(8, 121, 184, 0.2);
	--skydne-shadow-sm: 0 6px 20px rgba(24, 46, 72, 0.06);
	--skydne-shadow-md: 0 14px 34px rgba(24, 46, 72, 0.11);
	--skydne-control-height: 40px;
	--skydne-radius-sm: 8px;
	--skydne-radius-md: 12px;

	/* Frappe variables used by Desk, List, Form, reports and dialogs. */
	--bg-color: var(--skydne-page-bg);
	--fg-color: var(--skydne-surface);
	--card-bg: var(--skydne-card-bg);
	--control-bg: var(--skydne-input-bg);
	--navbar-bg: var(--skydne-topbar-bg);
	--subtle-accent: var(--skydne-surface-muted);
	--subtle-fg: var(--skydne-border-color);
	--fg-hover-color: var(--skydne-card-hover-bg);
	--btn-default-bg: var(--skydne-surface-muted);
	--btn-default-hover-bg: var(--skydne-card-hover-bg);
	--btn-ghost-hover-bg: var(--skydne-accent-soft);
	--sidebar-select-color: var(--skydne-accent-soft);
	--text-color: var(--skydne-text-primary);
	--text-muted: var(--skydne-text-muted);
	--border-color: var(--skydne-border-color);
	--table-border-color: var(--skydne-border-color);
	--highlight-color: var(--skydne-accent-soft);
	--popover-bg: var(--skydne-surface-raised);
	--modal-bg: var(--skydne-surface-raised);
	--toast-bg: var(--skydne-surface-raised);

	/* Existing SKYDNE namespaces. */
	--erp-bg: var(--skydne-page-bg);
	--erp-bg-soft: var(--skydne-surface-muted);
	--erp-surface: var(--skydne-surface);
	--erp-surface-soft: var(--skydne-surface-muted);
	--erp-surface-raised: var(--skydne-surface-raised);
	--erp-sidebar-bg: var(--skydne-sidebar-bg);
	--erp-navbar-bg: var(--skydne-topbar-bg);
	--erp-table-head: var(--skydne-table-header-bg);
	--erp-table-row: var(--skydne-surface);
	--erp-table-hover: var(--skydne-card-hover-bg);
	--erp-input-bg: var(--skydne-input-bg);
	--erp-input-readonly: var(--skydne-surface-muted);
	--erp-text: var(--skydne-text-primary);
	--erp-text-soft: var(--skydne-text-secondary);
	--erp-text-muted: var(--skydne-text-muted);
	--erp-heading: var(--skydne-heading-color);
	--erp-border: var(--skydne-border-strong);
	--erp-border-soft: var(--skydne-border-color);
	--erp-primary: var(--skydne-accent);
	--erp-primary-hover: var(--skydne-accent-hover);
	--erp-primary-soft: var(--skydne-accent-soft);
	--erp-primary-border: rgba(8, 121, 184, 0.35);
	--erp-shadow-soft: var(--skydne-shadow-sm);
	--erp-shadow-raised: var(--skydne-shadow-md);
	--erp-focus-ring: var(--skydne-focus-ring);
}

/* Desk canvas and navigation */
html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne),
html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.page-container, .layout-main, .layout-main-section, .desk-page, .workspace, .form-page, .frappe-list, .report-wrapper, .dashboard) {
	background: var(--skydne-page-bg) !important;
	color: var(--skydne-text-primary);
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.navbar, .page-head, .page-head .page-head-content) {
	background: var(--skydne-topbar-bg) !important;
	border-color: var(--skydne-border-color) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.desk-sidebar, .layout-side-section, .standard-sidebar) {
	background: var(--skydne-sidebar-bg) !important;
	border-color: var(--skydne-border-color) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.navbar .nav-link, .navbar .dropdown-toggle, .breadcrumb, .breadcrumb a, .page-title .title-text, .module-title) {
	color: var(--skydne-text-secondary) !important;
	opacity: 1;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.standard-sidebar-item, .desk-sidebar-item, .sidebar-item-container) {
	color: var(--skydne-text-secondary) !important;
	opacity: 1;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.standard-sidebar-item, .desk-sidebar-item, .sidebar-item-container):hover {
	background: var(--skydne-card-hover-bg) !important;
	color: var(--skydne-heading-color) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.standard-sidebar-item.selected, .desk-sidebar-item.selected, .sidebar-item-container.selected) {
	background: var(--skydne-accent-soft) !important;
	color: var(--skydne-accent) !important;
	box-shadow: inset 3px 0 0 var(--skydne-accent);
}

/* Standard List, Form, Workspace and report surfaces */
html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.widget, .shortcut-widget-box, .number-widget-box, .dashboard-widget-box, .workspace-card, .card, .form-layout, .form-section, .form-dashboard-section, .form-sidebar, .timeline, .new-timeline, .comment-box, .attachments, .form-assignments, .form-shared, .report-summary, .datatable, .dt-scrollable, .list-row-container, .grid-body, .grid-row) {
	background: var(--skydne-surface) !important;
	border-color: var(--skydne-border-color) !important;
	color: var(--skydne-text-primary) !important;
	box-shadow: var(--skydne-shadow-sm);
	opacity: 1;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.list-row-head, .grid-heading-row, .datatable .dt-header .dt-cell, .dt-cell--header) {
	background: var(--skydne-table-header-bg) !important;
	border-color: var(--skydne-border-color) !important;
	color: var(--skydne-text-secondary) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.list-row, .report-list-item, .grid-row, .dt-row, .dt-cell) {
	background: var(--skydne-surface) !important;
	border-color: var(--skydne-border-color) !important;
	color: var(--skydne-text-primary) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.list-row, .report-list-item, .grid-row, .dt-row):hover {
	background: var(--skydne-card-hover-bg) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.form-tabs-list, .form-tabs .nav-link, .nav-tabs .nav-link, .form-section .section-head) {
	background: var(--skydne-surface) !important;
	border-color: var(--skydne-border-color) !important;
	color: var(--skydne-text-secondary) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.form-tabs .nav-link.active, .nav-tabs .nav-link.active) {
	background: var(--skydne-accent-soft) !important;
	color: var(--skydne-accent) !important;
	box-shadow: inset 0 -2px 0 var(--skydne-accent);
}

/* Controls, dropdowns, modals and buttons */
html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.form-control, .input-with-feedback, .awesomplete > input, .control-input input, .control-input textarea, .control-input select) {
	min-height: var(--skydne-control-height);
	background: var(--skydne-input-bg) !important;
	border: 1px solid var(--skydne-border-strong) !important;
	color: var(--skydne-text-primary) !important;
	border-radius: var(--skydne-radius-sm) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(input, textarea, .form-control)::placeholder {
	color: var(--skydne-text-muted) !important;
	font-weight: 500;
	opacity: 1;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.form-control, .input-with-feedback, .awesomplete > input):focus {
	border-color: var(--skydne-accent) !important;
	box-shadow: var(--skydne-focus-ring) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.dropdown-menu, .popover, .awesomplete > ul, .modal-content, .filter-box) {
	background: var(--skydne-surface-raised) !important;
	border-color: var(--skydne-border-color) !important;
	color: var(--skydne-text-primary) !important;
	box-shadow: var(--skydne-shadow-md);
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.dropdown-item, .dropdown-menu a, .awesomplete > ul > li) {
	color: var(--skydne-text-secondary) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.dropdown-item, .dropdown-menu a, .awesomplete > ul > li):hover,
html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) .awesomplete > ul > li[aria-selected="true"] {
	background: var(--skydne-accent-soft) !important;
	color: var(--skydne-heading-color) !important;
}

html[data-theme="light"] body:is(.skydne-theme-light, .brand-skydne) :is(.btn-primary, .primary-action) {
	background: var(--skydne-accent) !important;
	border-color: var(--skydne-accent) !important;
	color: #ffffff !important;
}

/* Main Desk and portal light surfaces */
html[data-theme="light"] .skydne-home-page,
html[data-theme="light"] body.skydne-cp-page {
	--skh-navy: var(--skydne-page-bg);
	--skh-navy-2: var(--skydne-surface-muted);
	--skh-text: var(--skydne-text-primary);
	--skh-muted: var(--skydne-text-muted);
	--skh-surface: var(--skydne-surface);
	--skh-surface-strong: var(--skydne-surface-raised);
	--skh-border: var(--skydne-border-color);
	--skh-cyan: var(--skydne-accent);
	--skh-shadow: rgba(24, 46, 72, 0.1);
	color: var(--skydne-text-primary);
}

html[data-theme="light"] :is(.skydne-home-page .skh-stage, body.skydne-cp-page) {
	background: radial-gradient(circle at 78% 20%, rgba(34, 184, 207, 0.08), transparent 32%), linear-gradient(135deg, var(--skydne-page-bg), #f8fbfd) !important;
}

html[data-theme="light"] .skydne-home-page .skh-gradient-field { opacity: 0.22; }
html[data-theme="light"] .skydne-home-page .skh-network-canvas { opacity: 0.2; }

html[data-theme="light"] .skydne-home-page :is(.skh-sidebar-panel, .skh-topbar, .skh-apps-pane, .skh-company-pane, .skh-user-dashboard, .skh-portal-section, .skh-related-section, .skh-list-toolbar, .skh-detail-header, .skydne-cp-table-wrapper) {
	background: var(--skydne-surface) !important;
	border-color: var(--skydne-border-color) !important;
	box-shadow: var(--skydne-shadow-sm);
	color: var(--skydne-text-primary);
	opacity: 1;
}

html[data-theme="light"] .skydne-main-desk-page .skh-app-card,
html[data-theme="light"] .skydne-home-page :is(.skh-work-card, .skh-product-card, .skh-portal-row, .skh-support-stat) {
	background: var(--skydne-card-bg) !important;
	border-color: var(--skydne-border-color) !important;
	box-shadow: var(--skydne-shadow-sm) !important;
	color: var(--skydne-text-primary) !important;
	opacity: 1;
}

html[data-theme="light"] .skydne-main-desk-page .skh-app-card:hover,
html[data-theme="light"] .skydne-home-page :is(.skh-work-card, .skh-product-card, .skh-portal-row):hover {
	background: var(--skydne-card-hover-bg) !important;
	border-color: rgba(8, 121, 184, 0.35) !important;
	box-shadow: var(--skydne-shadow-md) !important;
}

html[data-theme="light"] .skydne-main-desk-page .skh-app-icon {
	background: var(--skydne-accent-soft) !important;
	border-color: rgba(8, 121, 184, 0.2) !important;
	color: var(--skydne-accent) !important;
}

html[data-theme="light"] .skydne-home-page :is(h1, h2, h3, .skh-app-label, .skh-work-card strong, .skh-portal-row strong) {
	color: var(--skydne-heading-color) !important;
	opacity: 1;
}

html[data-theme="light"] .skydne-home-page :is(p, small, .skh-app-card small, .skh-work-card span, .skh-product-card p, .skh-section-head span) {
	color: var(--skydne-text-muted) !important;
	opacity: 1;
}

html[data-theme="light"] .skydne-home-page .skh-sidebar-nav a { color: var(--skydne-text-secondary) !important; }
html[data-theme="light"] .skydne-home-page .skh-sidebar-nav a:hover { background: var(--skydne-card-hover-bg) !important; color: var(--skydne-heading-color) !important; }
html[data-theme="light"] .skydne-home-page .skh-sidebar-nav a.active { background: var(--skydne-accent-soft) !important; color: var(--skydne-accent) !important; box-shadow: inset 3px 0 0 var(--skydne-accent); }

html[data-theme="light"] .skydne-customer-portal-page :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .form-control) {
	min-height: var(--skydne-control-height);
	background: var(--skydne-input-bg) !important;
	border: 1px solid var(--skydne-border-strong) !important;
	color: var(--skydne-text-primary) !important;
}

html[data-theme="light"] .skydne-customer-portal-page :is(input, textarea, .form-control)::placeholder { color: var(--skydne-text-muted) !important; font-weight: 500; opacity: 1; }
html[data-theme="light"] .skydne-customer-portal-page :is(input, select, textarea):focus { border-color: var(--skydne-accent) !important; box-shadow: var(--skydne-focus-ring) !important; }
html[data-theme="light"] .skydne-customer-portal-page select option { background: var(--skydne-surface); color: var(--skydne-text-primary); }

html[data-theme="light"] .skydne-home-page :is(.skydne-cp-table th, .skh-record-heading) { background: var(--skydne-table-header-bg) !important; color: var(--skydne-text-secondary) !important; }
html[data-theme="light"] .skydne-home-page :is(.skydne-cp-table td, .skh-record-row) { background: var(--skydne-surface) !important; color: var(--skydne-text-primary) !important; border-color: var(--skydne-border-color) !important; }
html[data-theme="light"] .skydne-home-page .skydne-cp-table tbody tr:hover td { background: var(--skydne-card-hover-bg) !important; }

html[data-theme="light"] :is(body.skydne-theme-light, .skydne-home-page) :focus-visible {
	outline: 2px solid var(--skydne-accent) !important;
	outline-offset: 2px;
	box-shadow: var(--skydne-focus-ring) !important;
}

/* Public portal pages use the verified SKYDNE mirror class when data-theme is absent. */
html.skydne-theme-light:not([data-theme="dark"]) .skydne-home-page,
html.skydne-theme-light:not([data-theme="dark"]) body.skydne-cp-page {
	--skh-navy: var(--skydne-page-bg);
	--skh-navy-2: var(--skydne-surface-muted);
	--skh-text: var(--skydne-text-primary);
	--skh-muted: var(--skydne-text-muted);
	--skh-surface: var(--skydne-surface);
	--skh-surface-strong: var(--skydne-surface-raised);
	--skh-border: var(--skydne-border-color);
	--skh-cyan: var(--skydne-accent);
	color: var(--skydne-text-primary);
}

html.skydne-theme-light:not([data-theme="dark"]) .skydne-home-page :is(.skh-stage, .skh-sidebar-panel, .skh-topbar, .skh-apps-pane, .skh-company-pane, .skh-user-dashboard, .skh-work-card, .skh-app-card, .skh-product-card, .skh-portal-section, .skh-related-section, .skh-list-toolbar, .skh-detail-header, .skydne-cp-table-wrapper, .skh-support-stat) {
	background: var(--skydne-surface) !important;
	border-color: var(--skydne-border-color) !important;
	color: var(--skydne-text-primary) !important;
}

html.skydne-theme-light:not([data-theme="dark"]) .skydne-customer-portal-page :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .form-control) {
	background: var(--skydne-input-bg) !important;
	border-color: var(--skydne-border-strong) !important;
	color: var(--skydne-text-primary) !important;
}
