
    .sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent);
      border:1px solid color-mix(in srgb,currentColor 50%,transparent);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
    @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
    html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
    html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
    html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
    .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
    .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
    .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:color-mix(in srgb,currentColor 50%,transparent);
      background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px;
      padding:0 3px}
    .sc-host.sc-has-error{position:relative}
    .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
    /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts — keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm; }
      figure, table { break-inside: avoid; }
      #dc-root, #dc-root > .sc-host { height: auto; }
      *, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;
      }
    }
  
x-dc{display:none!important}
html,body{height:100%;margin:0}#dc-root,#dc-root>.sc-host{height:100%}
/* Simtro — Webfonts.
   Tipografia adotada do repositório do produto (next/font/google):
   Inter para toda a interface e Figtree para títulos de página.
   Servidas pelo Google Fonts — mesma origem usada pelo app. */
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Simtro — Color tokens
   Brand violet #5300BF is the primary/master brand color.
   Each product module remaps only --sim-accent.
   Módulos: Core (cadastros gerais), Business Care, Service Care, View Care. */
:root {
  /* Brand violet scale */
  --sim-violet-50:  #F3EEFF;
  --sim-violet-100: #E4D8FF;
  --sim-violet-200: #C9B3FF;
  --sim-violet-300: #A883FA;
  --sim-violet-400: #8A54F0;
  --sim-violet-500: #6E24E0;
  --sim-violet-600: #5300BF; /* ★ brand */
  --sim-violet-700: #45009E;
  --sim-violet-800: #37017D;
  --sim-violet-900: #26005A;

  /* Brand gradient support (violet → cyan → turquoise) */
  --sim-cyan:  #1897BA;
  --sim-turquoise: #04CAB9;
  --sim-gradient-brand: linear-gradient(130deg, #37017D 0%, #5300BF 46%, #1897BA 88%, #04CAB9 108%); /* @kind color */

  /* Module accents (product modules of the Simtro Asset Care platform) */
  --sim-business:        #2C6EF3; /* Business Care */
  --sim-business-dark:   #1D54D1;
  --sim-business-soft:   #EAF1FE;
  --sim-business-border: #BBD1FB;
  --sim-service:         #F9851D; /* Service Care */
  --sim-service-dark:    #C2650A;
  --sim-service-soft:    #FFF3E6;
  --sim-service-border:  #FBD5A8;
  --sim-core:            #6B6B7B; /* Core — cadastros gerais (cinza neutro, como no produto) */
  --sim-core-dark:       #52525E;
  --sim-core-soft:       #ECECEF;
  --sim-core-border:     #D1D1DB;
  --sim-view:            #04AC48; /* View Care */
  --sim-view-dark:       #038539;
  --sim-view-soft:       #E4F7EC;
  --sim-view-border:     #A7E6C0;

  /* Neutrals (Slate) */
  --sim-slate-0:   #FFFFFF;
  --sim-slate-50:  #F4F4F6;
  --sim-slate-100: #ECECEF;
  --sim-slate-200: #E4E4E9;
  --sim-slate-300: #D1D1DB;
  --sim-slate-400: #9A9AA8;
  --sim-slate-500: #6B6B7B;
  --sim-slate-600: #52525E;
  --sim-slate-700: #3F3F49;
  --sim-slate-800: #27272E;
  --sim-slate-900: #16161A;

  /* Semantic */
  --sim-success:      #04AC48;
  --sim-success-soft: #E4F7EC;
  --sim-warning:      #D97706;
  --sim-warning-soft: #FFF3E6;
  --sim-danger:       #DC2626;
  --sim-danger-soft:  #FEE2E2;
  --sim-info:         #2C6EF3;
  --sim-info-soft:    #EAF1FE;

  /* Semantic aliases (use these in product code) */
  --sim-color-brand:       var(--sim-violet-600);
  --sim-color-brand-hover: var(--sim-violet-700);
  --sim-color-brand-cyan:  var(--sim-cyan);
  --sim-color-text:        var(--sim-slate-900);
  --sim-color-text-muted:  var(--sim-slate-500);
  --sim-color-bg:          var(--sim-slate-50);
  --sim-color-surface:     var(--sim-slate-0);
  --sim-color-border:      var(--sim-slate-200);
  --sim-color-focus-ring:  var(--sim-violet-100);

  /* Superfícies e realces do produto */
  --sim-card-ring: 0 0 0 1px rgba(22,22,26,.10); /* ring-1 dos cards */
  --sim-wash-opacity: .13; /* @kind other */ /* lavagem de cor dos KPIs */

  /* Default accent = master brand. Modules override below. */
  --sim-accent:       var(--sim-violet-600);
  --sim-accent-dark:  var(--sim-violet-700);
  --sim-accent-soft:  var(--sim-violet-50);
}

/* Module scopes — set data-modulo on a container to swap the accent */
[data-modulo="business"] { --sim-accent: var(--sim-business); --sim-accent-dark: var(--sim-business-dark); --sim-accent-soft: var(--sim-business-soft); }
[data-modulo="service"]  { --sim-accent: var(--sim-service);  --sim-accent-dark: var(--sim-service-dark);  --sim-accent-soft: var(--sim-service-soft); }
[data-modulo="view"]     { --sim-accent: var(--sim-view);     --sim-accent-dark: var(--sim-view-dark);     --sim-accent-soft: var(--sim-view-soft); }
[data-modulo="core"]     { --sim-accent: var(--sim-core);     --sim-accent-dark: var(--sim-core-dark);     --sim-accent-soft: var(--sim-core-soft); }

/* Simtro — Typography tokens
   Fontes do repositório: Inter (UI) + Figtree (títulos de página).
   Escala densa, igual à do produto em produção (base 12px / text-xs relaxed).
   Mono = pilha do sistema: o produto não carrega webfont mono. */
:root {
  --sim-font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --sim-font-display: 'Figtree', 'Inter', system-ui, sans-serif;
  --sim-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Sizes — densidade do repositório */
  --sim-text-display: 32px; /* heros e telas de auth */
  --sim-text-h1: 20px;      /* título de página (Figtree bold) */
  --sim-text-h2: 18px;      /* título de seção (medium) */
  --sim-text-h3: 14px;      /* título de card */
  --sim-text-stat: 24px;    /* valores de KPI (bold, tabular) */
  --sim-text-nav: 14px;     /* itens de navegação e rótulos */
  --sim-text-body: 12px;    /* texto base da interface */
  --sim-text-small: 11px;   /* metadados */
  --sim-text-overline: 10px;/* badges e overlines */

  /* Weights */
  --sim-weight-regular: 400;
  --sim-weight-medium: 500;
  --sim-weight-semibold: 600;
  --sim-weight-bold: 700;
  --sim-weight-extrabold: 800;

  /* Tracking */
  --sim-track-display: -0.02em;
  --sim-track-heading: -0.01em;
  --sim-track-overline: 0.05em;

  /* Leading */
  --sim-leading-tight: 1.1;
  --sim-leading-snug: 1.3;
  --sim-leading-normal: 1.5;
  --sim-leading-relaxed: 1.625; /* text-xs/relaxed do produto */
}

/* Simtro — Spacing scale, base 4px */
:root {
  --sim-space-1: 4px;
  --sim-space-2: 8px;
  --sim-space-3: 12px;
  --sim-space-4: 16px;
  --sim-space-5: 20px;
  --sim-space-6: 24px;
  --sim-space-8: 32px;
  --sim-space-10: 40px;
  --sim-space-12: 48px;
  --sim-space-16: 64px;

  /* Alturas de controle — densidade do repositório */
  --sim-control-h-xs: 20px;
  --sim-control-h-sm: 24px;
  --sim-control-h: 28px;   /* padrão de botão/select */
  --sim-control-h-lg: 32px;
  --sim-control-h-xl: 44px;/* CTA e inputs de formulário */
  --sim-input-h: 44px;
  --sim-input-h-sm: 28px;  /* inputs de barra de filtro */
  --sim-sidebar-w: 19rem;

  /* Layout */
  --sim-container-max: 1440px;
  --sim-gutter: 24px;
  --sim-margin-side: 32px;
  --sim-measure: 72ch;
}

/* Simtro — Corner radii (base 10px, como o --radius do produto) */
:root {
  --sim-radius-sm: 6px;
  --sim-radius-input: 8px;
  --sim-radius-btn: 8px;
  --sim-radius-card: 10px;
  --sim-radius-section: 14px; /* seções de dashboard, sidebar, dialogs */
  --sim-radius-pill: 999px;
}

/* Simtro — Elevation & focus */
:root {
  --sim-shadow-sm: 0 1px 2px rgba(16,16,26,.06);
  --sim-shadow-md: 0 4px 12px rgba(16,16,26,.08);
  --sim-shadow-lg: 0 12px 28px rgba(16,16,26,.12);
  --sim-shadow-modal: 0 24px 50px rgba(83,0,191,.18);
  --sim-focus-ring: 0 0 0 3px var(--sim-violet-100);
}

/* Simtro Design System — global entry point.
   Consumers link this one file. Keep it @import lines only. */
/* Simtro — Webfonts.
   Tipografia adotada do repositório do produto (next/font/google):
   Inter para toda a interface e Figtree para títulos de página.
   Servidas pelo Google Fonts — mesma origem usada pelo app. */
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("f3eb3627-e48d-4eaa-b86f-8e7728a9ae09.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("55efc268-4e7d-498d-b525-3f4e8352fa55.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("55fc8fc3-4fca-440c-9055-0d423c947eb7.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("f69c62c0-1b86-477c-914a-471a720cb141.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("b5ec170f-d813-4b71-bbd8-e7aebab14a75.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("6954cc65-b59d-4ebb-b224-6235396e898c.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("577e44d6-ec18-4220-b318-2ef635ef950a.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("59496094-74f6-4ba2-9a62-b60841c0ab3a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("62b1d7ac-505c-47e2-834c-6ee82a4a5f72.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Simtro — Color tokens
   Brand violet #5300BF is the primary/master brand color.
   Each product module remaps only --sim-accent.
   Módulos: Core (cadastros gerais), Business Care, Service Care, View Care. */
:root {
  /* Brand violet scale */
  --sim-violet-50:  #F3EEFF;
  --sim-violet-100: #E4D8FF;
  --sim-violet-200: #C9B3FF;
  --sim-violet-300: #A883FA;
  --sim-violet-400: #8A54F0;
  --sim-violet-500: #6E24E0;
  --sim-violet-600: #5300BF; /* ★ brand */
  --sim-violet-700: #45009E;
  --sim-violet-800: #37017D;
  --sim-violet-900: #26005A;

  /* Brand gradient support (violet → cyan → turquoise) */
  --sim-cyan:  #1897BA;
  --sim-turquoise: #04CAB9;
  --sim-gradient-brand: linear-gradient(130deg, #37017D 0%, #5300BF 46%, #1897BA 88%, #04CAB9 108%); /* @kind color */

  /* Module accents (product modules of the Simtro Asset Care platform) */
  --sim-business:        #2C6EF3; /* Business Care */
  --sim-business-dark:   #1D54D1;
  --sim-business-soft:   #EAF1FE;
  --sim-business-border: #BBD1FB;
  --sim-service:         #F9851D; /* Service Care */
  --sim-service-dark:    #C2650A;
  --sim-service-soft:    #FFF3E6;
  --sim-service-border:  #FBD5A8;
  --sim-core:            #6B6B7B; /* Core — cadastros gerais (cinza neutro, como no produto) */
  --sim-core-dark:       #52525E;
  --sim-core-soft:       #ECECEF;
  --sim-core-border:     #D1D1DB;
  --sim-view:            #04AC48; /* View Care */
  --sim-view-dark:       #038539;
  --sim-view-soft:       #E4F7EC;
  --sim-view-border:     #A7E6C0;

  /* Neutrals (Slate) */
  --sim-slate-0:   #FFFFFF;
  --sim-slate-50:  #F4F4F6;
  --sim-slate-100: #ECECEF;
  --sim-slate-200: #E4E4E9;
  --sim-slate-300: #D1D1DB;
  --sim-slate-400: #9A9AA8;
  --sim-slate-500: #6B6B7B;
  --sim-slate-600: #52525E;
  --sim-slate-700: #3F3F49;
  --sim-slate-800: #27272E;
  --sim-slate-900: #16161A;

  /* Semantic */
  --sim-success:      #04AC48;
  --sim-success-soft: #E4F7EC;
  --sim-warning:      #D97706;
  --sim-warning-soft: #FFF3E6;
  --sim-danger:       #DC2626;
  --sim-danger-soft:  #FEE2E2;
  --sim-info:         #2C6EF3;
  --sim-info-soft:    #EAF1FE;

  /* Semantic aliases (use these in product code) */
  --sim-color-brand:       var(--sim-violet-600);
  --sim-color-brand-hover: var(--sim-violet-700);
  --sim-color-brand-cyan:  var(--sim-cyan);
  --sim-color-text:        var(--sim-slate-900);
  --sim-color-text-muted:  var(--sim-slate-500);
  --sim-color-bg:          var(--sim-slate-50);
  --sim-color-surface:     var(--sim-slate-0);
  --sim-color-border:      var(--sim-slate-200);
  --sim-color-focus-ring:  var(--sim-violet-100);

  /* Superfícies e realces do produto */
  --sim-card-ring: 0 0 0 1px rgba(22,22,26,.10); /* ring-1 dos cards */
  --sim-wash-opacity: .13; /* @kind other */ /* lavagem de cor dos KPIs */

  /* Default accent = master brand. Modules override below. */
  --sim-accent:       var(--sim-violet-600);
  --sim-accent-dark:  var(--sim-violet-700);
  --sim-accent-soft:  var(--sim-violet-50);
}

/* Module scopes — set data-modulo on a container to swap the accent */
[data-modulo="business"] { --sim-accent: var(--sim-business); --sim-accent-dark: var(--sim-business-dark); --sim-accent-soft: var(--sim-business-soft); }
[data-modulo="service"]  { --sim-accent: var(--sim-service);  --sim-accent-dark: var(--sim-service-dark);  --sim-accent-soft: var(--sim-service-soft); }
[data-modulo="view"]     { --sim-accent: var(--sim-view);     --sim-accent-dark: var(--sim-view-dark);     --sim-accent-soft: var(--sim-view-soft); }
[data-modulo="core"]     { --sim-accent: var(--sim-core);     --sim-accent-dark: var(--sim-core-dark);     --sim-accent-soft: var(--sim-core-soft); }

/* Simtro — Typography tokens
   Fontes do repositório: Inter (UI) + Figtree (títulos de página).
   Escala densa, igual à do produto em produção (base 12px / text-xs relaxed).
   Mono = pilha do sistema: o produto não carrega webfont mono. */
:root {
  --sim-font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --sim-font-display: 'Figtree', 'Inter', system-ui, sans-serif;
  --sim-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Sizes — densidade do repositório */
  --sim-text-display: 32px; /* heros e telas de auth */
  --sim-text-h1: 20px;      /* título de página (Figtree bold) */
  --sim-text-h2: 18px;      /* título de seção (medium) */
  --sim-text-h3: 14px;      /* título de card */
  --sim-text-stat: 24px;    /* valores de KPI (bold, tabular) */
  --sim-text-nav: 14px;     /* itens de navegação e rótulos */
  --sim-text-body: 12px;    /* texto base da interface */
  --sim-text-small: 11px;   /* metadados */
  --sim-text-overline: 10px;/* badges e overlines */

  /* Weights */
  --sim-weight-regular: 400;
  --sim-weight-medium: 500;
  --sim-weight-semibold: 600;
  --sim-weight-bold: 700;
  --sim-weight-extrabold: 800;

  /* Tracking */
  --sim-track-display: -0.02em;
  --sim-track-heading: -0.01em;
  --sim-track-overline: 0.05em;

  /* Leading */
  --sim-leading-tight: 1.1;
  --sim-leading-snug: 1.3;
  --sim-leading-normal: 1.5;
  --sim-leading-relaxed: 1.625; /* text-xs/relaxed do produto */
}

/* Simtro — Spacing scale, base 4px */
:root {
  --sim-space-1: 4px;
  --sim-space-2: 8px;
  --sim-space-3: 12px;
  --sim-space-4: 16px;
  --sim-space-5: 20px;
  --sim-space-6: 24px;
  --sim-space-8: 32px;
  --sim-space-10: 40px;
  --sim-space-12: 48px;
  --sim-space-16: 64px;

  /* Alturas de controle — densidade do repositório */
  --sim-control-h-xs: 20px;
  --sim-control-h-sm: 24px;
  --sim-control-h: 28px;   /* padrão de botão/select */
  --sim-control-h-lg: 32px;
  --sim-control-h-xl: 44px;/* CTA e inputs de formulário */
  --sim-input-h: 44px;
  --sim-input-h-sm: 28px;  /* inputs de barra de filtro */
  --sim-sidebar-w: 19rem;

  /* Layout */
  --sim-container-max: 1440px;
  --sim-gutter: 24px;
  --sim-margin-side: 32px;
  --sim-measure: 72ch;
}

/* Simtro — Corner radii (base 10px, como o --radius do produto) */
:root {
  --sim-radius-sm: 6px;
  --sim-radius-input: 8px;
  --sim-radius-btn: 8px;
  --sim-radius-card: 10px;
  --sim-radius-section: 14px; /* seções de dashboard, sidebar, dialogs */
  --sim-radius-pill: 999px;
}

/* Simtro — Elevation & focus */
:root {
  --sim-shadow-sm: 0 1px 2px rgba(16,16,26,.06);
  --sim-shadow-md: 0 4px 12px rgba(16,16,26,.08);
  --sim-shadow-lg: 0 12px 28px rgba(16,16,26,.12);
  --sim-shadow-modal: 0 24px 50px rgba(83,0,191,.18);
  --sim-focus-ring: 0 0 0 3px var(--sim-violet-100);
}



    body { margin: 0; background: var(--sim-color-bg); -webkit-text-size-adjust: 100%; }
    a { color: var(--sim-color-brand); text-underline-offset: 2px; }
    a:hover { color: var(--sim-color-brand-hover); }
    * { -webkit-tap-highlight-color: transparent; }
  
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 280px; }
img { max-width: 100%; }
#demo, #demo > *, .lead-form > *, .lead-field { min-width: 0; }
.lead-form { display: flex; flex-direction: column; gap: 20px; }
.lead-field { display: flex; flex-direction: column; gap: 8px; }
.lead-field label { font-size: 14px; font-weight: 500; color: var(--sim-slate-700); }
.lead-field input, .lead-field select { width: 100%; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--sim-color-border); border-radius: var(--sim-radius-input); font: inherit; font-size: 16px; color: var(--sim-color-text); background: white; }
.lead-field input[aria-invalid="true"] { border-color: var(--sim-danger); }
.field-error, .submit-error { font-size: 14px; color: var(--sim-danger); overflow-wrap: anywhere; }
.field-error:empty, .submit-error:empty { display: none; }
.submit-error { margin: 0; line-height: 1.5; }
.lead-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.module-choice, .consent-choice { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 12px; border: 1px solid var(--sim-color-border); border-radius: var(--sim-radius-input); font-size: 14px; line-height: 1.5; cursor: pointer; }
.consent-choice { align-items: flex-start; background: var(--sim-slate-50); }
.module-choice input, .consent-choice input { width: 18px; height: 18px; flex: 0 0 18px; margin: 1px 0 0; accent-color: var(--sim-color-brand); }
.module-choice:has(input:checked) { border-color: var(--sim-color-brand); background: var(--sim-violet-50); }
:focus-visible { outline: 3px solid var(--sim-violet-400); outline-offset: 3px; }
button:disabled { cursor: wait; }
@media (max-width: 380px) {
  #demo { padding: 18px !important; }
  #demo div:has(> .module-choice) { grid-template-columns: 1fr !important; }
  #demo div:has(> button[aria-pressed]) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

[hidden] { display: none !important; }
button[aria-pressed="true"] { background: var(--sim-violet-50) !important; border-color: var(--sim-color-brand) !important; color: var(--sim-violet-700) !important; }
