/*
 * TEMA GLOBAL EMS — edite este arquivo para personalizar o sistema inteiro.
 * 1. :root = visual Dia e medidas compartilhadas.
 * 2. [data-ems-theme="dark"] = visual Noite.
 * As regras abaixo conectam os componentes e as telas legadas a estas variáveis.
 * Preserve os nomes das variáveis. Não é necessário compilar assets.
 */
:root {
    --ems-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --ems-radius: 10px;
    --ems-control-radius: 7px;
    --ems-sidebar-width: 264px;
    --ems-content-padding: 28px;
    --ems-bg: #fbf5ed;
    --ems-panel: #fffdf9;
    --ems-subtle: #f8f0e6;
    --ems-ink: #102237;
    --ems-muted: #61676e;
    --ems-line: #eddfcf;
    --ems-accent: #984a0a;
    --ems-primary: #f49a24;
    --ems-primary-hover: #df7e12;
    --ems-on-primary: #2c1b0b;
    --ems-focus: #f49a2424;
    --ems-sidebar-bg: #fcf7f0;
    --ems-sidebar-ink: #514a43;
    --ems-sidebar-active: #ffeed6;
    --ems-sidebar-active-ink: #512c09;
    --ems-shadow: 0 6px 24px -16px #b36d2340;
    --ems-success-bg: #e9f6ef;
    --ems-success-ink: #196644;
    --ems-success-line: #b9ddc8;
    --ems-success-solid: #18734e;
    --ems-danger-bg: #fceeee;
    --ems-danger-ink: #a32d3c;
    --ems-danger-line: #efc5cb;
    --ems-danger-solid: #b32f43;
    --ems-warning-bg: #fff5e4;
    --ems-warning-ink: #80500e;
    --ems-warning-line: #ebd1a3;
    --ems-info-bg: #eaf4fc;
    --ems-info-ink: #245d85;
    --ems-purple-bg: #f0ecf8;
    --ems-purple-ink: #6c4294;
    --ems-inverse-bg: #283b4b;
    --ems-inverse-ink: #f5f8fa;
    --ems-overlay: #10182099;
    --ems-paper: #ffffff;
    --ems-paper-ink: #111111;
}
html[data-ems-theme="dark"] {
    --ems-bg: #111719;
    --ems-panel: #1b2428;
    --ems-subtle: #222e33;
    --ems-ink: #e8eef0;
    --ems-muted: #adbdc5;
    --ems-line: #35454c;
    --ems-accent: #69d5c3;
    --ems-primary: #69d5c3;
    --ems-primary-hover: #8ae1d2;
    --ems-on-primary: #102e29;
    --ems-focus: #69d5c326;
    --ems-sidebar-bg: #161e22;
    --ems-sidebar-ink: #adbdc5;
    --ems-sidebar-active: #25413d;
    --ems-sidebar-active-ink: #9ce9dc;
    --ems-shadow: none;
    --ems-success-bg: #19382c;
    --ems-success-ink: #98dfb9;
    --ems-success-line: #355b46;
    --ems-success-solid: #18734e;
    --ems-danger-bg: #3c252d;
    --ems-danger-ink: #ffb2bd;
    --ems-danger-line: #71424d;
    --ems-danger-solid: #b32f43;
    --ems-warning-bg: #3b3021;
    --ems-warning-ink: #efd095;
    --ems-warning-line: #6b5432;
    --ems-info-bg: #203541;
    --ems-info-ink: #a3d4ed;
    --ems-purple-bg: #332b43;
    --ems-purple-ink: #d5bdf5;
    --ems-inverse-bg: #2b414c;
    --ems-inverse-ink: #f5f8fa;
    --ems-overlay: #050a0db3;
}

/* Base compartilhada. Não há paletas específicas por página. */
body.ems-app { font-family: var(--ems-font); background: var(--ems-bg); color: var(--ems-ink); }
.ems-app .font-sans { font-family: var(--ems-font); }
.ems-app .ems-main { padding: var(--ems-content-padding); }
.ems-app :is(input, select, textarea, button) { accent-color: var(--ems-accent); }
.ems-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.ems-app select, .ems-app textarea { background-color: var(--ems-panel); color: var(--ems-ink); border-color: var(--ems-line); border-radius: var(--ems-control-radius); }
.ems-app input::placeholder, .ems-app textarea::placeholder { color: var(--ems-muted); opacity: .85; }
.ems-app :is(input,select,textarea):focus-visible { outline: 2px solid var(--ems-accent); outline-offset: 2px; }
.ems-app :is(.rounded-xl,.rounded-2xl,.rounded-3xl) { border-radius: var(--ems-radius); }
.ems-app :is(.rounded-md,.rounded-lg) { border-radius: var(--ems-control-radius); }
.ems-app :is(.shadow-sm,.shadow-lg,.shadow-xl,.shadow-2xl) { box-shadow: var(--ems-shadow); }
.ems-theme-button { width: auto; min-height: 40px; min-width: 80px; padding: 8px 12px; display: inline-flex; gap: 7px; flex-shrink: 0; font-size: 12px; font-weight: 600; border-radius: var(--ems-control-radius); }
.ems-theme-button [data-ems-theme-icon="moon"] { display: none; }
html[data-ems-theme="dark"] .ems-theme-button [data-ems-theme-icon="sun"] { display: none; }
html[data-ems-theme="dark"] .ems-theme-button [data-ems-theme-icon="moon"] { display: block; }
.ems-public-theme { position: fixed; top: 16px; right: 16px; z-index: 60; }
.ems-public { min-height: 100vh; }
.ems-login { padding: 80px 20px 32px; }
.ems-sidebar .ems-brand-mark { background: var(--ems-primary); color: var(--ems-on-primary); box-shadow: none; }
.ems-sidebar .ems-brand { padding: 26px 22px; border-color: var(--ems-line); }
.ems-sidebar .ems-brand span { color: var(--ems-ink); font-size: 19px; letter-spacing: -.03em; }
.ems-app .ems-sidebar { width: var(--ems-sidebar-width); background: var(--ems-sidebar-bg); border-color: var(--ems-line); }
.ems-sidebar nav :is(a,button) { color: var(--ems-sidebar-ink); }
.ems-sidebar nav :is(a,button):hover { color: var(--ems-ink); background: var(--ems-subtle); }
.ems-sidebar nav a.ems-nav-current { background: var(--ems-sidebar-active); color: var(--ems-sidebar-active-ink); box-shadow: none; }
.ems-sidebar :is([class*="border-[#"],.border-l) { border-color: var(--ems-line); }
.ems-app .ems-topbar { min-height: 72px; }
.ems-app .ems-button { background: var(--ems-primary); color: var(--ems-on-primary); border-radius: var(--ems-control-radius); }
.ems-app :is(.ems-button.secondary,.ems-button-secondary) { background: var(--ems-panel); color: var(--ems-ink); border-color: var(--ems-line); }
.ems-app .ems-button:hover { background: var(--ems-primary-hover); }
.ems-app :is(.ems-button.secondary,.ems-button-secondary):hover { background: var(--ems-subtle); }
.ems-app .ems-button.danger { background: var(--ems-danger-solid); color: var(--ems-paper); }
.ems-app .ems-pill[data-state="aprovada"] { background: var(--ems-success-bg); color: var(--ems-success-ink); border-color: var(--ems-success-line); }
.ems-app .ems-pill[data-state="rejeitada"] { background: var(--ems-danger-bg); color: var(--ems-danger-ink); border-color: var(--ems-danger-line); }
.ems-app .ems-pill[data-state="pendente"] { background: var(--ems-warning-bg); color: var(--ems-warning-ink); border-color: var(--ems-warning-line); }
.ems-document { background: var(--ems-bg); font-family: var(--ems-font); }
.ems-document .folha-a4 { color-scheme: light; background: var(--ems-paper); color: var(--ems-paper-ink); }
.ems-document .no-print { color: var(--ems-accent); }
@media(max-width:640px) {
    .ems-app .ems-main { padding: 20px 16px 36px; }
    .ems-app .ems-topbar { padding: 12px 16px; }
    .ems-app .ems-topbar > div { gap: 10px; }
    .ems-app .ems-topbar form button { font-size: 11px; padding: 8px 10px; }
    .ems-public nav + div { gap: 10px; }
    .ems-public header .text-2xl { font-size: 17px; }
    .ems-public header a[href$="cadastro"] { padding: 9px; font-size: 11px; }
    .ems-public header .ems-theme-button { min-width: 40px; padding: 8px; }
    .ems-public header [data-ems-theme-label] { display: none; }
}
@media print {
    [data-ems-theme-toggle],.ems-public-theme { display: none!important; }
    body.ems-app { --ems-panel: var(--ems-paper); --ems-bg: var(--ems-paper); --ems-ink: var(--ems-paper-ink); color-scheme: light; }
}

