/* montserrat-cyrillic-ext-300-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/montserrat-cyrillic-ext-300-normal-AjyHH-nA.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-300-normal-Ctr4ZZfs.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-300-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/montserrat-cyrillic-300-normal-DyQnI4ta.woff2) format('woff2'), url(/assets/montserrat-cyrillic-300-normal-BVP0yxL_.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-300-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/montserrat-vietnamese-300-normal-BIrGnxdC.woff2) format('woff2'), url(/assets/montserrat-vietnamese-300-normal-F69v1y7v.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* montserrat-latin-ext-300-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/montserrat-latin-ext-300-normal-DiDe5dVi.woff2) format('woff2'), url(/assets/montserrat-latin-ext-300-normal-BCbSOsYO.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* montserrat-latin-300-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/montserrat-latin-300-normal-BgP24wlQ.woff2) format('woff2'), url(/assets/montserrat-latin-300-normal-sTRdVzlf.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* montserrat-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-400-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format('woff2'), url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-400-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format('woff2'), url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* montserrat-latin-ext-400-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format('woff2'), url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* montserrat-latin-400-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format('woff2'), url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* montserrat-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-500-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format('woff2'), url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-500-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format('woff2'), url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* montserrat-latin-ext-500-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format('woff2'), url(/assets/montserrat-latin-ext-500-normal-DWPqqZgs.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* montserrat-latin-500-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format('woff2'), url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* montserrat-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format('woff2'), url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format('woff2'), url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* montserrat-latin-ext-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format('woff2'), url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* montserrat-latin-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format('woff2'), url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* montserrat-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format('woff2'), url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format('woff2'), url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* montserrat-latin-ext-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format('woff2'), url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* montserrat-latin-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format('woff2'), url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* montserrat-cyrillic-ext-800-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/assets/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-800-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format('woff2'), url(/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-800-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2) format('woff2'), url(/assets/montserrat-vietnamese-800-normal-Chy8GRiB.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* montserrat-latin-ext-800-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/assets/montserrat-latin-ext-800-normal-BBvmbyWk.woff2) format('woff2'), url(/assets/montserrat-latin-ext-800-normal-Wjq_OapB.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* montserrat-latin-800-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format('woff2'), url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* ============================================================================
   TEMA — Donna Impera · Opção E ("Fusão")
   Fonte ÚNICA da verdade visual: design/pacote-e/docs/design-tokens.json (v2).
   O mapa CSS var ↔ token está escrito AQUI, uma vez (handoff §1). Nenhum hex
   novo em componente. Dark (ébano) é o padrão; [data-tema="claro"] = linho.
   ============================================================================ */

:root {
  /* — tema ÉBANO (escuro, padrão) — */
  --fundo: #14110D;
  --rail: #100E0A;
  --well: #0D0B08;
  --cartao: rgba(36, 31, 24, 0.72);
  --painel: #211C16;            /* diálogo opaco */
  --elevado: #26221D;
  --texto: #EDE6D8;
  --texto2: #A79E8F;
  --texto3: #7E766A;
  --linha: rgba(201, 192, 176, 0.13);
  --linha-forte: #57503F;
  --esc: #060503;              /* sombra relevo escura */
  --lum: rgba(255, 255, 255, 0.05); /* sombra relevo clara */
  --fio: #9C8253;             /* ouro como FIO (borda, foco, selo) — nunca área */
  --ouro: #C2A876;            /* texto dourado (AA) */
  --ouro-veu: rgba(194, 168, 118, 0.10); /* véu do gráfico de área (única área ouro) */
  --foco: #C2A876;
  /* semântica: estado = status + valor + unidade (cor nunca viaja no payload) */
  --cri: #D8896C;  --cri-bg: #2A1D18;  --cri-fio: #8A4936;
  --ate: #CFA85E;  --ate-bg: #2A2318;  --ate-fio: #8A6D33;
  --okc: #9DB489;  --okc-bg: #1F241B;  --okc-fio: #5C7048;
  --inf: #A9B4BC;  --inf-bg: #212528;  --inf-fio: #5F6B75;

  /* — invariantes (não mudam com o tema) — */
  --raio-cartao: 14px;
  --raio-cartao-menor: 13px;
  --raio-rail: 12px;
  --raio-controle: 10px;
  --raio-controle-menor: 9px;
  --raio-pilula: 999px;
  --blur-vidro: 10px;

  --ms-micro: 120ms;
  --ms-padrao: 200ms;
  --ms-revelacao: 280ms;
  --curva: cubic-bezier(0.2, 0.6, 0.2, 1);
  --curva-entrada: cubic-bezier(0.16, 0.84, 0.28, 1);

  /* espaço (design-tokens.espaco) */
  --e1: 4px; --e2: 8px; --e3: 12px; --e4: 16px; --e5: 20px;
  --e6: 24px; --e8: 32px; --e10: 40px; --e12: 48px; --e16: 64px;

  color-scheme: dark;
}

