/* =====================================================================
   Emet · Business OS — identidade padrão (Abismo + ciano Ruach + ouro verdade).
   Ver DESIGN.md. Carregado por último em todas as páginas.
   ===================================================================== */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600 700;font-display:swap;src:url(assets/fonts/BricolageGrotesque-Bold.woff) format("woff")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800 900;font-display:swap;src:url(assets/fonts/BricolageGrotesque-ExtraBold.woff) format("woff")}
:root{
  --abyss:#06171c;        /* Abismo — superfícies escuras */
  --petrol:#0e2a31;       /* Petróleo */
  --ruach:#3ee6d6;        /* Ciano Ruach — ação, foco, brilho */
  --module:#8b7cff;       /* Violeta módulo — destaque secundário */
  --truth:#e8b44c;        /* Ouro verdade — o ponto do logo */
  --ice:#f3f7f7;          /* Gelo — fundo claro */
  --font-display:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;
  --font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cta:linear-gradient(135deg,#14b8a6,#3ee6d6);
  --abyss-glow:radial-gradient(800px 480px at 100% 0%,#0f4d52 0%,transparent 60%),radial-gradient(640px 420px at 0% 100%,#2a2466 0%,transparent 60%),#06171c;
  --ux-ease:cubic-bezier(.2,.8,.2,1);
  /* tokens da plataforma */
  --deep:#06171c;--pine:#0f8a7d;--bg:#f3f7f7;--mint:#e3fbf7;
}
body{font-family:var(--font-body)!important;background:var(--ice)}
::selection{background:#3ee6d6;color:#06171c}
h1,h2,h3,.metric strong,.brand strong,.emet-brand,.orbit-center{font-family:var(--font-display)!important;letter-spacing:-.035em}
h1{font-weight:800!important}

/* ---------- Toque e foco ---------- */
:where(button,a,summary,[role=tab]):focus-visible{outline:none!important;box-shadow:0 0 0 3px #fff,0 0 0 5px #3ee6d699!important}
.ux-ripple-host{position:relative}
.ux-ripple-wrap{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.ux-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.16;transform:scale(0);animation:ux-ripple .6s var(--ux-ease) forwards}
@keyframes ux-ripple{to{transform:scale(1);opacity:0}}
.button,.emet-button,.nav-item,.entry-tabs button{transition:transform .14s var(--ux-ease),box-shadow .2s var(--ux-ease),background-color .2s ease,filter .2s ease}
.button:not(:disabled):active,.emet-button:not(:disabled):active,.nav-item:active{transform:scale(.965)}

/* ---------- Botões ---------- */
.button{border-radius:14px!important}
.button.primary,.emet-button.primary{background:var(--cta)!important;border-color:transparent!important;color:#04211f!important;font-weight:800;box-shadow:0 10px 26px #3ee6d640}
.button.primary:not(:disabled):hover,.emet-button.primary:not(:disabled):hover{filter:brightness(1.06);transform:translateY(-1px)}
.emet-button{border-radius:14px!important}

/* ---------- Plataforma: barra lateral abismo ---------- */
.sidebar{background:var(--abyss-glow)!important;box-shadow:inset -1px 0 0 #3ee6d61f}
.brandmark{display:inline-block;width:42px;height:42px;font-size:0!important;background:url(assets/emet-mark.svg) center/cover no-repeat;border-radius:13px;box-shadow:0 0 0 1px #3ee6d633,0 10px 26px #3ee6d633}
.brandmark span{display:none}
.brand strong{font-weight:800!important}
.brand small,.sidebar-label{color:#7fc9c0!important}
.sidebar select{background:#ffffff0d!important;border-color:#ffffff1f!important;border-radius:14px!important}
.nav-item{border-radius:12px!important}
.nav-item:hover{background:#ffffff10!important}
.nav-item.active{background:linear-gradient(90deg,#3ee6d62b,#3ee6d60a)!important;box-shadow:inset 0 0 0 1px #3ee6d640;color:#fff!important}
.nav-item.active .nav-dot{background:var(--ruach)!important;border-color:var(--ruach)!important;box-shadow:0 0 10px var(--ruach)}
.sidebar-bottom{background:#ffffff0a!important;border-color:#3ee6d62b!important;border-radius:18px!important;backdrop-filter:blur(8px)}
.sidebar-bottom .ruach-mini{display:flex;align-items:center;gap:10px}
.sidebar-bottom .ruach-mini svg{width:46px;height:46px;flex-shrink:0;filter:drop-shadow(0 6px 16px #3ee6d655)}
.card{border-radius:22px!important}
.eyebrow{color:#0f8a7d}
.notice{border-radius:16px!important;background:#e3fbf7!important;border-color:#bfeee6!important;color:#0d5c55!important}

/* ---------- Entrada (emet.html): vitrine abismo ---------- */
body:has(.entry-card){background:var(--abyss-glow);color:#e7f6f5}
body:has(.entry-card) .eyebrow{color:#7fe9dd}
body:has(.entry-card) h1{color:#fff;font-weight:800!important;letter-spacing:-.04em}
body:has(.entry-card) .intro-copy,body:has(.entry-card) .intro-foot{color:#b5d3d1}
body:has(.entry-card) .quiet-link{color:#b5d3d1}
.emet-brand{color:#fff!important;letter-spacing:-.05em!important}
.emet-brand img,.emet-brand svg{border-radius:13px;box-shadow:0 10px 26px #3ee6d633}
.brand-dot,.orbit-center span{color:var(--truth)!important}
.brand-orbit{background:radial-gradient(ellipse at center,#3ee6d61f,transparent 65%)!important}
.brand-orbit:before{border-color:#3ee6d640!important}
.orbit-center{color:#fff!important}
.orbit-node{background:#ffffff10!important;border-color:#ffffff24!important;color:#e7f6f5;backdrop-filter:blur(8px)}
.entry-card{border:0!important;border-radius:28px!important;box-shadow:0 30px 80px #00000066!important;color:#13282d}
.entry-card h1,.entry-card h2,.entry-card h3{color:#0b2227}
.entry-tabs{border-radius:14px!important}
.entry-tabs button.active{color:#0f766e!important}
.entry-card input{border-radius:12px}
.entry-card input:focus{border-color:#14b8a6!important;box-shadow:0 0 0 4px #3ee6d633!important;outline:none}

/* ---------- Ruach, o mascote do Emet ---------- */
.ruach-mascot{display:inline-block;line-height:0}
.ruach-mascot svg{overflow:visible}
.ruach-mascot .rm-body{transform-origin:32px 40px;animation:rm-breathe 4.6s ease-in-out infinite}
.ruach-mascot .rm-swirl{transform-origin:32px 8px;animation:rm-sway 3.8s ease-in-out infinite}
.ruach-mascot .mascot-eyes{transform-origin:32px 40px;animation:rm-blink 6s infinite}
@keyframes rm-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes rm-sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes rm-blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.15)}}
.orbit-ruach{position:absolute;left:calc(43% - 6px);top:50px}
.orbit-ruach svg{width:110px;height:110px;filter:drop-shadow(0 16px 30px #3ee6d655)}
.brand-orbit:has(.orbit-ruach) .orbit-center{display:none}
.ruach-heading .ruach-mascot svg{width:44px;height:44px;margin-right:6px;vertical-align:middle}
@media(prefers-reduced-motion:reduce){.ruach-mascot .rm-body,.ruach-mascot .rm-swirl,.ruach-mascot .mascot-eyes{animation:none!important}.button,.emet-button,.nav-item{transition:none!important}}
/* Ajustes finos */
.entry-card .eyebrow{color:#0f8a7d!important}
.demo-company{background:#ffffff0d!important;border:1px solid #3ee6d633!important;border-radius:22px!important;color:#e7f6f5!important;backdrop-filter:blur(8px)}
.demo-company strong{color:#fff!important}
.demo-company span{color:#b5d3d1!important}
.demo-company img{border-radius:13px}
.sidebar-bottom strong{font-family:var(--font-display)!important;font-size:16px;color:#fff}

/* ---------- Idioma (PT/EN) ---------- */
.top-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.lang-switch{display:inline-flex;padding:3px;border-radius:999px;background:#ffffff12;border:1px solid #3ee6d633}
.lang-switch button{border:0;background:transparent;color:#b5d3d1;font:700 11px/1 var(--font-body);letter-spacing:.08em;padding:7px 11px;border-radius:999px;cursor:pointer;min-width:38px;min-height:30px}
.lang-switch button.active{background:var(--cta);color:#04211f;box-shadow:0 4px 14px #3ee6d640}
.lang-switch button:not(.active):hover{color:#fff}

/* ---------- Escolha de módulos (cadastro) ---------- */
.module-picks{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.module-picks legend{font-size:12px;font-weight:700;color:#5c6b70;padding:0;margin-bottom:8px}
.module-picks [data-module-picks]{display:grid;gap:8px}
.module-pick{display:grid!important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px!important;padding:10px 12px;border:1px solid #dfe6e4;border-radius:14px;background:#fbfdfd;cursor:pointer;font-weight:500!important;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.module-pick:has(input:checked){border-color:#3ee6d6;background:#effcfa;box-shadow:0 0 0 3px #3ee6d626}
.module-pick input{width:18px;height:18px;margin:0;accent-color:#0f8a7d}
.module-pick strong{display:block;font-size:13px;color:#0b2227}
.module-pick small{display:block;font-size:11px;color:#6b7c80;line-height:1.5}
.module-picks .fine-print{margin:2px 0 0}

/* ---------- Empresas e módulos (conta) ---------- */
.companies{margin:18px 0 6px}
.companies>.eyebrow{margin-bottom:10px}
.company-card{border:1px solid #e1e8e6!important;border-radius:18px!important;padding:14px!important;background:#fbfdfd;display:grid;gap:10px}
.company-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.company-head strong{font-family:var(--font-display);font-size:17px;color:#0b2227;letter-spacing:-.02em}
.company-role{margin:0!important;font-size:11px!important;color:#0f766e!important;background:#e3fbf7;padding:4px 9px;border-radius:999px}
.company-workspace{margin-top:2px}
.module-grid{display:grid;gap:8px}
.module-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px;border-radius:16px;background:#fff;border:1px solid #e3eae8;transition:box-shadow .2s var(--ux-ease),border-color .2s ease}
.module-card.is-on{border-color:#bff1ea;box-shadow:0 8px 22px #0f8a7d14}
.module-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;font:800 16px/1 var(--font-display);color:#fff;background:linear-gradient(135deg,#8b7cff,#3ee6d6);box-shadow:0 6px 16px #8b7cff33;flex-shrink:0}
.module-card.is-off .module-icon{filter:grayscale(.85);opacity:.7;box-shadow:none}
.module-body{min-width:0}
.module-body strong{display:block;font-size:14px;color:#0b2227}
.module-body small{display:block;font-size:11px;color:#6b7c80;line-height:1.5;margin:0!important}
.module-chip{font-size:10px;font-weight:800;letter-spacing:.04em;padding:5px 9px;border-radius:999px;white-space:nowrap;background:#eef2f1;color:#60767b}
.module-card.is-on .module-chip{background:#dff9f5;color:#0f766e}
.module-actions{grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.module-actions .emet-button{width:auto;padding:9px 14px;font-size:12px}
.module-actions .text-button{padding:6px 0;display:inline-block}
.module-actions small{font-size:11px;color:#6b7c80;margin:0!important}
.module-note{grid-column:2/-1;margin:0;font-size:11px;line-height:1.55;color:#7a6a3f;background:#fbf5e6;border-radius:10px;padding:7px 10px}
.module-grid>.module-note{grid-column:auto;color:#60767b;background:#f2f6f5}
.new-company{margin-top:12px;border:1px dashed #b9dcd7;border-radius:16px;padding:10px 14px;background:#f8fcfb}
.new-company summary{cursor:pointer;font-size:13px;font-weight:700;color:#0f766e;padding:4px 0}
.new-company form{margin-top:10px}
@media(max-width:480px){.module-card{grid-template-columns:auto minmax(0,1fr)}.module-chip{grid-column:2;justify-self:start}.top-actions{gap:8px}.emet-top .quiet-link{display:none}}
@media(prefers-reduced-motion:reduce){.module-card,.module-pick{transition:none!important}}
.entry-tabs{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.company-flash{margin:0;font-size:12px;line-height:1.5;color:#0d5c55;background:#e3fbf7;border:1px solid #bfeee6;border-radius:12px;padding:8px 11px}
/* Ruach vivo (gotinha): flutua, se inclina para o cursor, pula quando ele chega perto, amassa no toque. */
.ruach-mascot .rm-look{transition:transform .12s ease-out}
.ruach-mascot .rm-eyes{transform-origin:32px 40px;transition:transform .08s}
.ruach-mascot .rm-eyes.rm-blink{transform:scaleY(.12)}
.ruach-mascot.rm-live{cursor:pointer;--rm-lean:0deg;--rm-shift:0px}
.ruach-mascot.rm-live svg{transform:translateX(var(--rm-shift)) rotate(var(--rm-lean));transition:transform .35s cubic-bezier(.3,1.4,.5,1);transform-origin:50% 85%}
.ruach-mascot.rm-float{animation:rm-float 3.6s ease-in-out infinite}
.ruach-mascot.rm-float .rm-shadow{transform-origin:32px 70px;animation:rm-shadow 3.6s ease-in-out infinite}
.ruach-mascot.rm-hop .rm-body{animation:rm-hop .5s cubic-bezier(.3,1.6,.5,1)}
.ruach-mascot.rm-squish .rm-body{animation:rm-squish .55s cubic-bezier(.3,1.6,.5,1)}
.ruach-mascot.rm-near .rm-cheek{opacity:1}
@keyframes rm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes rm-shadow{0%,100%{transform:scale(1);opacity:.18}50%{transform:scale(.78);opacity:.1}}
@keyframes rm-hop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-7px) scale(.96,1.06)}70%{transform:translateY(0) scale(1.06,.94)}100%{transform:none}}
@keyframes rm-squish{0%{transform:scale(1)}30%{transform:scale(1.16,.8)}60%{transform:scale(.92,1.1)}100%{transform:scale(1)}}
.ruach-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:60;width:76px;height:76px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 14px 22px #3ee6d655)}
.ruach-float .ruach-mascot svg{width:76px;height:76px}
.ruach-float:focus-visible{outline:3px solid #3ee6d6;outline-offset:4px;border-radius:50%}
.ruach-bubble{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 86px);z-index:61;max-width:min(260px,calc(100vw - 40px));padding:11px 14px;border-radius:16px 16px 4px 16px;background:#fff;color:#06171c;font-size:14px;line-height:1.4;font-weight:600;box-shadow:0 14px 34px #06171c40;animation:rm-bubble .3s cubic-bezier(.3,1.5,.5,1)}
@keyframes rm-bubble{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
.module-ruach .ruach-mascot{line-height:0}
@media(max-width:560px){.ruach-float{width:62px;height:62px}.ruach-float .ruach-mascot svg{width:62px;height:62px}.ruach-bubble{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 70px)}}
@media(prefers-reduced-motion:reduce){.ruach-mascot.rm-float,.ruach-mascot.rm-float .rm-shadow,.ruach-mascot.rm-hop .rm-body,.ruach-mascot.rm-squish .rm-body,.ruach-bubble{animation:none!important}.ruach-mascot.rm-live svg{transition:none}}
/* Atalho dos módulos na entrada */
.module-quick{display:grid;gap:10px;margin-top:16px}
.module-quick .eyebrow{margin:0 0 2px}
.module-quick-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:#0d2a31;border:1px solid #3ee6d633;color:#e8f6f4;text-decoration:none;transition:transform .2s,border-color .2s,background .2s}
.module-quick-item:hover{transform:translateY(-2px);border-color:#3ee6d6;background:#103238}
.module-quick-item strong{display:block;font-size:16px}
.module-quick-item small{display:block;color:#a7cbc6;font-size:13px}
.module-quick-item.soon{opacity:.6}
.module-quick-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#14b8a6,#3ee6d6);color:#06171c;font-weight:800}
.module-quick-go{margin-left:auto;color:#3ee6d6;font-weight:800}