/* Compatibilidade com as classes visuais já usadas nas telas. */
.ems-app :is(.bg-white,.bg-white\/90,.bg-white\/95,.dark\:bg-gray-800,.dark\:bg-gray-900) { background-color: var(--ems-panel); }
.ems-app :is(.bg-gray-50,.bg-gray-100,.bg-slate-50,.bg-slate-100,.bg-\[\#f8fafc\]) { background-color: var(--ems-subtle); }
.ems-app :is(.text-gray-700,.text-gray-800,.text-gray-900,.text-slate-700,.text-slate-800,.text-slate-900,.text-\[\#0f172a\],.text-\[\#334155\],.dark\:text-gray-100,.dark\:text-gray-200) { color: var(--ems-ink); }
.ems-app :is(.text-gray-400,.text-gray-500,.text-gray-600,.text-slate-400,.text-slate-500,.text-slate-600,.text-\[\#64748b\],.text-\[\#94a3b8\]) { color: var(--ems-muted); }
.ems-app :is(.border-gray-100,.border-gray-200,.border-gray-300,.border-gray-600,.border-gray-700,.border-slate-100,.border-slate-200,.border-slate-300,.border-slate-600,.border-slate-700,.border-\[\#cbd5e1\],.border-\[\#e2e8f0\],.dark\:border-gray-700) { border-color: var(--ems-line); }
.ems-app :is(.divide-gray-200,.dark\:divide-gray-700) > :not([hidden]) ~ :not([hidden]) { border-color: var(--ems-line); }
.ems-app :is(.bg-blue-500,.bg-blue-600,.bg-blue-700,.bg-blue-800,.bg-indigo-500,.bg-indigo-600,.bg-indigo-700,.bg-indigo-800,.bg-teal-500,.bg-teal-600,.bg-teal-700,.bg-teal-800,.bg-\[\#3b82f6\],.bg-\[\#2563eb\],.bg-\[\#0066cc\],.bg-\[\#1d4ed8\],.bg-\[\#1e40af\]) { background-color: var(--ems-primary); color: var(--ems-on-primary); }
.ems-app :is(.text-blue-500,.text-blue-600,.text-blue-700,.text-blue-800,.text-indigo-500,.text-indigo-600,.text-indigo-700,.text-indigo-800,.text-teal-500,.text-teal-600,.text-teal-700,.text-teal-800) { color: var(--ems-accent); }
.ems-app :is(.bg-blue-50,.bg-blue-100,.bg-indigo-50,.bg-indigo-100,.bg-teal-50,.bg-teal-100) { background-color: var(--ems-focus); }
.ems-app :is(.bg-gray-800,.bg-gray-900,.bg-blue-900,.bg-slate-900,.bg-\[\#334155\],.bg-\[\#475569\]) { background-color: var(--ems-inverse-bg); color: var(--ems-inverse-ink); }
.ems-app :is(.bg-green-50,.bg-green-100,.bg-emerald-50,.bg-emerald-100,.bg-\[\#e6f4ea\]) { background-color: var(--ems-success-bg); }
.ems-app :is(.text-green-500,.text-green-600,.text-green-700,.text-green-800,.text-green-900,.text-emerald-500,.text-emerald-600,.text-emerald-700,.text-emerald-800,.text-emerald-900,.text-\[\#1e8e3e\],.text-\[\#10b981\]) { color: var(--ems-success-ink); }
.ems-app :is(.bg-green-500,.bg-green-600,.bg-green-700,.bg-emerald-500,.bg-emerald-600,.bg-emerald-700,.bg-\[\#10b981\],.bg-\[\#059669\],.bg-\[\#258f70\],.bg-\[\#22c55e\],.bg-\[\#16a34a\],.bg-\[\#1d735a\]) { background-color: var(--ems-success-solid); color: var(--ems-paper); }
.ems-app :is(.border-green-100,.border-green-200,.border-green-300,.border-green-500,.border-emerald-100,.border-emerald-200,.border-emerald-300,.border-emerald-500,.border-\[\#1e8e3e\],.border-\[\#10b981\]) { border-color: var(--ems-success-line); }
.ems-app :is(.bg-red-50,.bg-red-100,.bg-rose-50,.bg-rose-100,.bg-\[\#fce8e6\]) { background-color: var(--ems-danger-bg); }
.ems-app :is(.text-red-500,.text-red-600,.text-red-700,.text-red-800,.text-red-900,.text-rose-500,.text-rose-600,.text-rose-700,.text-rose-800,.text-rose-900,.text-\[\#d93025\],.text-\[\#dc2626\]) { color: var(--ems-danger-ink); }
.ems-app :is(.bg-red-500,.bg-red-600,.bg-red-700,.bg-rose-500,.bg-rose-600,.bg-rose-700) { background-color: var(--ems-danger-solid); color: var(--ems-paper); }
.ems-app :is(.border-red-100,.border-red-200,.border-red-300,.border-red-500,.border-rose-100,.border-rose-200,.border-rose-300,.border-rose-500,.border-\[\#d93025\]) { border-color: var(--ems-danger-line); }
.ems-app :is(.bg-amber-50,.bg-amber-100,.bg-yellow-50,.bg-yellow-100,.bg-orange-50,.bg-orange-100) { background-color: var(--ems-warning-bg); }
.ems-app :is(.text-amber-500,.text-amber-600,.text-amber-700,.text-amber-800,.text-amber-900,.text-yellow-500,.text-yellow-600,.text-yellow-700,.text-yellow-800,.text-yellow-900,.text-orange-500,.text-orange-600,.text-orange-700,.text-orange-800,.text-orange-900) { color: var(--ems-warning-ink); }
.ems-app :is(.bg-purple-50,.bg-purple-100,.bg-violet-50,.bg-violet-100) { background-color: var(--ems-purple-bg); }
.ems-app :is(.text-purple-500,.text-purple-600,.text-purple-700,.text-purple-800,.text-purple-900,.text-violet-500,.text-violet-600,.text-violet-700,.text-violet-800,.text-violet-900) { color: var(--ems-purple-ink); }
.ems-app :is(.hover\:bg-gray-50,.hover\:bg-gray-100,.hover\:bg-slate-50):hover { background-color: var(--ems-subtle); }
.ems-app :is(.hover\:bg-blue-600,.hover\:bg-blue-700,.hover\:bg-blue-800,.hover\:bg-indigo-600,.hover\:bg-indigo-700,.hover\:bg-indigo-800,.hover\:bg-teal-600,.hover\:bg-teal-700,.hover\:bg-teal-800):hover { background-color: var(--ems-primary-hover); }

@media(max-width:480px) {
    .ems-welcome > header > div { height: auto; min-height: 80px; flex-wrap: wrap; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
    .ems-welcome > header .space-x-4 { width: 100%; justify-content: space-between; }
}

/* Prévia responsiva; as regras de impressão A4 continuam no documento. */
@media screen and (max-width:850px) {
    .ems-document-preview { max-width: 100%; overflow-x: auto; }
    .ems-document .folha-a4 { width: 100%; min-width: 640px; max-height: none; padding: 16px; }
    .ems-document .no-print { padding: 12px; flex-wrap: wrap; gap: 12px; }
}
/* Contraste das áreas comerciais com fundo invertido ou de destaque. */
.ems-welcome :is(section.bg-gray-900,footer.bg-gray-900) :is(.text-gray-400,.text-gray-500) { color: var(--ems-inverse-ink); }
.ems-app :is(.bg-blue-600,.bg-blue-700,.bg-blue-800) :is(.text-white,.text-blue-100,.text-blue-200,.text-blue-300) { color: var(--ems-on-primary); }
.ems-sidebar nav > a span { margin-left: 12px; margin-right: 0; font-size: 13px; white-space: nowrap; }
.ems-sidebar nav button span { margin-left: 0; margin-right: 0; font-size: 13px; }
.ems-app .ems-workspace { background-color: var(--ems-bg); }

/* Visual Dia — referência âmbar: superfícies quentes, detalhes laranja e curvas suaves.
   Este bloco é restrito ao Dia para preservar o visual Noite. */
html[data-ems-theme="light"] {
    --ems-radius: 15px;
    --ems-control-radius: 10px;
    --ems-day-glow: #efb86e26;
    --ems-day-wave: #e9a34924;
}


html[data-ems-theme="light"] .ems-sidebar nav a.ems-nav-current {
    background: linear-gradient(110deg, var(--ems-primary-hover), var(--ems-primary));
    color: var(--ems-on-primary);
    border: 1px solid var(--ems-primary-hover);
    box-shadow: 0 5px 14px -9px var(--ems-primary-hover);
}
html[data-ems-theme="light"] .ems-sidebar .ems-brand-mark {
    background: linear-gradient(140deg, var(--ems-primary-hover), var(--ems-primary));
    color: var(--ems-on-primary);
    border-radius: var(--ems-control-radius);
}
html[data-ems-theme="light"] .ems-topbar { background-color: var(--ems-panel); }
html[data-ems-theme="light"] :is(.ems-panel,.ems-kpi) { box-shadow: var(--ems-shadow); }
html[data-ems-theme="light"] .ems-kpi-dot { background: var(--ems-primary); }
html[data-ems-theme="light"] .ems-kpi[data-tone="in"] .ems-kpi-dot { background: var(--ems-success-ink); }
html[data-ems-theme="light"] .ems-kpi[data-tone="out"] .ems-kpi-dot { background: var(--ems-warning-ink); }
html[data-ems-theme="light"] .ems-kpi[data-tone="balance"] .ems-kpi-dot { background: var(--ems-accent); }
@media print {
    html[data-ems-theme="light"] :is(.ems-workspace,.ems-sidebar) { background-image: none; }
}

/* Navegação compartilhada — cores herdadas do tema Dia/Noite. */
.ems-app .ems-sidebar.ems-sidebar-navigation { display: flex; flex-direction: column; height: 100dvh; min-height: 0; overflow: hidden; flex-shrink: 0; }
.ems-sidebar-navigation .ems-navigation-brand { display: flex; align-items: center; gap: 11px; padding: 23px 18px; margin: 0; min-height: 94px; flex-shrink: 0; }
.ems-navigation-brand .ems-brand-mark { display: grid; place-items: center; width: 37px; height: 37px; flex-shrink: 0; font-size: 23px; font-weight: 750; border-radius: var(--ems-control-radius); }
.ems-sidebar-navigation .ems-navigation-brand span { font-size: 18px; line-height: 1.4; font-weight: 700; white-space: nowrap; }
.ems-navigation-brand small { display: block; font-size: 10px; color: var(--ems-muted); margin-top: 2px; }
.ems-sidebar-navigation nav.ems-navigation { flex: 1; min-height: 0; padding: 15px 12px 24px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: var(--ems-line) transparent; overscroll-behavior: contain; }
.ems-nav-heading { font-size: 10px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--ems-muted); margin: 8px 12px 9px; }
.ems-nav-section { margin-bottom: 19px; }
.ems-sidebar-navigation .ems-nav-link { display: flex; align-items: center; gap: 11px; position: relative; min-height: 41px; margin: 3px 0; padding: 10px 12px; border: 1px solid transparent; border-radius: var(--ems-control-radius); color: var(--ems-sidebar-ink); font-size: 13px; line-height: 1.45; font-weight: 500; text-decoration: none; }
.ems-sidebar-navigation .ems-nav-link:hover { background: var(--ems-subtle); color: var(--ems-ink); }
.ems-sidebar-navigation .ems-nav-link .ems-nav-label { flex: 1; min-width: 0; margin: 0; font-size: inherit; white-space: normal; overflow-wrap: anywhere; }
.ems-nav-icon { width: 18px; height: 18px; flex-shrink: 0; opacity: .9; }
.ems-sidebar-navigation .ems-nav-link.ems-nav-current { font-weight: 650; background: var(--ems-sidebar-active); color: var(--ems-sidebar-active-ink); }
html[data-ems-theme="light"] .ems-sidebar-navigation .ems-nav-link.ems-nav-current { background: linear-gradient(110deg, var(--ems-primary-hover), var(--ems-primary)); color: var(--ems-on-primary); border-color: var(--ems-primary-hover); }
.ems-nav-indicator { width: 5px; height: 5px; background: currentColor; border-radius: 50%; flex-shrink: 0; }
.ems-nav-group { margin: 5px 0 13px; }
.ems-nav-group > summary { list-style: none; }
.ems-nav-group > summary::-webkit-details-marker { display: none; }
.ems-nav-group-toggle { display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 11px 12px; border-radius: var(--ems-control-radius); font-size: 13px; font-weight: 650; color: var(--ems-sidebar-ink); cursor: pointer; user-select: none; }
.ems-nav-group-toggle:hover { background: var(--ems-subtle); }
.ems-nav-group-toggle > span { flex: 1; }
.ems-nav-group-active { color: var(--ems-accent); background: var(--ems-focus); }
.ems-nav-chevron { width: 14px; height: 14px; flex-shrink: 0; transition: transform .15s; }
.ems-nav-group[open] > summary .ems-nav-chevron { transform: rotate(90deg); }
.ems-nav-children { margin: 7px 0 6px 20px; padding-left: 9px; border-left: 1px solid var(--ems-line); }
.ems-nav-children .ems-nav-link { padding: 9px 8px; gap: 8px; min-height: 38px; font-size: 12px; }
.ems-nav-children .ems-nav-icon { width: 16px; height: 16px; }
.ems-nav-subtitle { margin: 17px 8px 8px; color: var(--ems-muted); text-transform: uppercase; font-size: 8px; font-weight: 650; letter-spacing: .08em; }
.ems-nav-company { display: flex; align-items: center; gap: 10px; flex-shrink: 0; margin: 0 12px 14px; padding: 13px 10px; border: 1px solid var(--ems-line); border-radius: var(--ems-radius); background: var(--ems-panel); }
.ems-nav-company > div { min-width: 0; }
.ems-nav-company-icon { display: grid; place-items: center; width: 32px; height: 36px; flex-shrink: 0; color: var(--ems-accent); background: var(--ems-focus); border-radius: var(--ems-control-radius); }
.ems-nav-company small,.ems-nav-company div > span { display: block; color: var(--ems-muted); font-size: 9px; line-height: 1.6; }
.ems-nav-company strong { display: block; font-size: 11px; color: var(--ems-ink); font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ems-nav-close,.ems-menu-trigger { align-items: center; justify-content: center; min-width: 36px; min-height: 36px; color: var(--ems-ink); border: 1px solid var(--ems-line); border-radius: var(--ems-control-radius); background: var(--ems-panel); }
.ems-nav-close { display: none; margin-left: auto; }
.ems-nav-close svg { width: 18px; height: 18px; }
.ems-nav-overlay { position: fixed; inset: 0; z-index: 40; background: var(--ems-overlay); border: 0; }
.ems-nav-overlay[hidden] { display: none!important; }
@media(min-width:1024px) { .ems-app .ems-sidebar-navigation { position: relative!important; } .ems-menu-trigger { display: none; } }
@media(max-width:1023px) {
    .ems-app .ems-sidebar-navigation { position: fixed!important; inset: 0 auto 0 0; z-index: 50; width: min(var(--ems-sidebar-width),calc(100vw - 36px)); transform: translateX(-100%); visibility: hidden; transition: transform .2s ease; }
    .ems-app[data-ems-menu-open="true"] .ems-sidebar-navigation { transform: translateX(0); visibility: visible; }
    .ems-nav-close,.ems-menu-trigger { display: inline-flex; }
    .ems-sidebar-navigation .ems-navigation-brand { padding: 18px 12px; gap: 8px; }
    .ems-sidebar-navigation .ems-navigation-brand span { font-size: 16px; }
    .ems-navigation-brand .ems-brand-mark { width: 31px; height: 34px; }
}
@media print { .ems-nav-overlay,.ems-menu-trigger { display: none!important; } }

.ems-skip-link { position: fixed; top: 8px; left: 280px; z-index: 100; padding: 12px 18px; background: var(--ems-panel); color: var(--ems-accent); border: 1px solid var(--ems-line); border-radius: var(--ems-control-radius); transform: translateY(-160%); }
.ems-skip-link:focus { transform: translateY(0); }
@media(max-width:1023px) { .ems-skip-link { left: 16px; } }

@media(max-width:1023px) { .ems-nav-children .ems-nav-link { min-height: 44px; } }

/* Controle visual do modo Dia; não altera o brilho físico do monitor. */
.ems-appearance-controls { display: inline-flex; align-items: center; gap: 8px; }
.ems-brightness-control { position: relative; }
.ems-brightness-control > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 10px; border: 1px solid var(--ems-line); border-radius: var(--ems-control-radius); background: var(--ems-panel); color: var(--ems-muted); font-size: 12px; cursor: pointer; list-style: none; }
.ems-brightness-control > summary::-webkit-details-marker { display: none; }
.ems-brightness-control svg { width: 18px; height: 18px; }
html[data-ems-theme="dark"] .ems-brightness-control { display: none; }
.ems-brightness-popover { position: fixed; right: auto; left: 16px; top: 70px; z-index: 30; width: 232px; max-width: calc(100vw - 32px); padding: 16px; border: 1px solid var(--ems-line); border-radius: var(--ems-radius); background: var(--ems-panel); color: var(--ems-ink); box-shadow: var(--ems-shadow); }
.ems-brightness-popover label { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 600; }
.ems-brightness-popover input[type=range] { display: block; width: 100%; margin: 18px 0; padding: 0; accent-color: var(--ems-accent); }
.ems-brightness-actions { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--ems-muted); }
.ems-brightness-actions button { color: var(--ems-accent); font-weight: 600; }
.ems-brightness-popover p { margin-top: 12px; font-size: 10px; color: var(--ems-muted); }
.ems-day-brightness-shade { position: fixed; inset: 0; z-index: 2147483646; pointer-events: none; background: rgb(var(--ems-brightness-rgb,0 0 0)); opacity: var(--ems-brightness-alpha,0); }
html[data-ems-theme="dark"] .ems-day-brightness-shade { display: none; }
.ems-public-theme .ems-brightness-popover { right: auto; }
@media(max-width:640px) { .ems-brightness-control > summary > span { display: none; } .ems-brightness-control > summary { padding: 8px; } .ems-appearance-controls { gap: 6px; } }
@media print { .ems-brightness-control,.ems-day-brightness-shade { display: none!important; } }
@media(max-width:1279px) { .ems-topbar .ems-breadcrumb { display: none; } }
.ems-topbar .ems-user-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Em telas amplas, a barra fica visível no topo; no celular, abre no botão Brilho. */
@media(min-width:1280px) {
    .ems-brightness-control > summary { display: none; }
    .ems-brightness-control .ems-brightness-popover { position: static; display: flex; align-items: center; gap: 8px; width: auto; max-width: none; padding: 8px 10px; border-radius: var(--ems-control-radius); box-shadow: none; }
    .ems-brightness-popover label { font-size: 0; align-items: center; gap: 5px; }
    .ems-brightness-popover label::before { content: 'Brilho'; font-size: 11px; }
    .ems-brightness-popover output { font-size: 11px; min-width: 30px; }
    .ems-brightness-popover input[type=range] { width: 82px; margin: 0; }
    .ems-brightness-popover .ems-brightness-actions > span,.ems-brightness-popover p { display: none; }
    .ems-brightness-popover .ems-brightness-actions { font-size: 10px; }
}
@media(max-width:1399px) { .ems-topbar .ems-breadcrumb { display: none; } }

/* Ações de linhas: padrão único para todas as páginas, nos dois temas. */
.ems-actions-cell { white-space: nowrap; }
.ems-actions-cell > div:not([x-show]) { gap: 6px!important; }
.ems-actions-cell .ems-action-separator { display: none; }
html body .ems-action-icon-button.ems-action-icon-button {
    display: inline-flex!important; align-items: center!important; justify-content: center!important;
    vertical-align: middle; flex: 0 0 auto; width: 36px!important; min-width: 36px!important;
    height: 36px!important; min-height: 36px!important; padding: 0!important; margin: 2px!important;
    border: 1px solid var(--ems-line)!important; border-radius: 9px!important;
    background: var(--ems-panel)!important; color: var(--ems-muted)!important;
    font-size: 0!important; line-height: 0!important; gap: 0!important; box-shadow: none!important;
    cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
html body .ems-action-icon-button > :not(.ems-action-glyph) { display: none!important; }
html body .ems-action-icon-button .ems-action-glyph { display: block!important; width: 18px!important; height: 18px!important; flex: none; pointer-events: none; }
html body .ems-action-icon-button[data-ems-action-tone="accent"] { background: var(--ems-warning-bg)!important; color: var(--ems-accent)!important; }
html body .ems-action-icon-button[data-ems-action-tone="purple"] { background: var(--ems-purple-bg)!important; color: var(--ems-purple-ink)!important; }
html body .ems-action-icon-button[data-ems-action-tone="danger"] { background: var(--ems-danger-bg)!important; color: var(--ems-danger-ink)!important; }
html body .ems-action-icon-button[data-ems-action-tone="success"] { background: var(--ems-success-bg)!important; color: var(--ems-success-ink)!important; }
html body .ems-action-icon-button[data-ems-action-tone="warning"] { background: var(--ems-warning-bg)!important; color: var(--ems-warning-ink)!important; }
html body .ems-action-icon-button:hover { border-color: var(--ems-accent)!important; color: var(--ems-accent)!important; background: var(--ems-subtle)!important; }
html body .ems-action-icon-button:focus-visible { outline: 2px solid var(--ems-accent)!important; outline-offset: 3px; }
html body .ems-action-icon-button:disabled,html body .ems-action-icon-button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.ems-action-tooltip {
    position: fixed; z-index: 2147483645; width: max-content; max-width: min(280px, calc(100vw - 16px));
    padding: 7px 11px; border: 1px solid var(--ems-line); border-radius: 7px;
    background: var(--ems-inverse-bg); color: var(--ems-inverse-ink); box-shadow: var(--ems-shadow);
    font: 600 12px/1.4 var(--ems-font); white-space: normal; overflow-wrap: anywhere; pointer-events: none;
}
.ems-action-tooltip[hidden] { display: none!important; }
@media(pointer:coarse) { html body .ems-action-icon-button.ems-action-icon-button { width: 44px!important; height: 44px!important; } }
@media(prefers-reduced-motion:reduce) { html body .ems-action-icon-button { transition: none!important; } }
@media print { .ems-action-tooltip { display: none!important; } }

/* Página comercial EMS. Paleta herdada das variáveis globais acima. */
.ems-marketing { margin: 0; background: var(--ems-panel); color: var(--ems-ink); font: 15px/1.65 var(--ems-font); -webkit-font-smoothing: antialiased; }
.ems-marketing *, .ems-marketing *::before, .ems-marketing *::after { box-sizing: border-box; }
.ems-marketing :is(h1,h2,h3,p,figure) { margin: 0; }
.ems-marketing a { color: inherit; text-decoration: none; }
.ems-marketing button { font: inherit; cursor: pointer; }
.ems-marketing svg { display: block; width: 22px; height: 22px; flex-shrink: 0; }
.ems-marketing :is(a,button,summary,input,[tabindex]):focus-visible { outline: 3px solid var(--ems-accent); outline-offset: 5px; }
.ems-marketing [id] { scroll-margin-top: 110px; }
.mk-container { width: min(1240px,calc(100% - 80px)); margin-inline: auto; }
.mk-skip { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--ems-panel); }
.mk-skip:focus { top: 12px; }
.mk-header { position: sticky; top: 0; z-index: 50; background: var(--ems-panel); border-bottom: 1px solid var(--ems-line); }
.mk-header-inner { display: flex; align-items: center; gap: 28px; min-height: 90px; }
.mk-brand { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 22px; font-weight: 850; letter-spacing: -.8px; line-height: 1.15; }
.mk-brand-mark { display: grid; place-items: center; width: 40px; height: 42px; border-radius: 13px 5px 13px 5px; background: var(--ems-primary); color: var(--ems-on-primary); font-size: 29px; font-style: italic; }
.mk-brand-light { font-weight: 500; }
.mk-brand small { display: block; font-size: 8px; letter-spacing: 2.4px; color: var(--ems-muted); margin-top: 5px; }
.mk-nav { display: flex; align-items: center; gap: 22px; margin-left: auto; font-size: 13px; font-weight: 550; }
.mk-nav a:hover,.mk-login:hover { color: var(--ems-accent); }
.mk-header-actions { display: flex; align-items: center; gap: 16px; }
.mk-login { font-size: 13px; font-weight: 650; }
.ems-marketing .mk-button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 52px; padding: 13px 22px; border: 1px solid var(--ems-primary); border-radius: 9px; background: var(--ems-primary); color: var(--ems-on-primary); font-weight: 750; font-size: 14px; line-height: 1.4; transition: transform .18s,box-shadow .18s; }
.ems-marketing .mk-button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px -14px var(--ems-accent); }
.ems-marketing .mk-button-small { font-size: 12px; padding: 11px 14px; min-height: 43px; gap: 8px; }
.ems-marketing .mk-button-outline { background: transparent; color: var(--ems-ink); border-color: var(--ems-line); }
.mk-button svg,.mk-text-link svg { width: 18px; height: 18px; }
.mk-mobile-login { display: none; }
.mk-menu-toggle { align-items: center; gap: 7px; background: transparent; color: var(--ems-ink); border: 1px solid var(--ems-line); border-radius: 8px; padding: 8px; min-height: 44px; }
.mk-hero { overflow: hidden; background: radial-gradient(ellipse at 95% 40%, var(--ems-subtle), transparent 65%),var(--ems-panel); padding: 86px 0 78px; }
.mk-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 48px; align-items: center; }
.mk-eyebrow { font-size: 10px; font-weight: 750; letter-spacing: 2px; color: var(--ems-accent); text-transform: uppercase; line-height: 1.6; margin-bottom: 20px!important; }
.mk-live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ems-primary); margin-right: 8px; }
.mk-hero h1 { font-size: clamp(38px,4vw,60px); line-height: 1.09; letter-spacing: -2.8px; font-weight: 800; }
.mk-hero h1>span { color: var(--ems-accent); }
.mk-lead { max-width: 490px; font-size: 16px; line-height: 1.85; color: var(--ems-muted); margin-top: 25px!important; }
.mk-cta-row { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; margin-top: 30px; }
.mk-text-link { display: inline-flex; gap: 10px; align-items: center; font-size: 13px; font-weight: 750; }
.mk-hero-note { font-size: 10px; color: var(--ems-muted); margin-top: 16px!important; }
.mk-hero-note>span { padding: 0 8px; }
.mk-hero-bottom { display: flex; align-items: center; gap: 12px; padding-top: 30px; margin-top: 30px; border-top: 1px solid var(--ems-line); font-size: 11px; color: var(--ems-muted); }
.mk-hero-bottom strong { color: var(--ems-ink); font-weight: 600; }
.mk-mini-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--ems-subtle); color: var(--ems-accent); flex-shrink: 0; }
.mk-hero-visual { position: relative; min-width: 0; padding: 20px 0 50px; }
.mk-orbit { position: absolute; width: 460px; height: 460px; border: 1px solid var(--ems-line); border-radius: 50%; pointer-events: none; top: -10px; left: 70px; }
.mk-orbit-two { width: 570px; height: 570px; left: 20px; top: -60px; opacity: .5; }
.mk-preview { position: relative; border: 1px solid var(--ems-line); border-radius: 15px; background: var(--ems-panel); overflow: hidden; box-shadow: 0 25px 60px -35px #54300c66; transform: perspective(1500px) rotateY(-5deg) rotateZ(1deg); }
.mk-preview-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--ems-line); min-height: 43px; padding: 10px 16px; font-size: 9px; color: var(--ems-muted); background: var(--ems-subtle); }
.mk-preview-top-divider { opacity: .4; padding: 0 8px; }
.mk-window-dots { display: flex; gap: 4px; }
.mk-window-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--ems-muted); opacity: .4; }
.mk-demo-badge { font-size: 7px; letter-spacing: 1px; font-weight: 700; }
.mk-preview-body { display: flex; }
.mk-preview-sidebar { display: flex; flex-direction: column; gap: 19px; align-items: center; width: 48px; flex-shrink: 0; padding: 16px 0; border-right: 1px solid var(--ems-line); background: var(--ems-subtle); }
.mk-preview-sidebar b { color: var(--ems-accent); font-size: 21px; margin-bottom: 8px; }
.mk-preview-sidebar svg { width: 15px; height: 15px; color: var(--ems-muted); }
.mk-preview-sidebar>span:first-of-type svg { color: var(--ems-accent); }
.mk-preview-main { flex: 1; min-width: 0; padding: 25px 18px 18px; }
.mk-preview-greeting { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mk-preview-greeting small { font-size: 6px; letter-spacing: 1.5px; color: var(--ems-muted); }
.mk-preview-greeting h2 { font-size: 14px; line-height: 1.5; letter-spacing: -.3px; margin-top: 4px; }
.mk-demo-avatar { display: grid; place-items: center; width: 26px; height: 26px; background: var(--ems-inverse-bg); color: var(--ems-inverse-ink); border-radius: 50%; font-size: 9px; }
.mk-preview-stats { display: grid; grid-template-columns: 1.2fr .9fr 1.1fr; gap: 8px; margin: 20px 0 14px; }
.mk-preview-stats>div { padding: 11px 8px; border: 1px solid var(--ems-line); border-radius: 8px; }
.mk-preview-stats>div>span { display: block; font-size: 7px; color: var(--ems-muted); }
.mk-preview-stats strong { display: block; font-size: 16px; letter-spacing: -.5px; margin: 6px 0; white-space: nowrap; }
.mk-preview-stats strong span { font-size: 10px; font-weight: 550; }
.mk-preview-stats small { font-size: 6px; color: var(--ems-success-ink); }
.mk-preview-chart { padding: 14px 10px 8px; border: 1px solid var(--ems-line); border-radius: 8px; }
.mk-chart-title { display: flex; justify-content: space-between; gap: 8px; align-items: center; font-size: 9px; }
.mk-chart-title>span { font-size: 6px; white-space: nowrap; color: var(--ems-muted); }
.mk-chart-title i { display: inline-block; width: 4px; height: 4px; background: var(--ems-primary); margin: 0 3px; border-radius: 50%; }
.mk-chart-title i+i { background: var(--ems-muted); }
.ems-marketing .mk-line-chart { display: block; width: 100%; height: auto; margin-top: 14px; overflow: visible; }
.mk-chart-grid { stroke: var(--ems-line); stroke-width: .6; }
.mk-chart-income { fill: none; stroke: var(--ems-primary); stroke-width: 2.5; stroke-linejoin: round; }
.mk-chart-expense { fill: none; stroke: var(--ems-muted); stroke-width: 2; stroke-linejoin: round; }
.mk-chart-months { display: flex; justify-content: space-between; font-size: 7px; color: var(--ems-muted); padding-top: 7px; }
.mk-preview-service { display: flex; align-items: center; gap: 9px; border: 1px solid var(--ems-line); border-radius: 8px; margin-top: 14px; padding: 10px; }
.mk-preview-service strong { display: block; font-size: 9px; }
.mk-preview-service small { display: block; font-size: 7px; color: var(--ems-muted); }
.mk-preview-service .mk-mini-icon { width: 25px; height: 28px; border-radius: 5px; }
.mk-preview-service svg { width: 14px; height: 14px; }
.mk-status { margin-left: auto; color: var(--ems-success-ink); background: var(--ems-success-bg); padding: 3px 6px; border-radius: 5px; font-size: 7px; }
.mk-float-card { position: absolute; right: -10px; bottom: 20px; display: flex; align-items: center; gap: 10px; padding: 15px 22px; border: 1px solid var(--ems-line); background: var(--ems-panel); border-radius: 12px; box-shadow: 0 12px 35px -20px #54300c66; }
.mk-float-card>span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--ems-success-ink); background: var(--ems-success-bg); }
.mk-float-card strong { display: block; font-size: 11px; }
.mk-float-card small { display: block; font-size: 9px; color: var(--ems-muted); }
.mk-preview-caption { position: absolute; bottom: -10px; left: 15px; font-size: 9px; color: var(--ems-muted); }
.mk-capabilities { border-block: 1px solid var(--ems-line); background: var(--ems-subtle); }
.mk-capabilities .mk-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 25px; }
.mk-capabilities p { font-size: 8px; letter-spacing: 1px; color: var(--ems-muted); line-height: 1.8; }
.mk-capabilities strong { font-size: 11px; color: var(--ems-ink); letter-spacing: 0; }
.mk-capabilities .mk-container>span { font-size: 11px; color: var(--ems-muted); font-weight: 600; }
.mk-section { padding: 96px 0; }
.mk-section h2,.mk-operation h2 { font-size: clamp(29px,3vw,41px); line-height: 1.2; letter-spacing: -1.6px; font-weight: 750; }
.ems-marketing h2 em { color: var(--ems-accent); font-style: normal; }
.mk-section-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: end; margin-bottom: 45px; }
.mk-section-heading>p { max-width: 400px; color: var(--ems-muted); font-size: 14px; line-height: 1.9; }
.mk-section-heading .mk-eyebrow { margin-bottom: 14px!important; }
.mk-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--ems-line); border-radius: 16px; overflow: hidden; gap: 1px; background: var(--ems-line); }
.mk-module { padding: 30px; background: var(--ems-panel); }
.mk-module-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; background: var(--ems-subtle); color: var(--ems-accent); margin-bottom: 23px; }
.mk-module h3 { font-size: 17px; line-height: 1.4; letter-spacing: -.4px; }
.mk-module p { margin-top: 12px!important; font-size: 13px; color: var(--ems-muted); line-height: 1.85; }
.mk-tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 20px 0 0; list-style: none; }
.mk-tags li { border: 1px solid var(--ems-line); border-radius: 4px; padding: 3px 6px; font-size: 8px; color: var(--ems-muted); }
.mk-story { background: var(--ems-bg); border-block: 1px solid var(--ems-line); }
.mk-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; }
.mk-story-image { position: relative; }
.mk-story-image img { display: block; width: 100%; height: 530px; object-fit: cover; border-radius: 18px; }
.mk-story-image figcaption { position: absolute; bottom: 24px; left: 24px; right: 24px; padding: 18px 22px; border-radius: 10px; background: var(--ems-panel); color: var(--ems-ink); font-size: 15px; font-weight: 650; border: 1px solid var(--ems-line); }
.mk-lead-small { color: var(--ems-muted); font-size: 14px; margin-top: 20px!important; }
.mk-steps { padding: 0; margin: 25px 0; list-style: none; display: grid; gap: 19px; }
.mk-steps li { display: flex; gap: 15px; align-items: start; }
.mk-steps li>span { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid var(--ems-line); background: var(--ems-panel); border-radius: 9px; font-size: 10px; color: var(--ems-accent); flex-shrink: 0; }
.mk-steps h3 { font-size: 14px; }
.mk-steps p { color: var(--ems-muted); font-size: 12px; }
.mk-segment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.mk-segment { position: relative; padding: 28px; border: 1px solid var(--ems-line); border-radius: 12px; background: var(--ems-bg); }
.mk-segment-number { position: absolute; top: 20px; right: 22px; color: var(--ems-muted); opacity: .6; font-size: 10px; }
.mk-segment-icon { color: var(--ems-accent); display: block; margin-bottom: 28px; }
.mk-segment h3 { font-size: 16px; margin-bottom: 10px!important; }
.mk-segment p { color: var(--ems-muted); font-size: 12px; }
.mk-operation { background: var(--ems-inverse-bg); color: var(--ems-inverse-ink); padding: 78px 0; }
.mk-operation-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.mk-operation .mk-eyebrow { color: var(--ems-primary); }
.mk-operation-inner>div>p:not(.mk-eyebrow) { color: var(--ems-inverse-ink); opacity: .8; font-size: 14px; max-width: 400px; margin-top: 24px; }
.mk-operation .mk-button { margin-top: 25px; }
.mk-flow { margin: 0; padding: 0; list-style: none; display: grid; gap: 24px; }
.mk-flow li { display: flex; gap: 18px; align-items: center; }
.mk-flow li>span { display: grid; place-items: center; width: 50px; height: 50px; background: #ffffff0d; border: 1px solid #ffffff26; border-radius: 12px; color: var(--ems-primary); }
.mk-flow h3 { font-size: 16px; }
.mk-flow p { font-size: 12px; opacity: .75; margin-top: 3px; }
.mk-heading-center { text-align: center; max-width: 700px; margin: 0 auto 48px; }
.mk-heading-center>p:last-child { color: var(--ems-muted); margin-top: 20px; font-size: 14px; }
.mk-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.mk-plan { position: relative; padding: 35px 28px; border: 1px solid var(--ems-line); border-radius: 15px; background: var(--ems-panel); }
.mk-plan-featured { border: 2px solid var(--ems-primary); background: var(--ems-bg); }
.mk-plan-badge { position: absolute; top: -13px; left: 25px; background: var(--ems-primary); color: var(--ems-on-primary); border-radius: 5px; padding: 5px 10px; font-size: 8px; font-weight: 750; letter-spacing: 1px; }
.mk-plan .mk-eyebrow { font-size: 9px; margin-bottom: 9px!important; }
.mk-plan h3 { font-size: 28px; letter-spacing: -.8px; }
.mk-plan-description { min-height: 80px; margin-top: 10px!important; font-size: 13px; color: var(--ems-muted); }
.mk-price { margin: 25px 0; }
.mk-price strong { display: block; font-size: 25px; letter-spacing: -.6px; }
.mk-price span { font-size: 10px; color: var(--ems-muted); }
.mk-plan .mk-button { width: 100%; }
.mk-plan-features { display: grid; gap: 13px; list-style: none; padding: 25px 0 0; margin: 25px 0 0; border-top: 1px solid var(--ems-line); }
.mk-plan-features li { display: flex; align-items: flex-start; gap: 10px; color: var(--ems-muted); font-size: 12px; }
.mk-plan-features svg { width: 16px; height: 16px; margin-top: 2px; color: var(--ems-accent); }
.mk-plan-note { max-width: 780px; text-align: center; margin: 25px auto 0!important; font-size: 11px; color: var(--ems-muted); }
.mk-comparison { padding-top: 0; }
.mk-table-scroll { width: 100%; overflow-x: auto; border: 1px solid var(--ems-line); border-radius: 12px; }
.mk-comparison-table { border-collapse: collapse; width: 100%; text-align: left; min-width: 760px; font-size: 12px; }
.mk-comparison-table caption { text-align: left; padding: 15px 22px; font-size: 10px; color: var(--ems-muted); border-bottom: 1px solid var(--ems-line); }
.mk-comparison-table :is(th,td) { padding: 18px 22px; width: 25%; vertical-align: top; border-bottom: 1px solid var(--ems-line); }
.mk-comparison-table thead { background: var(--ems-subtle); font-size: 13px; }
.mk-comparison-table tbody th { font-weight: 550; }
.mk-comparison-table td { color: var(--ems-muted); }
.mk-comparison-table :is(th,td):nth-child(2) { background: var(--ems-bg); color: var(--ems-ink); }
.mk-comparison-table tbody tr:last-child>* { border: 0; }
.mk-future { color: var(--ems-accent); font-size: 11px; font-weight: 600; }
.mk-comparison-source { font-size: 10px; margin-top: 15px!important; color: var(--ems-muted); }
.mk-comparison-source a { text-decoration: underline; text-underline-offset: 3px; }
.mk-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.mk-faq-grid>div>p:not(.mk-eyebrow) { color: var(--ems-muted); margin: 20px 0; font-size: 14px; }
.mk-faq details { border-bottom: 1px solid var(--ems-line); }
.mk-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; font-weight: 650; font-size: 14px; cursor: pointer; padding: 23px 0; }
.mk-faq summary::-webkit-details-marker { display: none; }
.mk-faq summary>span { display: inline-block; font-size: 22px; color: var(--ems-accent); font-weight: 400; transition: transform .2s; }
.mk-faq details[open] summary>span { transform: rotate(45deg); }
.mk-faq details>p { color: var(--ems-muted); font-size: 13px; padding: 0 25px 22px 0; line-height: 1.9; }
.mk-final { text-align: center; padding: 80px 0; background: var(--ems-subtle); border-block: 1px solid var(--ems-line); }
.mk-final h2 { font-size: clamp(30px,3.6vw,48px); line-height: 1.2; letter-spacing: -1.8px; }
.mk-final .mk-container>p:not(.mk-eyebrow) { color: var(--ems-muted); margin-top: 20px; font-size: 14px; }
.mk-final .mk-cta-row { justify-content: center; }
.mk-footer { padding: 55px 0 20px; }
.mk-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 40px; }
.mk-footer-top>p { color: var(--ems-muted); font-size: 12px; }
.mk-footer-top nav { display: grid; gap: 10px; font-size: 12px; }
.mk-footer-bottom { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--ems-line); color: var(--ems-muted); font-size: 10px; }
@media(min-width:1500px) { .mk-container { width: min(1320px,calc(100% - 100px)); } .mk-hero { padding-block: 105px; } }
@media(max-width:1250px) { .mk-header-inner { gap: 18px; } .mk-header-actions { gap: 10px; } .mk-nav { gap: 16px; } .mk-header-actions .ems-brightness-control { display: none; } .mk-header-actions .mk-button-small { font-size: 11px; padding-inline: 10px; } .mk-hero-grid { gap: 30px; } }
@media(max-width:1050px) {
 .mk-container { width: calc(100% - 48px); } .mk-header-inner { min-height: 80px; flex-wrap: wrap; gap: 16px; }
 .mk-header-actions { margin-left: auto; } .mk-header-actions .mk-button-small { display: none; }
 .mk-menu-toggle:not([hidden]) { display: inline-flex; order: 3; } .mk-nav { order: 4; width: 100%; padding-bottom: 16px; justify-content: center; } .mk-nav[hidden] { display: none; }
 .mk-hero { padding: 65px 0; } .mk-hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; } .mk-hero h1 { font-size: 43px; letter-spacing: -2px; }
 .mk-preview { transform: none; } .mk-preview-main { padding: 16px 10px; } .mk-preview-sidebar { width: 35px; } .mk-preview-stats { grid-template-columns: 1fr 1fr; }
 .mk-preview-stats>div:last-child { display: none; } .mk-preview-greeting h2 { font-size: 11px; } .mk-chart-title>span { display: none; }
 .mk-preview-stats strong { font-size: 17px; } .mk-capabilities .mk-container { flex-wrap: wrap; justify-content: center; gap: 12px 22px; } .mk-capabilities p { width: 100%; text-align: center; }
 .mk-story-grid { gap: 35px; } .mk-module { padding: 24px; } .mk-operation-inner { gap: 40px; } .mk-plan { padding: 30px 20px; } .mk-plan-description { min-height: 105px; }
 .mk-faq-grid { gap: 40px; } .mk-section-heading { gap: 35px; }
}
@media(max-width:760px) {
 .mk-hero-grid { grid-template-columns: 1fr; gap: 45px; } .mk-hero-copy { max-width: 550px; } .mk-hero h1 { font-size: clamp(37px,7vw,52px); }
 .mk-hero-visual { max-width: 600px; width: 100%; } .mk-preview-main { padding: 20px 15px; } .mk-preview-sidebar { width: 45px; } .mk-preview-stats { grid-template-columns: 1.2fr .9fr 1.1fr; }
 .mk-preview-stats>div:last-child { display: block; } .mk-preview-greeting h2 { font-size: 14px; } .mk-preview-stats strong { font-size: 20px; }
 .mk-preview-caption { bottom: -5px; } .mk-float-card { right: 0; bottom: 20px; } .mk-hero-bottom { display: none; }
 .mk-section { padding: 65px 0; } .mk-section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; } .mk-section-heading>p { max-width: 100%; }
 .mk-module-grid,.mk-segment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .mk-story-grid { grid-template-columns: 1fr; gap: 35px; }
 .mk-story-image img { height: 380px; } .mk-story-grid>div { max-width: 560px; } .mk-operation-inner { grid-template-columns: 1fr; gap: 40px; } .mk-flow { grid-template-columns: 1fr 1fr; gap: 25px; }
 .mk-plan-grid { grid-template-columns: 1fr; gap: 30px; } .mk-plan { padding: 30px; } .mk-plan-description { min-height: 0; } .mk-price { margin-block: 20px; } .mk-plan-features { gap: 10px; }
 .mk-comparison { padding-top: 0; } .mk-faq-grid { grid-template-columns: 1fr; gap: 25px; } .mk-final { padding: 65px 0; } .mk-footer-top { flex-wrap: wrap; }
 .mk-footer-top>p { display: none; } .mk-footer-bottom { flex-wrap: wrap; gap: 10px; } .mk-heading-center { text-align: left; } .mk-heading-center br { display: none; }
}
@media(max-width:480px) {
 .mk-container { width: calc(100% - 36px); } .mk-header-inner { min-height: 74px; gap: 10px; } .mk-brand { font-size: 18px; gap: 8px; } .mk-brand-mark { width: 31px; height: 35px; font-size: 24px; } .mk-brand small { font-size: 6px; letter-spacing: 1.8px; }
 .mk-header-actions { gap: 8px; } .mk-header-actions .ems-theme-button { min-height: 44px; min-width: 44px; width: 44px; padding: 10px; justify-content: center; } .mk-header-actions [data-ems-theme-label] { display: none; }
 .mk-login { display: none; } .mk-menu-toggle { padding: 10px; min-height: 44px; } .mk-menu-toggle span { display: none; } .mk-mobile-login { display: block; }
 .mk-nav { flex-wrap: wrap; gap: 16px; font-size: 12px; } .mk-nav .mk-mobile-login { width: 100%; text-align: center; padding: 8px; border: 1px solid var(--ems-line); border-radius: 7px; }
 .mk-hero { padding: 42px 0 55px; } .mk-hero h1 { font-size: 39px; letter-spacing: -1.9px; } .mk-eyebrow { font-size: 8px; letter-spacing: 1.6px; margin-bottom: 16px!important; }
 .mk-lead { font-size: 14px; margin-top: 20px!important; } .mk-cta-row { gap: 20px; } .mk-button { font-size: 13px!important; } .mk-hero-note { font-size: 9px; } .mk-hero-note>span { padding-inline: 3px; }
 .mk-hero-grid { gap: 30px; } .mk-preview-main { padding: 15px 9px; } .mk-preview-sidebar { width: 29px; gap: 22px; } .mk-preview-sidebar svg { width: 12px; height: 12px; } .mk-preview-greeting h2 { font-size: 10px; }
 .mk-preview-greeting small { font-size: 5px; letter-spacing: .7px; } .mk-demo-avatar { width: 21px; height: 21px; } .mk-preview-stats { gap: 5px; margin-top: 15px; } .mk-preview-stats>div { padding: 8px 5px; }
 .mk-preview-stats strong { font-size: 12px; letter-spacing: -.4px; } .mk-preview-stats strong span { font-size: 7px; } .mk-preview-stats>div>span { font-size: 6px; } .mk-preview-stats small { font-size: 5px; }
 .mk-preview-top { padding: 9px; gap: 6px; font-size: 7px; } .mk-demo-badge { font-size: 5px; } .mk-preview-chart { padding: 10px 7px; } .mk-chart-title { font-size: 7px; }
 .mk-preview-service { padding: 7px; gap: 6px; } .mk-preview-service strong { font-size: 8px; } .mk-preview-service small { font-size: 6px; } .mk-float-card { padding: 11px 14px; } .mk-float-card small { font-size: 8px; }
 .mk-module-grid,.mk-segment-grid { grid-template-columns: 1fr; } .mk-module { padding: 26px; } .mk-module-icon { margin-bottom: 16px; } .mk-tags li { font-size: 9px; }
 .mk-section h2,.mk-operation h2 { font-size: 31px; letter-spacing: -1.1px; } .mk-story-image img { height: 360px; } .mk-story-image figcaption { inset-inline: 16px; bottom: 16px; font-size: 13px; padding: 15px; }
 .mk-flow { grid-template-columns: 1fr; } .mk-operation { padding: 60px 0; } .mk-plan { padding: 30px 24px; } .mk-final .mk-button { width: 100%; } .mk-final .mk-cta-row { gap: 12px; } .mk-final h2 { font-size: 32px; letter-spacing: -1px; }
 .mk-footer-top nav { width: 100%; } .mk-footer-top { gap: 25px; }
}
@media(prefers-reduced-motion:reduce) { .ems-marketing *, .ems-marketing *::before, .ems-marketing *::after { transition: none!important; animation: none!important; scroll-behavior: auto!important; } }

/* Imagens de IA dos módulos e segmentos da página comercial. */
.mk-module { --mk-card-padding: 30px; }
.mk-segment { --mk-card-padding: 28px; overflow: hidden; }
.mk-card-media { margin: calc(-1 * var(--mk-card-padding)) calc(-1 * var(--mk-card-padding)) 24px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ems-subtle); }
.mk-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.mk-module-icon { margin-bottom: 18px; }
.mk-segment-icon { margin-bottom: 16px; }
.mk-segment-number { padding: 3px 8px; border-radius: 5px; background: var(--ems-panel); color: var(--ems-ink); opacity: 1; }
.mk-image-note { margin-top: 14px!important; color: var(--ems-muted); font-size: 10px; }
@media(max-width:1050px) { .mk-module { --mk-card-padding: 24px; } }
@media(max-width:480px) { .mk-module { --mk-card-padding: 26px; } }

/* Frente de caixa e impressão de recibos não fiscais. */
.pdv-workbench { display: grid; grid-template-columns: 1fr 1.1fr; gap: 20px; align-items: start; }
.pdv-workbench > * { min-width: 0; }
.pdv-results { display: grid; gap: 8px; max-height: 520px; overflow: auto; }
.pdv-result { display: flex; justify-content: space-between; text-align: left; gap: 16px; padding: 14px; border: 1px solid var(--ems-line); border-radius: 8px; background: var(--ems-panel); color: var(--ems-ink); }
.pdv-result strong,.pdv-result small { display: block; }
.pdv-result strong { font-size: 13px; }
.pdv-result small { font-size: 11px; color: var(--ems-muted); }
.pdv-cart-item { display: grid; grid-template-columns: minmax(0,1fr) 100px auto; gap: 12px; align-items: end; padding-bottom: 16px; border-bottom: 1px solid var(--ems-line); }
.pdv-cart-item strong,.pdv-cart-item small { display: block; }
.pdv-cart-item strong { overflow-wrap: anywhere; font-size: 13px; }
.pdv-cart-item small { color: var(--ems-muted); font-size: 11px; }
.pdv-total { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 20px 0; border-block: 1px solid var(--ems-line); }
.pdv-total strong { font-size: 28px; }
.pdv-print-page { margin: 0; padding: 20px; background: #eee; color: #111; font: 14px/1.5 system-ui,sans-serif; }
.pdv-print-page * { box-sizing: border-box; }
.pdv-print-toolbar { max-width: 750px; margin: 0 auto 25px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pdv-print-toolbar :is(h1,p,ol) { width: 100%; margin: 0; }
.pdv-print-toolbar h1 { font-size: 22px; }
.pdv-print-toolbar button,.pdv-print-toolbar select,.pdv-print-toolbar a { padding: 10px 14px; border: 1px solid #aaa; border-radius: 6px; color: #111; background: #fff; font: inherit; cursor: pointer; }
.pdv-receipt { width: 80mm; max-width: 100%; margin: 0 auto; padding: 4mm; background: #fff; color: #111; font: 11px/1.45 ui-monospace,monospace; overflow-wrap: anywhere; }
[data-pdv-paper="58"] .pdv-receipt { width: 58mm; font-size: 10px; }
[data-pdv-paper="a4"] .pdv-receipt { width: 190mm; font-size: 13px; }
.pdv-receipt h1 { font-size: 16px; text-align: center; margin: 0 0 8px; }
.pdv-receipt h2 { font-size: 12px; text-align: center; margin: 12px 0; }
.pdv-receipt p { margin: 5px 0; }
.pdv-receipt header { text-align: center; }
.pdv-receipt table { width: 100%; border-collapse: collapse; font: inherit; table-layout: fixed; }
.pdv-receipt :is(th,td) { padding: 5px 2px; text-align: left; vertical-align: top; }
.pdv-receipt :is(th,td):last-child { width: 30%; text-align: right; }
.pdv-receipt small { display: block; font-size: 9px; }
.pdv-receipt hr { border: 0; border-top: 1px dashed #555; margin: 10px 0; }
.pdv-receipt-pair { display: flex; justify-content: space-between; gap: 10px; }
.pdv-receipt-note { font-size: 9px; }
@media(max-width:1100px) { .pdv-workbench { grid-template-columns: 1fr; } }
@media(max-width:480px) { .pdv-cart-item { grid-template-columns: minmax(0,1fr) 90px; } .pdv-cart-item>button { grid-column: 1/-1; } .pdv-total strong { font-size: 23px; } .pdv-print-page { padding: 12px; } }
@media print { @page { size: auto; margin: 3mm; } .pdv-print-page { background: #fff; padding: 0; } .pdv-print-toolbar { display: none!important; } .pdv-receipt { margin: 0; padding: 0; max-width: 100%; } .pdv-receipt tr { break-inside: avoid; } }

/* Consistent header/body alignment for application grids; document and receipt styles stay local. */
@media screen {
 .ems-app .ems-main table:not(.pdv-receipt table):not(.ems-document table):not(.mk-comparison-table) { width:100%; border-collapse:collapse; }
 .ems-app .ems-main table:not(.pdv-receipt table):not(.ems-document table):not(.mk-comparison-table) :is(th,td) { text-align:left; vertical-align:middle; padding:14px 16px; }
 .ems-app .ems-main table:not(.pdv-receipt table):not(.ems-document table):not(.mk-comparison-table) :is(th,td).text-center { text-align:center; }
 .ems-app .ems-main table:not(.pdv-receipt table):not(.ems-document table):not(.mk-comparison-table) :is(th,td).text-right { text-align:right; }
 .ems-app .ems-main table:not(.pdv-receipt table):not(.ems-document table):not(.mk-comparison-table) th { font-weight:650; }
 .ems-app .ems-main [data-tags-record] { font-family:inherit; max-width:24rem; align-items:center; }
 .ems-app .ems-main [data-tags-filter] { min-width:0; }
 .ems-app .ems-main [data-tag-filter-picker] { min-width:0; }
}

/* Compact query panels: one native keyboard-accessible control per filter form. */
.ems-filter-panel { min-width:0; width:100%; }
.ems-filter-toggle { width:fit-content; list-style:none; cursor:pointer; gap:8px; }
.ems-filter-toggle::-webkit-details-marker { display:none; }
.ems-filter-toggle:focus-visible { outline:2px solid var(--ems-accent); outline-offset:3px; }
.ems-filter-chevron { transition:transform .15s; }
.ems-filter-panel[open] > .ems-filter-toggle .ems-filter-chevron { transform:rotate(180deg); }
.ems-filter-content { margin-top:16px; min-width:0; }
.ems-filter-content > form { min-width:0; }
.ems-status-stack { display:flex; flex-direction:column; align-items:center; gap:8px; }
.ems-status-stack > * { margin-top:0; max-width:100%; }
.ems-status-stack > details { min-width:0; }
@media screen and (max-width:640px) {
 .ems-app .ems-main table:not(.pdv-receipt table):not(.ems-document table):not(.mk-comparison-table) :is(th,td) { padding:12px; }
}
@media (prefers-reduced-motion:reduce) { .ems-filter-chevron { transition:none; } }

.ems-filter-content > form.flex { flex-wrap:wrap; }
.ems-filter-content [data-tags-filter] { flex-basis:100%; width:100%; }
.ems-tags-compact { gap:8px; }
.ems-tags-compact > .ems-tags-selected { order:2; }
.ems-tags-compact > .ems-tags-selected > p { display:none; }
.ems-tags-compact > .ems-tags-results { order:1; }
.ems-tags-compact > [data-tags-message], .ems-tags-compact > .ems-tags-create-disclosure { order:3; }
.ems-tags-create-disclosure > .ems-tags-create { margin-top:8px; }

.ems-tags-compact > [data-tags-values] { display:none; }
.ems-tags-compact > .ems-field { font-size:14px; font-weight:700; gap:6px; }
.ems-tags-compact > .ems-field input { min-height:46px; }
.ems-tags-compact > [data-tags-message]:empty { display:none; }
.ems-tags-compact > .ems-tags-selected:not(:has(.ems-tags-chip)) { display:none; }
.ems-app .ems-main td.text-center > details { width:fit-content; margin-inline:auto; }

/* Menus operacionais flutuam acima da grade sem alterar sua altura. */
.ems-status-menu { width:fit-content; }
.ems-status-options { display:none; position:fixed; inset:auto; margin:0; width:280px; max-width:calc(100vw - 24px); overflow-y:auto; overscroll-behavior:contain; background:var(--ems-panel); color:var(--ems-ink); border-color:var(--ems-line); box-shadow:0 18px 48px #0003; z-index:10000; text-align:left; }
.ems-status-menu[open] > .ems-status-options { display:block; }
.ems-status-options::backdrop { background:transparent; pointer-events:none; }
.ems-status-options button { white-space:normal; }
.ems-filter-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 28px; list-style:none; cursor:pointer; }
.ems-filter-summary::-webkit-details-marker { display:none; }
.ems-filter-summary:focus-visible { outline:2px solid var(--ems-accent); outline-offset:5px; border-radius:8px; }
.ems-filter-overview { display:flex; flex-direction:column; gap:8px; flex:1; min-width:0; }
.ems-filter-context { font-size:10px; color:var(--ems-muted); letter-spacing:.07em; text-transform:uppercase; }
.ems-filter-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ems-filter-metric { display:flex; flex-direction:column; gap:3px; border-left:1px solid var(--ems-line); padding-left:18px; min-width:0; }
.ems-filter-metric > span { font-size:11px; color:var(--ems-muted); }
.ems-filter-metric strong { font-size:20px; line-height:1.25; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ems-filter-metric[data-tone="success"] strong { color:#15803d; }
.ems-filter-metric[data-tone="warning"] strong { color:#a85b00; }
html[data-ems-theme="dark"] .ems-filter-metric[data-tone="success"] strong { color:#80d9a1; }
html[data-ems-theme="dark"] .ems-filter-metric[data-tone="warning"] strong { color:#f5c36b; }
@media(max-width:760px) { .ems-filter-overview { flex-basis:100%; } .ems-filter-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .ems-filter-metric { padding-left:12px; } .ems-filter-metric strong { font-size:18px; } }

.ems-filter-panel[open] > .ems-filter-summary .ems-filter-chevron { transform:rotate(180deg); }

.ems-app .ems-main td.text-right > .ems-status-menu { margin-left:auto; }

.ems-status-options[data-ems-action-menu] a,.ems-status-options[data-ems-action-menu] button{white-space:normal;overflow-wrap:anywhere}.ems-status-options[data-ems-action-menu] summary{cursor:pointer}

/* Etapas comerciais: texto + cores distintas, sem depender apenas da cor. */
.ems-budget-status[data-budget-status="pendente"],.ems-budget-status-option[data-budget-status="pendente"]{--stage-bg:#e8eef7;--stage-ink:#3f5878;--stage-line:#cbd7e7}
.ems-budget-status[data-budget-status="aguardando_aprovacao"],.ems-budget-status-option[data-budget-status="aguardando_aprovacao"]{--stage-bg:#f4eddf;--stage-ink:#806334;--stage-line:#e2d2b4}
.ems-budget-status[data-budget-status="em_revisao"],.ems-budget-status-option[data-budget-status="em_revisao"]{--stage-bg:#eeeaf4;--stage-ink:#685781;--stage-line:#d9d0e5}
.ems-budget-status[data-budget-status="aprovado"],.ems-budget-status-option[data-budget-status="aprovado"]{--stage-bg:#e4eee8;--stage-ink:#39614c;--stage-line:#c2d7ca}
.ems-budget-status[data-budget-status="recusado"],.ems-budget-status-option[data-budget-status="recusado"]{--stage-bg:#f3e6e6;--stage-ink:#8a5058;--stage-line:#e3c9cc}
.ems-budget-status[data-budget-status="cancelado"],.ems-budget-status-option[data-budget-status="cancelado"]{--stage-bg:#eceef1;--stage-ink:#606b7a;--stage-line:#d4d9e1}
.ems-app .ems-budget-status,.ems-app .ems-budget-status-option{background:var(--stage-bg)!important;color:var(--stage-ink)!important;border:1px solid var(--stage-line)!important;font-weight:700}
.ems-budget-status-option:hover{filter:brightness(.96)}.ems-budget-status{white-space:normal;text-align:center}

/* Direção visual Porcelana: superfícies neutras, navegação grafite e azul de ação. */
html[data-ems-theme="light"]{
 --ems-bg:#f3f6fa;--ems-panel:#ffffff;--ems-subtle:#f5f7fb;--ems-ink:#17243a;--ems-muted:#607086;--ems-line:#e1e7ef;
 --ems-accent:#2454c6;--ems-primary:#2563eb;--ems-primary-hover:#1d4ed8;--ems-on-primary:#ffffff;--ems-focus:#2563eb15;
 --ems-shadow:0 8px 28px -18px #172b4d28;--ems-radius:14px;--ems-control-radius:9px;
 --ems-sidebar-bg:#111e32;--ems-sidebar-ink:#c2cde0;--ems-sidebar-active:#233f69;--ems-sidebar-active-ink:#f1f6ff;
 --ems-inverse-bg:#1a2b44;--ems-inverse-ink:#f8fafc;
}
html[data-ems-theme="dark"]{
 --ems-bg:#0d1625;--ems-panel:#162237;--ems-subtle:#1c2b41;--ems-ink:#edf3fc;--ems-muted:#a8b8cf;--ems-line:#2a3c56;
 --ems-accent:#93b9ff;--ems-primary:#3b82f6;--ems-primary-hover:#2563eb;--ems-on-primary:#ffffff;--ems-focus:#3b82f622;
 --ems-sidebar-bg:#0c1524;--ems-sidebar-ink:#becbe0;--ems-sidebar-active:#223d65;--ems-sidebar-active-ink:#f1f6ff;
 --ems-inverse-bg:#233d5d;--ems-inverse-ink:#f1f6ff;--ems-radius:14px;--ems-control-radius:9px;
}
@media screen{
 html{min-height:100%;background:var(--ems-bg)}
 body.ems-app,body.ems-marketing{min-height:100dvh;background-color:var(--ems-bg)!important;background-image:url('../images/ems-porcelain-background-v2.png')!important;background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
 html[data-ems-theme="dark"] :is(body.ems-app,body.ems-marketing){background-image:linear-gradient(#0b1425f5,#101c2cf5),url('../images/ems-porcelain-background-v2.png')!important}
 .ems-app .ems-workspace{background:transparent!important}
 .ems-app .ems-sidebar{--ems-panel:var(--ems-sidebar-bg);--ems-subtle:#ffffff0b;--ems-ink:#edf3fc;--ems-muted:#9bacbf;--ems-line:#ffffff16;--ems-focus:#2563eb28;--ems-accent:#a9c7ff;background:var(--ems-sidebar-bg)!important;box-shadow:4px 0 24px #0d1c3510}
 .ems-app .ems-topbar{background:var(--ems-panel)!important;background-image:none!important;box-shadow:none}
 html[data-ems-theme="light"] .ems-sidebar-navigation .ems-nav-link.ems-nav-current{background:#254777;border-color:#42618d;color:#ffffff;box-shadow:none}
 html[data-ems-theme="light"] .ems-sidebar .ems-brand-mark{background:#2563eb;color:#fff}
 .ems-sidebar-navigation .ems-nav-link{transition:background-color .15s,color .15s}
 .ems-topbar .ems-breadcrumb{letter-spacing:.01em}
 .ems-main h1{letter-spacing:-.035em}
 .ems-main table thead th{font-weight:650;letter-spacing:.055em}
 .ems-main :is(.ems-panel,.rounded-2xl.bg-white){box-shadow:var(--ems-shadow)}
 .ems-marketing :is(.mk-hero,.mk-section,.mk-story,.mk-operation,.mk-capabilities){background:transparent}
 .ems-marketing .mk-story-grid{grid-template-columns:1fr;max-width:940px}
 .ems-marketing :is(.mk-module,.mk-segment){padding-top:28px}
}
@media print{html,body.ems-app,body.ems-marketing,.ems-workspace,.ems-sidebar{background-image:none!important;background-color:#fff!important}}

/* Contraste do espaço de trabalho com a navegação grafite. */
@media screen{
 html[data-ems-theme="light"]{--ems-bg:#eeece8}
 html[data-ems-theme="light"] :is(body.ems-app,body.ems-marketing){background-color:#eeece8!important;background-image:linear-gradient(#eeece8e0,#eeece8e0),url('../images/ems-porcelain-background-v2.png')!important}
 html[data-ems-theme="dark"]{--ems-bg:#263447}
 html[data-ems-theme="dark"] :is(body.ems-app,body.ems-marketing){background-color:#263447!important;background-image:linear-gradient(#263447f5,#263447f5),url('../images/ems-porcelain-background-v2.png')!important}
}

/* Harmonia cromática: azul mineral, grafite e estados suaves. */
html[data-ems-theme="light"]{
 --ems-primary:#345b88;--ems-primary-hover:#294b73;--ems-accent:#355c87;--ems-focus:#345b8818;
 --ems-success-bg:#e4eee8;--ems-success-ink:#39614c;--ems-success-line:#c2d7ca;--ems-success-solid:#426e57;
 --ems-warning-bg:#f4eddf;--ems-warning-ink:#806334;--ems-warning-line:#e2d2b4;
 --ems-danger-bg:#f3e6e6;--ems-danger-ink:#8a5058;--ems-danger-line:#e3c9cc;--ems-danger-solid:#945561;
 --ems-purple-bg:#eeeaf4;--ems-purple-ink:#685781;--ems-info-bg:#e8eef7;--ems-info-ink:#3f5878;
}
html[data-ems-theme="dark"]{--ems-primary:#557daa;--ems-primary-hover:#42688f;--ems-accent:#aec8e7;--ems-focus:#557daa2b}
@media screen{
 html[data-ems-theme="light"] .ems-sidebar .ems-brand-mark{background:#345b88}
 html[data-ems-theme="light"] .ems-sidebar-navigation .ems-nav-link.ems-nav-current{background:#2c4667;border-color:#496181}
 html[data-ems-theme="dark"] .ems-app :is(.ems-budget-status,.ems-budget-status-option){background:color-mix(in srgb,var(--stage-ink) 25%,#162237)!important;color:var(--stage-bg)!important;border-color:color-mix(in srgb,var(--stage-ink) 65%,#162237)!important}
}

/* Navegação móvel e cartões de orçamento, mantendo a mesma estrutura e ações. */
.ems-mobile-navigation{display:none}
@media screen and (max-width:767px){
 .ems-mobile-navigation{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;gap:4px;background:var(--ems-panel);border-top:1px solid var(--ems-line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0f172a0a}
 .ems-mobile-navigation a,.ems-mobile-navigation button{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:44px;color:inherit;font-size:11px;border-radius:10px;background:transparent}
 .ems-mobile-navigation svg{height:20px;width:20px}.ems-mobile-navigation [aria-current=page]{background:var(--ems-info-bg);color:var(--ems-accent);font-weight:700}
 body.ems-app .ems-main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .ems-budget-responsive,.ems-budget-responsive tbody{display:block;width:100%;min-width:0!important}
 .ems-budget-responsive thead{display:none}
 .ems-budget-responsive tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;border-bottom:1px solid #cbd5e180}
 .ems-budget-responsive tbody td{display:block!important;padding:0!important;min-width:0;white-space:normal!important;text-align:left!important;overflow-wrap:anywhere;border:0!important}
 .ems-budget-responsive tbody td::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-bottom:6px}
 .ems-budget-responsive td[data-label=Cliente],.ems-budget-responsive td[data-label=Ações]{grid-column:1/-1}
 .ems-budget-responsive td[data-label=Ações]>div{display:flex;width:100%;justify-content:flex-end}
 .ems-budget-responsive td[data-label=Status]{grid-column:2;grid-row:1}.ems-budget-responsive td[data-label=Origem]{grid-row:3}
 .ems-budget-responsive td[data-label='Valor total']{grid-column:2;grid-row:3}
 .ems-budget-responsive td[data-label=Número] a{overflow-wrap:anywhere}
 .ems-budget-responsive td[data-label=Status] .ems-status-menu{max-width:100%}
 .ems-budget-responsive td[data-label=Status] summary{max-width:100%;white-space:normal}
}
@media print{.ems-mobile-navigation{display:none!important}}

/* Editor de orçamento: resumo e controles compactos para atendimento móvel. */
.ems-budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ems-line);border-radius:14px;background:var(--ems-panel);margin-bottom:20px;box-shadow:var(--ems-shadow)}
.ems-budget-totals>div{padding:16px;min-width:0}.ems-budget-totals>div+div{border-left:1px solid var(--ems-line)}
.ems-budget-totals small{display:block;color:var(--ems-muted);font-size:11px;text-transform:uppercase;margin-bottom:6px}.ems-budget-totals strong{font-size:18px;overflow-wrap:anywhere;color:var(--ems-accent)}
.ems-budget-section-toggle{display:flex;align-items:center;gap:12px;font-weight:700;text-align:left}.ems-budget-section-toggle>span{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:var(--ems-info-bg);color:var(--ems-accent)}
@media screen and (max-width:767px){
 .ems-budget-editor{padding-bottom:100px}.ems-budget-editor .p-8,.ems-budget-editor .px-8{padding:16px!important}
 .ems-budget-totals{position:sticky;top:0;z-index:15}.ems-budget-totals>div{padding:12px 8px}.ems-budget-totals strong{font-size:15px}.ems-budget-totals small{font-size:9px}
 .ems-budget-items-table,.ems-budget-items-table tbody{display:block;width:100%;min-width:0!important}.ems-budget-items-table thead{display:none}
 .ems-budget-items-table tr:not([style*="display: none"]){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--ems-line)}
 .ems-budget-items-table tr[style*="display: none"]{display:none!important}
 .ems-budget-items-table td{display:block;min-width:0;padding:0!important;white-space:normal!important;border:0!important}
 .ems-budget-items-table td::before{content:attr(data-label);display:block;margin-bottom:5px;font-size:10px;color:var(--ems-muted)}
 .ems-budget-items-table td[data-label=Descrição]{grid-column:1/-1}.ems-budget-items-table td[data-label=Total]{font-size:19px;align-self:center}
 .ems-budget-items-table td[data-label=Remover]{text-align:right}.ems-budget-items-table td[data-label=Remover]::before{display:none}.ems-budget-items-table td button{min-width:40px;min-height:40px}
 .ems-budget-savebar{position:fixed;left:0;right:0;bottom:calc(68px + env(safe-area-inset-bottom));z-index:25;background:var(--ems-panel)!important;padding:12px 16px!important;box-shadow:0 -6px 24px #0f172a12}
 .ems-budget-savebar>a{display:none}.ems-budget-savebar button{width:100%;min-height:48px}
 .ems-budget-editor .space-y-3\.5>div{gap:12px;flex-wrap:wrap}.ems-budget-editor input[type=number]{max-width:100%}
}
@media print{.ems-budget-savebar{display:none!important}.ems-budget-totals{position:static}}

.ems-google-attribution{font-family:Sans-Serif;font-weight:400;font-style:normal;font-size:12px;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}html[data-ems-theme="dark"] .ems-google-attribution{color:#fff}

@media screen and (max-width:767px){.ems-budget-add-label{display:none}.ems-budget-editor button[aria-label^="Adicionar"]{min-width:44px;min-height:44px;justify-content:center;font-size:22px}.ems-budget-items-table tr:not([style*="display: none"]){border-left:3px solid var(--ems-accent);padding-left:12px}#editor-servico .ems-budget-items-table tr:not([style*="display: none"]){border-left-color:var(--ems-success-solid)}}

/* Navegação: grupos compactos, hierarquia e foco visível. */
.ems-sidebar-navigation nav.ems-navigation{padding:12px 12px 24px;scrollbar-color:rgba(160,180,210,.25) transparent}
.ems-sidebar-navigation .ems-nav-section{margin-bottom:18px}.ems-sidebar-navigation .ems-nav-heading{font-size:10px;letter-spacing:.13em;margin:16px 12px 9px;opacity:.75}
.ems-sidebar-navigation .ems-nav-group{margin:4px 0;border:1px solid transparent;border-radius:12px}.ems-sidebar-navigation .ems-nav-group[open]{border-color:rgba(150,175,210,.14);background:rgba(150,175,210,.035)}
.ems-sidebar-navigation .ems-nav-group-toggle{min-height:46px;border-radius:11px;padding:11px 12px;gap:12px;font-size:13px;font-weight:600;transition:background .15s ease}
.ems-sidebar-navigation .ems-nav-link{min-height:44px;border-radius:10px;margin:3px 0;padding:10px 12px;gap:12px;font-size:13px;transition:background .15s ease}
.ems-sidebar-navigation .ems-nav-children{margin:0 10px 10px 21px;padding:3px 0 3px 11px;border-left:1px solid rgba(150,175,210,.2)}
.ems-sidebar-navigation .ems-nav-children .ems-nav-link{font-size:12px;min-height:40px;padding:9px 10px}.ems-sidebar-navigation .ems-nav-children .ems-nav-icon{width:17px;height:17px;opacity:.8}
.ems-sidebar-navigation .ems-nav-subtitle{font-size:9px;letter-spacing:.1em;margin:16px 10px 6px;opacity:.65}
.ems-sidebar-navigation :is(.ems-nav-link,.ems-nav-group-toggle):focus-visible{outline:2px solid #a8c8ee;outline-offset:2px}
.ems-sidebar-navigation .ems-nav-company{margin:8px 12px 14px;border-radius:12px;border:1px solid rgba(150,175,210,.18);padding:13px;background:rgba(150,175,210,.045)}
@media(prefers-reduced-motion:reduce){.ems-sidebar-navigation :is(.ems-nav-link,.ems-nav-group-toggle){transition:none}}