:root[data-tema="claro"] {
  /* — tema LINHO (claro) — */
  --fundo: #E9E2D2;
  --rail: #E2DAC8;
  --well: #DCD3BF;
  --cartao: rgba(255, 252, 244, 0.72);
  --painel: #EDE7D8;
  --elevado: #F3EEE4;
  --texto: #1B1916;
  --texto2: #5E574B;
  --texto3: #8A8272;
  --linha: rgba(27, 25, 22, 0.12);
  --linha-forte: #A99F8D;
  --esc: #C0B49B;
  --lum: #FFFFFF;
  --fio: #9C8253;
  --ouro: #7A6134;
  --ouro-veu: rgba(122, 97, 52, 0.10);
  --foco: #7A6134;
  --cri: #8A3123;  --cri-bg: #E8D8CD;  --cri-fio: #A34B39;
  --ate: #79571C;  --ate-bg: #E9DCC4;  --ate-fio: #A87F35;
  --okc: #4C5E3A;  --okc-bg: #DFE0CD;  --okc-fio: #77895F;
  --inf: #566068;  --inf-bg: #DEDFD9;  --inf-fio: #8B959D;

  color-scheme: light;
}

/* ── superfícies (design-tokens.superficie): vidro p/ ler · relevo p/ tocar ── */
:root {
  --sup-vidro: var(--cartao);
  --sombra-relevo: 5px 5px 14px var(--esc), -5px -5px 14px var(--lum);
  --sombra-poco: inset 2px 2px 6px var(--esc), inset -2px -2px 6px var(--lum);
  --sombra-dialogo: 0 18px 40px rgba(0, 0, 0, 0.45);
}

/* ── reset enxuto ── */
*, *::before, *::after { box-sizing: border-box; }
html, body, #root { height: 100%; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font-family: "Montserrat", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  font-size: 13.5px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  transition: background var(--ms-padrao) var(--curva),
              color var(--ms-padrao) var(--curva);
}
h1, h2, h3, p { margin: 0; }
button { font-family: inherit; }

/* ── átomos de superfície reutilizáveis ── */
.vidro {
  background: var(--sup-vidro);
  backdrop-filter: blur(var(--blur-vidro));
  -webkit-backdrop-filter: blur(var(--blur-vidro));
  border: 1px solid var(--linha);
  border-radius: var(--raio-cartao);
}
.relevo { box-shadow: var(--sombra-relevo); }
.poco { box-shadow: var(--sombra-poco); }

.rotulo {
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.14em; color: var(--texto3);
}
.pilula {
  border-radius: var(--raio-pilula);
  padding: 4px 12px; font-size: 12px; font-weight: 500;
}

/* ── foco sempre visível, nos dois temas (estados_interacao.foco) ── */
:focus-visible {
  outline: 2px solid var(--foco);
  outline-offset: 2px;
  border-radius: var(--raio-controle-menor);
}

/* ── movimento tem fallback instantâneo (design-tokens.movimento) ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* barra de rolagem discreta, no tom do tema */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb {
  background: var(--linha-forte); border-radius: 999px;
  border: 3px solid var(--fundo);
}
/* Barra de confirmação — desce do topo, some sozinha. */
.toast {
  position: fixed; top: 14px; left: 50%; transform: translateX(-50%);
  z-index: 60; border-radius: var(--raio-controle);
  background: var(--painel); border: 1px solid var(--fio);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4);
  padding: 10px 18px; font-size: 12px; color: var(--texto);
  animation: toast-desce var(--ms-revelacao) var(--curva-entrada);
  max-width: 90vw;
}
@keyframes toast-desce {
  from { transform: translate(-50%, -120%); }
  to { transform: translate(-50%, 0); }
}
