/**
 * CIX /access — global brand tokens & readable controls (CRM)
 */

:root {
	--cix-primary: #ff6b00;
	--cix-secondary: #ff8533;
	--cix-accent: #ff6b00;
	--cix-primary-hover: #e55f00;
	--cix-dark: #0f172a;
	--cix-white: #ffffff;
	--cix-border: #dcdcdc;
	--cix-input-bg: #ffffff;
	--cix-input-text: #111111;
	--cix-heading: #0f172a;
	--cix-label: #334155;
	--cix-muted: #64748b;
	--cix-card-bg: #ffffff;
	--cix-sidebar-bg: #111827;
	--cix-topbar-bg: #ffffff;
	--cix-button-bg: #ff6b00;
	--cix-button-text: #ffffff;
	--cix-widget-glow: rgba(255, 107, 0, 0.35);
	--cix-success: #22c55e;
	--cix-warning: #f59e0b;
	--cix-danger: #ef4444;
	--cix-info: #38bdf8;
}

body.cix-crm-app {
	--cix-crm-accent: var(--cix-primary);
	--cix-crm-accent-hover: var(--cix-primary-hover);
	--cix-crm-navy: var(--cix-dark);
}

/* Buttons — deep orange, white text */
body.cix-crm-app .btn-primary,
body.cix-crm-app .cix-btn-primary,
body.cix-crm-app .button-primary {
	background: var(--cix-primary) !important;
	border-color: var(--cix-primary-hover) !important;
	color: var(--cix-white) !important;
	font-weight: 600;
}

body.cix-crm-app .btn-primary:hover,
body.cix-crm-app .cix-btn-primary:hover,
body.cix-crm-app .button-primary:hover {
	background: var(--cix-primary-hover) !important;
	border-color: var(--cix-primary-hover) !important;
	color: var(--cix-white) !important;
}

body.cix-crm-app .btn-outline-primary {
	color: var(--cix-primary) !important;
	border-color: var(--cix-primary) !important;
}

body.cix-crm-app .btn-outline-secondary,
body.cix-crm-app .cix-btn-ghost {
	color: var(--cix-dark) !important;
	border-color: var(--cix-border) !important;
	background: var(--cix-white) !important;
}

/* Inputs */
body.cix-crm-app input[type="text"],
body.cix-crm-app input[type="email"],
body.cix-crm-app input[type="password"],
body.cix-crm-app input[type="number"],
body.cix-crm-app input[type="search"],
body.cix-crm-app textarea,
body.cix-crm-app select,
body.cix-crm-app .form-control,
body.cix-crm-app .form-select {
	background: var(--cix-input-bg) !important;
	color: var(--cix-input-text) !important;
	border: 1px solid var(--cix-border) !important;
}

body.cix-crm-app input::placeholder,
body.cix-crm-app textarea::placeholder {
	color: #555555 !important;
	opacity: 1 !important;
}

/* Headings */
body.cix-crm-app h1,
body.cix-crm-app h2,
body.cix-crm-app h3,
body.cix-crm-app .cix-crm-page-title {
	color: var(--cix-heading) !important;
	font-weight: 700 !important;
}

body.cix-crm-app label {
	color: var(--cix-label, var(--cix-dark)) !important;
	font-weight: 600;
}

body.cix-crm-app .text-muted,
body.cix-crm-app small.text-muted {
	color: var(--cix-muted, #64748b) !important;
}

/* Licensing pricing — orange SaaS cards */
body.cix-crm-app .cix-pricing-card {
	background: linear-gradient(145deg, #ff6b00 0%, #e55f00 100%) !important;
	border: none !important;
	color: var(--cix-white) !important;
	box-shadow: 0 8px 24px rgba(255, 107, 0, 0.25) !important;
}

body.cix-crm-app .cix-pricing-card h3,
body.cix-crm-app .cix-pricing-card .cix-pricing-amount,
body.cix-crm-app .cix-pricing-card .cix-pricing-meta,
body.cix-crm-app .cix-pricing-card .cix-pricing-desc {
	color: var(--cix-white) !important;
}

body.cix-crm-app .cix-pricing-badge {
	background: rgba(255, 255, 255, 0.2) !important;
	color: var(--cix-white) !important;
}

body.cix-crm-app .cix-pricing-heading {
	color: var(--cix-heading) !important;
}

/* AI Health */
.cix-health-status-card {
	background: var(--cix-white);
	border: 1px solid var(--cix-border);
	border-radius: 0.5rem;
	padding: 0.75rem;
	text-align: center;
	height: 100%;
}

.cix-health-status-card strong {
	display: block;
	color: var(--cix-heading);
	font-size: 0.8rem;
}

.cix-health-status-card small {
	color: #555;
}

.cix-health-status-card.state-connected {
	border-color: #059669;
}

.cix-health-table .badge {
	font-weight: 600;
}

/* Theme designer sections */
.cix-theme-section {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--cix-border);
}

.cix-theme-section h4 {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--cix-heading);
	margin: 0 0 1rem;
}

.cix-theme-designer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1rem;
}

.cix-theme-field label {
	display: block;
	margin-bottom: 0.35rem;
}

/* Login lockout */
.cix-access-form.is-locked {
	opacity: 0.65;
	pointer-events: none;
}

.cix-access-locked-msg {
	color: #f87171;
	font-weight: 600;
	text-align: center;
}
