/* AI Matic brand layer (UAE-037). One source of the marketing look for every Frappe surface:
   desk, website/login pages, the custom Aimatic pages and the console. Tokens mirror
   website/app/globals.css; the rules are documented in docs/design/brand-system.md.
   Presentation only: no route, permission or accounting behaviour lives here. */

@font-face {
	font-family: "Geist";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("/assets/aimatic_uae/fonts/geist-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
		U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Geist";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("/assets/aimatic_uae/fonts/geist-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
		U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
		U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------------------------------------------------------- tokens */
:root {
	--am-teal: #1ca494;
	--am-teal-strong: #087f73; /* teal text/links on white (AA contrast) */
	--am-teal-light: #45c3b2; /* teal on navy */
	--am-teal-tint: #e8f6f4;
	--am-navy: #0c284c;
	--am-ink: #0b1220;
	--am-muted: #5b6572;
	--am-border: #e7ecf0;
	--am-surface: #f7f9fb;
	--am-surface-strong: #eef2f5;
	--am-gradient: linear-gradient(135deg, var(--am-teal) 0%, var(--am-navy) 100%);
	--am-hero-glow: radial-gradient(60% 60% at 50% 0%, rgba(28, 164, 148, 0.1), transparent);
	--am-radius-card: 24px;
	--am-radius-panel: 16px;
	--am-radius-control: 12px;
	--am-radius-pill: 999px;
	--am-shadow-card: 0 20px 50px -30px rgba(12, 40, 76, 0.25);
	--am-shadow-raised: 0 28px 60px -25px rgba(12, 40, 76, 0.45);
	--am-shadow-cta: 0 8px 24px -8px rgba(28, 164, 148, 0.55);
	--am-focus: 0 0 0 3px rgba(28, 164, 148, 0.3);
	--am-font: "Geist", "InterVariable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial,
		sans-serif;
}

/* ---------------------------------------------------------------- Frappe theme (light only) */
:root:not([data-theme="dark"]) {
	--font-stack: var(--am-font);
	--btn-primary: var(--am-navy);
	--primary: var(--am-teal);
	--primary-color: var(--am-navy);
	--brand-color: var(--am-teal);
	--sidebar-select-color: var(--am-teal-tint);
	--focus-default: var(--am-focus);
}
body {
	font-family: var(--am-font);
	/* Frappe's 0.01-0.02em tracking is tuned for Inter; Geist is designed for normal tracking,
	   as on the marketing site. */
	letter-spacing: normal;
}
body [class*="text-"],
.ei-app,
.am-demo,
.ov-content {
	letter-spacing: normal;
}

/* Primary actions: the marketing gradient pill. Grouped buttons keep their joined shape. */
.btn.btn-primary,
.es-button[data-variant="solid"] {
	background-image: var(--am-gradient);
	background-color: var(--am-navy);
	border-color: transparent;
	color: #fff;
	font-weight: 600;
	box-shadow: var(--am-shadow-cta);
	transition: transform 0.2s ease-out, box-shadow 0.2s ease-out, filter 0.2s;
}
.btn.btn-primary:hover,
.es-button[data-variant="solid"]:hover {
	filter: brightness(1.06);
	color: #fff;
}
.btn.btn-primary:active,
.es-button[data-variant="solid"]:active {
	transform: scale(0.98);
}
.page-actions .btn,
.modal-footer .btn,
.es-button,
.btn.btn-primary:not(.btn-group > .btn) {
	border-radius: var(--am-radius-pill);
}
.btn:focus-visible,
.es-button:focus-visible,
.form-control:focus {
	box-shadow: var(--am-focus) !important;
}
input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--am-teal);
}

/* ---------------------------------------------------------------- logo */
.navbar-brand img,
.navbar-home img {
	object-fit: contain;
	width: auto;
	max-width: 150px;
	height: 32px;
	max-height: 32px;
}
.desktop-icon:has(img[src*="aimatic-logo.png"]) {
	min-width: 144px;
}
.desktop-icon:has(img[src*="aimatic-logo.png"]) .icon-container {
	width: 128px !important;
	height: 72px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--am-border);
	border-radius: var(--am-radius-panel);
	box-shadow: var(--am-shadow-card);
}
.desktop-icon img.app-icon[src*="aimatic-logo.png"] {
	width: 100px !important;
	height: auto !important;
	max-width: 100px !important;
	max-height: 30px !important;
	object-fit: contain !important;
	border-radius: 0 !important;
}
.desktop-icon:has(img[src*="aimatic-logo.png"]) .icon-title {
	color: var(--am-navy);
	font-weight: 600;
}
img.app-icon[src*="aimatic-logo.png"] {
	object-fit: contain !important;
	width: 112px !important;
	height: 32px !important;
	max-width: none !important;
	max-height: 32px !important;
}
.aimatic-einvoice-entry {
	color: var(--am-navy) !important;
	border: 1px solid var(--am-border);
	border-radius: var(--am-radius-pill);
	padding: 6px 14px;
	margin-left: 12px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none !important;
	background: #fff;
}
.aimatic-einvoice-entry:hover {
	border-color: rgba(28, 164, 148, 0.4);
	color: var(--am-teal-strong) !important;
}

/* No upstream "Powered by" line on public pages (also blanked in Website Settings). */
.footer-powered {
	display: none !important;
}

/* ---------------------------------------------------------------- sign-in pages */
body[data-path="login"],
body[data-path="update-password"] {
	background: var(--am-hero-glow), linear-gradient(180deg, #fff 0%, var(--am-surface) 100%);
	min-height: 100vh;
}
body[data-path="login"] .page-content-wrapper,
body[data-path="update-password"] .page-content-wrapper {
	padding-top: clamp(32px, 9vh, 96px);
}
.for-login .page-card,
.for-email-login .page-card,
.for-signup .page-card,
.for-forgot .page-card,
.for-login-with-email-link .page-card,
body[data-path="update-password"] .page-card {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--am-border);
	border-radius: var(--am-radius-card);
	box-shadow: var(--am-shadow-raised);
	padding: 40px 36px;
	max-width: 440px;
}
.for-login .app-logo,
.page-card .app-logo {
	width: auto !important;
	height: 40px !important;
	max-height: 40px;
	object-fit: contain;
	margin-bottom: 4px;
}
.page-card .form-control {
	border-radius: var(--am-radius-control);
	border: 1px solid var(--am-border);
	background: #fff;
	min-height: 44px;
	padding-inline: 14px;
}
.page-card .es-button {
	min-height: 46px;
	font-size: 15px;
}
.page-card a {
	color: var(--am-teal-strong);
}
@media (max-width: 480px) {
	.for-login .page-card,
	.for-email-login .page-card,
	.for-forgot .page-card,
	.for-login-with-email-link .page-card {
		padding: 28px 20px;
		border-radius: 20px;
	}
}
