/* BeFast Funnel — camada de marca (design system de befastcompany.com)
   Carrega DEPOIS do <style> de cada página: redefine os tokens e os
   componentes de ação. A lógica e as cores de categoria do canvas ficam. */

@font-face{font-family:Onest;src:url('fonts/onest-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Onest;src:url('fonts/onest-500.woff2') format('woff2');font-weight:500 800;font-style:normal;font-display:swap}

:root,[data-theme="dark"]{
  --bg0:#080808;--bg1:#0d0d0d;--bg2:#141414;--bg3:#1a1a1a;--bg4:#222222;--bg5:#2b2b2b;
  --border:rgba(255,255,255,.06);--border2:rgba(255,255,255,.09);--border3:rgba(255,255,255,.16);--border4:rgba(255,255,255,.26);
  --text0:#f5f5f3;--text1:#a3a3a3;--text2:#7a7a7a;--text3:#595959;
  --accent:#fc964c;--accent-ink:#080808;
  --blue:#fc964c;--blue-bg:rgba(252,150,76,.07);--blue-border:rgba(252,150,76,.22);
  --green:#4ea375;--green-bg:rgba(78,163,117,.08);--green-border:rgba(78,163,117,.24);
  --red:#e0574e;--red-bg:rgba(224,87,78,.08);--red-border:rgba(224,87,78,.24);
  --font:'Onest',Arial,system-ui,sans-serif;--mono:'Geist Mono','DM Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);--tr:.3s var(--ease);
  --r4:6px;--r8:10px;--r12:14px;--r16:24px;
  color-scheme:dark;
}
[data-theme="light"]{
  --bg0:#f5f5f3;--bg1:#ffffff;--bg2:#efefec;--bg3:#e8e8e4;--bg4:#deded9;--bg5:#d2d2cc;
  --border:rgba(8,8,8,.06);--border2:rgba(8,8,8,.1);--border3:rgba(8,8,8,.17);--border4:rgba(8,8,8,.26);
  --text0:#080808;--text1:#404040;--text2:#5c5c5c;--text3:#8a8a8a;
  /* laranja da marca reprova contraste como texto no claro: acento escurecido */
  --accent:#b8560f;--accent-ink:#ffffff;
  --blue:#b8560f;--blue-bg:rgba(184,86,15,.07);--blue-border:rgba(184,86,15,.22);
  --green:#2f7d53;--red:#c2392f;
  color-scheme:light;
}

html,body{font-family:var(--font);font-synthesis:none;-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:2147483000;opacity:.026;background:url('brand/grain.png') repeat}
[data-theme="light"] body::after{opacity:.04;mix-blend-mode:multiply}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Tipografia: hierarquia por escala e tracking, não por peso pesado */
.form-title,.topbar-title,.fls-logo-name,.logo-name,.fls-stat-val,h1,h2,h3{font-weight:500!important;letter-spacing:-.025em}
.form-title{font-size:26px;letter-spacing:-.04em;line-height:1.05}
.field label,.fls-logo-tag,.logo-tag,.fls-stat-lbl{font-weight:500!important;letter-spacing:.065em!important;text-transform:uppercase}

/* Logo: símbolo BeFast (Σ) em máscara, herda a cor do tema */
.logo-icon,.fls-logo-icon{background:var(--text0)!important;box-shadow:none!important;border-radius:0!important;
  width:18px!important;height:27px!important;
  -webkit-mask:url('brand/befast-symbol.svg') center/contain no-repeat;mask:url('brand/befast-symbol.svg') center/contain no-repeat}
.logo-icon>svg,.fls-logo-icon>svg{display:none!important}
.bf-wordmark{display:inline-block;width:78px;height:17px;vertical-align:-2px;background:var(--text0);
  -webkit-mask:url('brand/befast-wordmark.svg') left center/contain no-repeat;mask:url('brand/befast-wordmark.svg') left center/contain no-repeat}

/* Ação primária = pílula tinta/papel, igual aos botões do site */
.btn-primary,.btn.primary,.fls-new-btn,.pm-btn.accent,.modal-btn.primary,.modal-btn.confirm,.profile-btn.save{
  background:var(--text0)!important;color:var(--bg0)!important;border:1px solid var(--text0)!important;
  border-radius:100px!important;font-weight:500!important;letter-spacing:0;
  transition:background .3s,border-color .3s,transform .3s var(--ease)!important}
.btn-primary:hover,.btn.primary:hover,.fls-new-btn:hover,.pm-btn.accent:hover,.modal-btn.primary:hover,.modal-btn.confirm:hover,.profile-btn.save:hover{
  background:var(--text1)!important;border-color:var(--text1)!important;filter:none!important}
.btn-primary:active,.btn.primary:active,.fls-new-btn:active{transform:scale(.98)}
.btn-primary{padding:13px 20px!important}

/* Hover que antes pintava de azul com texto branco */
.tb-btn.accent:hover,.tb-btn.save-dirty:hover,.notes-add-btn:hover,.share-copy-btn:hover{
  background:var(--text0)!important;color:var(--bg0)!important;border-color:var(--text0)!important}

/* Campos */
.field input,input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{border-radius:var(--r8)}
.field input{padding:12px 14px;background:var(--bg2);border-color:var(--border2)}
.field input:focus{border-color:var(--text2)!important;box-shadow:0 0 0 3px var(--blue-bg)}

/* Cartões e painéis: raio largo e fio fino, sem sombra azulada */
.card{border-radius:var(--r16)!important;border-color:var(--border2)!important;box-shadow:0 30px 80px rgba(0,0,0,.45)!important}
[data-theme="light"] .card{box-shadow:0 20px 60px rgba(8,8,8,.08)!important}
.switch-link a{color:var(--text0)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border4)}
.switch-link a:hover{text-decoration-color:var(--accent)}
