/* Camada visual dos painéis sobre o Filament: fundo neutro, cartões brancos, gráficos em tons de cinza e um só acento da marca. */
:root {
  --sm-canvas: #F3F3F1;
  --sm-card: #FFFFFF;
  --sm-line: #ECEBE7;
  --sm-field: #DEDCD6;
  --sm-ink: #1F1E1C;
  --sm-muted: #6F6D67;
  --sm-soft: #F2F1EE;
  --sm-bar: #E7E5DF;
  --sm-accent: var(--primary-600);
  --sm-display: 'Fraunces', Georgia, serif;
  --sm-lift: 0 1px 2px rgb(31 30 28 / .04);
  --sidebar-width: 15rem;
}
.dark {
  --sm-canvas: #141311;
  --sm-card: #1D1B19;
  --sm-line: #2D2B27;
  --sm-field: #45413A;
  --sm-ink: #F3F1EB;
  --sm-muted: #A9A59B;
  --sm-soft: #282622;
  --sm-bar: #38352F;
  --sm-accent: var(--primary-400);
  --sm-lift: none;
}

/* Base */
html { color-scheme: light; scrollbar-color: var(--sm-field) transparent; scrollbar-width: thin; }
html.dark { color-scheme: dark; }
html, body.fi-body, .fi-body .fi-layout, .fi-main-ctn { background: var(--sm-canvas); }
.fi-body { color: var(--sm-ink); font-size: 15px; }
.fi-body ::selection { background: var(--sm-ink); color: var(--sm-card); }
.fi-header-heading, .fi-modal-heading, .fi-section-header-heading, .fi-simple-header-heading, .fi-logo {
  font-family: var(--sm-display);
  font-variation-settings: 'opsz' 36, 'SOFT' 40, 'WONK' 0;
  font-weight: 500;
  letter-spacing: -.01em;
}
.fi-header-heading { font-size: 1.75rem; }
.fi-section-header-heading { font-size: 1.0625rem; }

/* Estrutura: menu lateral de ponta a ponta e barra superior só sobre o conteúdo */
.fi-topbar-ctn, .fi-topbar, .fi-topbar nav { background: var(--sm-canvas); box-shadow: none; border: 0; }
.fi-sidebar, .fi-sidebar-header, .fi-sidebar-header-ctn { background: var(--sm-canvas); border: 0; box-shadow: none; }
.fi-main { background: transparent; max-width: none; padding: 8px 24px 32px; }
@media (min-width: 1024px) {
  .fi-topbar-ctn { margin-left: var(--sidebar-width); width: auto; }
  .fi-topbar { min-height: 64px; padding-inline: 24px; }
  .fi-topbar .fi-logo { display: none; }
  .fi-sidebar { position: fixed !important; inset: 0 auto 0 0 !important; width: var(--sidebar-width) !important; height: 100dvh !important; max-height: none !important; z-index: 30; }
  .fi-main-ctn { margin-left: var(--sidebar-width); width: calc(100% - var(--sidebar-width)); }
  body:has(.fi-tenant-menu) .fi-sidebar-header-ctn { display: none; }
  .fi-sidebar-header-ctn { height: auto; }
  .fi-sidebar-header { display: flex; position: static; align-items: center; padding-inline: 1.25rem; height: 72px; }
  .fi-sidebar-header .fi-logo { font-size: 1.25rem; }
}
@media (max-width: 1023px) {
  .fi-main { padding: 8px 16px 24px; }
  .sm-crumbs { display: none; }
}

/* Barra superior */
.sm-crumbs { display: flex; align-items: center; gap: 10px; margin-inline-start: 0; font-size: .875rem; color: var(--sm-muted); }
.sm-crumbs i { font-style: normal; color: var(--sm-field); }
.sm-crumbs b { font-weight: 500; color: var(--sm-ink); }
.fi-topbar-end { gap: 12px; }
.fi-global-search-field .fi-input-wrp, .fi-topbar .fi-input-wrp { width: 280px; max-width: 42vw; min-height: 38px; border: 1px solid var(--sm-line); border-radius: 10px; background: var(--sm-card); }
.sm-bell { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: var(--sm-ink); transition: background-color .15s ease; }
.sm-bell:hover { background: var(--sm-bar); }
.sm-bell svg { width: 1.375rem; height: 1.375rem; }
.sm-bell i { position: absolute; top: 8px; right: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--sm-accent); border: 2px solid var(--sm-canvas); box-sizing: content-box; }
.sm-bell-list { padding: 4px; font-size: .875rem; }
.sm-bell-list a { display: block; padding: 8px 10px; border-radius: 8px; }
.sm-bell-list a:hover { background: var(--sm-soft); }
.sm-bell-list b { display: block; font-weight: 600; }
.sm-bell-list small { display: block; font-size: .8125rem; color: var(--sm-muted); }
.sm-bell-list p { padding: 8px 10px; color: var(--sm-muted); }

/* Menu lateral */
.fi-sidebar-nav { padding-inline: 1rem; }
.fi-sidebar-nav-groups, .fi-sidebar-group, .fi-sidebar-group-items { margin-inline: 0; }
.fi-tenant-menu { padding-inline: 1rem; padding-block: 14px 4px; }
.fi-tenant-menu-trigger { border: 0; padding-inline: 4px; gap: 10px; }
.fi-tenant-menu-trigger-text > :first-child { display: none; }
.fi-tenant-menu-trigger-text { font: 500 1.0625rem/1.2 var(--sm-display); letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fi-sidebar-item-btn { border-radius: 10px; min-height: 40px; padding-inline: .75rem; color: var(--sm-muted); transition: background-color .15s ease, color .15s ease; }
.fi-sidebar-item-label { font-size: .9375rem; font-weight: 500; color: inherit; }
.fi-sidebar-item-icon { color: inherit; }
.fi-sidebar-item-btn:hover { background: var(--sm-bar); color: var(--sm-ink); }
.fi-sidebar-item.fi-active .fi-sidebar-item-btn { background: var(--sm-card); color: var(--sm-ink); box-shadow: var(--sm-lift); }
.fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: inherit; }
.fi-sidebar-item.fi-active .fi-sidebar-item-label { color: inherit; font-weight: 600; }
.fi-sidebar-group-btn, .fi-sidebar-group-label { padding-inline: .75rem; }
.fi-sidebar-group-label { font-size: .8125rem; letter-spacing: 0; color: var(--sm-muted); font-weight: 500; }
.sm-side-foot { display: grid; gap: 12px; padding: 12px 1rem 16px; }
.sm-side-card { padding: 14px; border-radius: 14px; background: var(--sm-card); box-shadow: var(--sm-lift); }
.sm-side-card svg { width: 1.375rem; height: 1.375rem; margin-bottom: 8px; }
.sm-side-card-title { font: 500 1rem/1.2 var(--sm-display); }
.sm-side-card-text { margin-top: 4px; font-size: .8125rem; line-height: 1.35; color: var(--sm-muted); }
.sm-side-card a { display: block; margin-top: 12px; padding: 7px; border-radius: 9px; background: var(--sm-ink); color: var(--sm-card); font-size: .875rem; font-weight: 600; text-align: center; transition: opacity .15s ease; }
.sm-side-card a:hover { opacity: .85; }
.sm-side-user { display: flex; align-items: center; gap: 10px; padding: 4px; border-radius: 10px; min-width: 0; }
.sm-side-user:hover { background: var(--sm-bar); }
.sm-side-user span { min-width: 0; line-height: 1.25; }
.sm-side-user b, .sm-side-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sm-side-user b { font-size: .875rem; font-weight: 600; }
.sm-side-user small { font-size: .75rem; color: var(--sm-muted); }

/* Componentes do Filament nas demais telas */
.fi-section, .fi-ta-ctn, .fi-modal-window, .fi-wi-stats-overview-stat { border-radius: 14px; box-shadow: var(--sm-lift); border: 1px solid var(--sm-line); --tw-ring-color: transparent; background: var(--sm-card); }
.fi-resource-list-records-page .fi-breadcrumbs { display: none; }
.fi-ta-header-cell-label { font-weight: 600; font-size: .8125rem; color: var(--sm-muted); }
.fi-ta-cell { font-variant-numeric: tabular-nums; }
.fi-btn { border-radius: 10px; font-weight: 600; box-shadow: none; }
.fi-main .fi-btn.fi-color-primary:not(.fi-outlined) { background: var(--sm-ink); color: var(--sm-card); }
.fi-main .fi-btn.fi-color-primary:not(.fi-outlined):hover { background: color-mix(in oklab, var(--sm-ink) 85%, var(--sm-card)); }
.fi-input-wrp { border-radius: 10px; box-shadow: none; border: 1px solid var(--sm-field); background: var(--sm-card); transition: border-color .15s ease; }
.fi-input-wrp:hover { border-color: var(--sm-muted); }
.fi-input-wrp:focus-within { border-color: var(--sm-ink); outline: 1px solid var(--sm-ink); }
.fi-main .fi-link.fi-color-primary, .fi-main .fi-ta-actions .fi-link { color: var(--sm-ink); --text: var(--sm-ink); }
.fi-ta .fi-badge { background: var(--sm-soft); color: var(--sm-ink); box-shadow: none; border: 0; }

/* Entrada: foto de prato ao lado do formulário, sobre o tom da marca */
html:has(.fi-simple-layout), body.fi-body:has(.fi-simple-layout) { background: var(--primary-950); }
.fi-simple-layout { position: relative; isolation: isolate; min-height: 100dvh; background: var(--primary-950); }
.fi-simple-layout::before { content: ''; position: fixed; inset: -64px; z-index: -1; background: url('../images/auth/login.jpg') center 90% / cover; filter: blur(36px); mix-blend-mode: luminosity; opacity: .4; }
.fi-simple-main-ctn { display: flex; align-items: center; justify-content: center; min-height: 100dvh; padding: 24px; }
.fi-simple-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: min(1080px, 100%);
  max-width: none;
  min-height: min(680px, calc(100dvh - 48px));
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 20px;
  background: var(--sm-card);
  box-shadow: none;
  --tw-ring-color: transparent;
}
.fi-simple-main::after { content: ''; background: url('../images/auth/login.jpg') center 72% / cover; }
.fi-simple-page { align-self: center; width: 100%; padding: 48px clamp(32px, 6vw, 72px); }
.fi-simple-header { align-items: flex-start; text-align: left; }
.fi-simple-header .fi-logo { font-size: 1.25rem; margin-bottom: 2.5rem; color: var(--primary-700); }
.fi-simple-header-heading { font-size: 2rem; line-height: 1.1; letter-spacing: -.02em; text-align: left; }
.fi-simple-header-subheading { margin-top: .5rem; font-size: 1rem; color: var(--sm-muted); text-align: left; }
.fi-simple-main .fi-input-wrp { min-height: 48px; background: var(--sm-soft); border-color: transparent; }
.fi-simple-main .fi-input-wrp input { background: transparent; }
.fi-simple-main .fi-btn { min-height: 48px; font-size: 1rem; }
.fi-simple-main .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) { background: var(--primary-700); color: #fff; }
.fi-simple-main .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover { background: var(--primary-800); }
@media (max-width: 767px) {
  .fi-simple-main-ctn { padding: 0; align-items: stretch; }
  .fi-simple-main { grid-template-columns: minmax(0, 1fr); grid-template-rows: 30dvh auto; border-radius: 0; min-height: 100dvh; }
  .fi-simple-main::after { order: -1; background-position: center 78%; }
  .fi-simple-page { align-self: start; padding: 28px 20px 32px; }
  .fi-simple-header .fi-logo { margin-bottom: 1.25rem; }
  .fi-simple-header-heading { font-size: 1.75rem; }
}

/* Visão geral */
.sm-dash { display: grid; gap: 14px; color: var(--sm-ink); font-variant-numeric: tabular-nums; }
.sm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; margin-bottom: 6px; }
.sm-greet { font-size: .9375rem; }
.sm-title { margin-top: 2px; font: 500 clamp(1.75rem, 2.4vw, 2.125rem)/1.15 var(--sm-display); font-variation-settings: 'opsz' 60, 'SOFT' 40, 'WONK' 0; letter-spacing: -.018em; }
.sm-finding { margin-top: 4px; color: var(--sm-muted); font-size: .9375rem; line-height: 1.4; }
.sm-head-side { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: .875rem; }
.sm-tag { color: var(--sm-muted); font-size: .8125rem; font-weight: 500; }
.sm-date { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding-inline: 14px; border-radius: 12px; background: var(--sm-card); box-shadow: var(--sm-lift); }
.sm-date span { display: inline-block; }
.sm-date span::first-letter { text-transform: uppercase; }
.sm-date svg, .sm-cta svg { width: 1.125rem; height: 1.125rem; }
.sm-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding-inline: 16px; border-radius: 12px; background: var(--sm-ink); color: var(--sm-card); font-weight: 600; transition: opacity .15s ease; }
.sm-cta:hover { opacity: .86; }

.sm-card { min-width: 0; padding: 18px 20px; border-radius: 14px; background: var(--sm-card); box-shadow: var(--sm-lift); }
.sm-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sm-card-title { display: flex; gap: 10px; min-width: 0; }
.sm-card-title > svg { flex: none; width: 1.25rem; height: 1.25rem; margin-top: 2px; }
.sm-card-title h2 { font: 500 1.0625rem/1.3 var(--sm-display); font-variation-settings: 'opsz' 24, 'SOFT' 40; }
.sm-card-title p { margin-top: 2px; font-size: .875rem; line-height: 1.35; color: var(--sm-muted); }
.sm-empty { padding-block: 8px; color: var(--sm-muted); font-size: .875rem; }
.sm-link { flex: none; padding: 4px 10px; border: 1px solid var(--sm-line); border-radius: 8px; font-size: .8125rem; transition: background-color .15s ease; }
.sm-link:hover { background: var(--sm-soft); }
.sm-select { flex: none; min-height: 36px; padding: 0 30px 0 12px; border: 1px solid var(--sm-line); border-radius: 10px; background-color: var(--sm-card); color: var(--sm-ink); font-size: .875rem; }

.sm-row { display: grid; gap: 14px; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); }
.sm-stack { display: grid; gap: 14px; align-content: start; }
@media (max-width: 1180px) { .sm-row { grid-template-columns: minmax(0, 1fr); } }

/* Indicadores */
.sm-kpis { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sm-kpi { padding: 16px 18px 14px; }
.sm-kpi header { display: flex; align-items: center; justify-content: space-between; }
.sm-kpi h2 { font-size: .9375rem; font-weight: 500; }
.sm-kpi header svg { width: 1.25rem; height: 1.25rem; color: var(--sm-muted); }
.sm-kpi-value { margin-top: 10px; font-size: 1.875rem; font-weight: 500; line-height: 1.1; letter-spacing: -.015em; white-space: nowrap; }
.sm-kpi-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 8px; min-height: 28px; font-size: .8125rem; color: var(--sm-muted); }
.sm-kpi-foot b { font-weight: 600; color: var(--sm-ink); }
.sm-spark { display: flex; flex: none; align-items: flex-end; gap: 2px; height: 28px; }
.sm-spark i { display: block; width: 3px; border-radius: 1.5px; background: var(--sm-bar); }
.sm-spark i.is-done { background: var(--sm-ink); }
@media (max-width: 1320px) { .sm-spark { display: none; } }
@media (max-width: 1023px) { .sm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sm-spark { display: flex; } }
@media (max-width: 560px) { .sm-spark { display: none; } .sm-kpi-value { font-size: 1.5rem; } .sm-kpi { padding: 14px; } }

/* Gráfico: barras de hoje em tom neutro, pico na cor da marca, ontem em linha */
.sm-legend { display: flex; justify-content: flex-end; gap: 16px; margin: -4px 0 14px; font-size: .8125rem; color: var(--sm-muted); }
.sm-legend li { display: flex; align-items: center; gap: 6px; }
.sm-key-today, .sm-key-yesterday { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--sm-ink); }
.sm-key-yesterday { background: color-mix(in oklab, var(--sm-muted) 55%, var(--sm-card)); }
.sm-plot { position: relative; height: 196px; margin: 0 0 24px 44px; }
.sm-plot svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.sm-plot polyline { fill: none; stroke: color-mix(in oklab, var(--sm-muted) 60%, var(--sm-card)); stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.sm-tick { position: absolute; left: 0; right: 0; height: 1px; background: var(--sm-line); }
.sm-tick b { position: absolute; right: 100%; bottom: -8px; margin-right: 10px; font-size: .75rem; line-height: 16px; font-weight: 400; color: var(--sm-muted); white-space: nowrap; }
.sm-bars { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); }
.sm-bar { position: relative; }
.sm-bar > i { position: absolute; left: 50%; bottom: 0; width: min(58%, 26px); translate: -50% 0; border-radius: 5px 5px 2px 2px; background: var(--sm-bar); transition: background-color .15s ease; }
.sm-bar:hover > i { background: color-mix(in oklab, var(--sm-ink) 30%, var(--sm-bar)); }
.sm-bar.is-peak > i { background: var(--sm-accent); }
.sm-bar > em { position: absolute; top: 100%; left: 50%; translate: -50% 8px; font-size: .75rem; font-style: normal; color: var(--sm-muted); }
.sm-tip { position: absolute; left: calc(50% + 18px); translate: 0 50%; z-index: 3; display: grid; gap: 2px; padding: 8px 10px; border: 1px solid var(--sm-line); border-radius: 10px; background: var(--sm-card); box-shadow: 0 6px 18px rgb(31 30 28 / .1); font-size: .75rem; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .12s ease; }
.sm-bar:nth-child(n+8) .sm-tip { left: auto; right: calc(50% + 18px); }
.sm-tip strong { font-weight: 600; }
.sm-tip span { display: flex; align-items: center; gap: 6px; }
.sm-bar:hover .sm-tip { opacity: 1; }
.sm-bars:not(:hover) .is-peak .sm-tip { opacity: 1; }

/* Rosca */
.sm-status { display: flex; flex-direction: column; }
.sm-status-body { flex: 1; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.sm-donut { position: relative; flex: none; width: 136px; height: 136px; margin-inline: auto; }
.sm-donut svg { width: 100%; height: 100%; rotate: -90deg; }
.sm-donut circle { fill: none; stroke-width: 6; }
.sm-donut p { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; line-height: 1.1; }
.sm-donut b { font: 500 1.875rem/1.1 var(--sm-display); }
.sm-donut span { font-size: .8125rem; color: var(--sm-muted); }
circle.sm-seg-0 { stroke: var(--sm-ink); }
circle.sm-seg-1 { stroke: color-mix(in oklab, var(--sm-ink) 62%, var(--sm-card)); }
circle.sm-seg-2 { stroke: color-mix(in oklab, var(--sm-ink) 38%, var(--sm-card)); }
circle.sm-seg-3 { stroke: color-mix(in oklab, var(--sm-ink) 20%, var(--sm-card)); }
.sm-status ul { flex: 1 1 170px; display: grid; gap: 14px; font-size: .875rem; }
.sm-status li { display: grid; grid-template-columns: 8px minmax(0, 1fr) 1.25rem 2rem; align-items: center; gap: 6px; white-space: nowrap; }
.sm-status li i { width: 8px; height: 8px; border-radius: 50%; }
i.sm-seg-0 { background: var(--sm-ink); }
i.sm-seg-1 { background: color-mix(in oklab, var(--sm-ink) 62%, var(--sm-card)); }
i.sm-seg-2 { background: color-mix(in oklab, var(--sm-ink) 38%, var(--sm-card)); }
i.sm-seg-3 { background: color-mix(in oklab, var(--sm-ink) 20%, var(--sm-card)); }
.sm-status li b { font-weight: 600; text-align: right; }
.sm-status li small { font-size: .8125rem; color: var(--sm-muted); text-align: right; }

/* Mesas no salão */
.sm-row > .sm-card:has(.sm-tl) { display: flex; flex-direction: column; }
.sm-tl { --name: 8rem; flex: 1; display: grid; grid-template-rows: auto repeat(4, minmax(50px, 1fr)); }
.sm-tl-scale, .sm-tl-row { display: grid; grid-template-columns: var(--name) minmax(0, 1fr); }
.sm-tl-scale { margin-top: 18px; border-radius: 8px; background: var(--sm-soft); font-size: .8125rem; color: var(--sm-muted); }
.sm-tl-scale > span { padding: 7px 10px; }
.sm-tl-scale > div { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); }
.sm-tl-scale > div > span { padding: 7px 8px; }
.sm-tl-now { position: absolute; bottom: 100%; left: calc(var(--now) * 1%); translate: -50% 12px; padding: 2px 8px; border-radius: 999px; background: var(--sm-ink); color: var(--sm-card); font-size: .75rem; font-weight: 600; line-height: 16px; }
.sm-tl-row { min-height: 50px; border-bottom: 1px solid var(--sm-line); }
.sm-tl-row:last-child { border-bottom: 0; }
.sm-tl-name { display: flex; align-items: center; gap: 10px; }
.sm-tl-name svg { flex: none; width: 2rem; height: 2rem; padding: 6px; border-radius: 8px; background: var(--sm-soft); }
.sm-tl-name span { display: grid; line-height: 1.2; font-size: .875rem; }
.sm-tl-name b { font-weight: 600; }
.sm-tl-name small { font-size: .75rem; color: var(--sm-muted); }
.sm-tl-lane { position: relative; }
.sm-tl-lane::after { content: ''; position: absolute; top: 0; bottom: -1px; left: calc(var(--now) * 1%); border-left: 1.5px dashed var(--sm-ink); pointer-events: none; }
.sm-tl-block { position: absolute; top: 8px; bottom: 8px; display: flex; align-items: center; padding-inline: 10px; border-radius: 10px; background: var(--sm-bar); font-size: .8125rem; font-weight: 500; white-space: nowrap; overflow: hidden; }
.sm-tl-block.is-closed { background: var(--sm-soft); color: var(--sm-muted); }
.sm-tl-block.is-flag { background: var(--sm-accent); color: #fff; }
.dark .sm-tl-block.is-flag { color: #14120F; }
.sm-tl-time { position: absolute; top: 50%; left: calc(var(--now) * 1% + 10px); translate: 0 -50%; font-size: .75rem; color: var(--sm-muted); white-space: nowrap; }

/* Listas laterais */
.sm-top ul { display: grid; gap: 10px; }
.sm-top li { display: flex; align-items: center; gap: 12px; font-size: .875rem; }
.sm-top li span:not(.sm-thumb-empty) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sm-top img, .sm-thumb-empty { flex: none; width: 36px; height: 36px; border-radius: 10px; object-fit: cover; background: var(--sm-soft); }
.sm-top li b { font-weight: 600; }
.sm-alerts a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 8px; font-size: .875rem; }
.sm-alerts a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.sm-alerts a > svg { flex: none; width: 1rem; height: 1rem; color: var(--sm-muted); }
.sm-alerts b { display: block; font-weight: 600; }
.sm-alerts small { display: block; font-size: .8125rem; line-height: 1.35; color: var(--sm-muted); }

.sm-kpis-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sm-latest li { display: grid; grid-template-columns: minmax(0, 1fr) auto 5.5rem; align-items: center; gap: 16px; min-height: 52px; border-top: 1px solid var(--sm-line); font-size: .875rem; }
.sm-latest span { display: grid; min-width: 0; line-height: 1.3; }
.sm-latest b { font-weight: 600; }
.sm-latest small { font-size: .8125rem; color: var(--sm-muted); overflow: hidden; text-overflow: ellipsis; }
.sm-latest em { padding: 2px 8px; border-radius: 6px; background: var(--sm-soft); font-size: .75rem; font-style: normal; font-weight: 500; }
.sm-latest em.is-off { background: var(--sm-ink); color: var(--sm-card); }
.sm-latest time { font-size: .8125rem; color: var(--sm-muted); text-align: right; }

/* Funil */
.sm-funnel ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.sm-funnel li > span { font-size: .875rem; color: var(--sm-muted); }
.sm-funnel p { display: flex; align-items: baseline; justify-content: space-between; margin: 2px 0 8px; }
.sm-funnel b { font-size: 1.375rem; font-weight: 500; }
.sm-funnel small { font-size: .8125rem; color: var(--sm-muted); }
.sm-funnel li > div { height: 8px; border-radius: 4px; background: var(--sm-soft); overflow: hidden; }
.sm-funnel li > div i { display: block; height: 100%; border-radius: 4px; background: var(--sm-ink); }
@media (max-width: 767px) {
  .sm-funnel ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm-plot { margin-left: 36px; height: 160px; }
  .sm-bar:nth-child(even) > em { visibility: hidden; }
  .sm-tl { --name: 5.25rem; }
  .sm-tl-scale > span { visibility: hidden; }
  .sm-tl-scale > div > span:nth-child(3) { visibility: hidden; }
  .sm-tl-name svg, .sm-tl-time { display: none; }
  .sm-tl-block { padding-inline: 5px; font-size: .75rem; }
  .sm-head-side { width: 100%; }
  .sm-head-side .sm-cta { margin-left: auto; }
}
.sm-dash a:focus-visible, .sm-dash select:focus-visible, .sm-side-foot a:focus-visible, .sm-bell:focus-visible { outline: 2px solid var(--sm-ink); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .sm-dash *, .sm-side-foot *, .sm-bell { transition: none; } }

/* Painel da plataforma */
.sm-admin-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1023px) { .sm-admin-grid { grid-template-columns: minmax(0, 1fr); } }
.sm-activity li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 52px; border-top: 1px solid var(--sm-line); }
.sm-activity span { display: grid; min-width: 0; line-height: 1.3; }
.sm-activity b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sm-activity small { font-size: .8125rem; color: var(--sm-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sm-activity time { font-size: .8125rem; color: var(--sm-muted); }
.sm-note { color: var(--sm-muted); font-size: .8125rem; }
.sm-health li { display: grid; grid-template-columns: 10px minmax(10rem, 16rem) minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 48px; border-top: 1px solid var(--sm-line); }
.sm-health-compact li { grid-template-columns: 10px minmax(10rem, 16rem) minmax(0, 1fr); }
.sm-health i { width: 8px; height: 8px; border-radius: 50%; }
.sm-health i.is-ok { background: #15803d; }
.sm-health i.is-warn { background: #d97706; }
.sm-health i.is-down { background: #dc2626; }
.sm-health b { font-weight: 600; }
.sm-health span { color: var(--sm-muted); font-size: .875rem; min-width: 0; }
.sm-health em { font-size: .75rem; font-style: normal; font-weight: 500; }
.sm-failed li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 56px; padding-block: 8px; border-top: 1px solid var(--sm-line); }
.sm-failed span { display: grid; flex: 1 1 16rem; min-width: 0; line-height: 1.3; }
.sm-failed b { font-weight: 600; }
.sm-failed small { font-size: .8125rem; color: var(--sm-muted); overflow-wrap: anywhere; }
.sm-detail { display: grid; gap: 18px; font-size: .9375rem; }
.sm-detail h3 { margin-bottom: 6px; font-weight: 600; }
.sm-detail section p { padding-block: 5px; border-top: 1px solid var(--sm-line); }
.sm-detail small { display: block; color: var(--sm-muted); font-size: .8125rem; }
.sm-code { padding: 14px; border-radius: 10px; background: var(--sm-soft); font-size: .8125rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.sm-orders li { display: grid; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 12px; padding-block: 8px; border-top: 1px solid var(--sm-line); }
.sm-orders span { min-width: 0; }
@media (max-width: 640px) { .sm-health li { grid-template-columns: 10px minmax(0, 1fr) auto; } .sm-health span { grid-column: 2 / -1; grid-row: 2; } }

/* Nome na barra de cima */
.sm-topuser { display: grid; justify-items: end; margin-right: 10px; line-height: 1.2; color: var(--sm-ink); }
.sm-topuser b { font-size: .875rem; font-weight: 600; white-space: nowrap; }
.sm-topuser small { font-size: .75rem; color: var(--sm-muted); }
.sm-topuser:hover b { text-decoration: underline; }
@media (max-width: 640px) { .sm-topuser { display: none; } }

/* Perfil */
.sm-profile { display: grid; gap: 18px; grid-template-columns: 19rem minmax(0, 1fr); align-items: start; color: var(--sm-ink); }
.sm-profile-card { display: grid; justify-items: start; gap: 4px; position: sticky; top: 88px; }
.sm-profile-card .fi-avatar { width: 88px; height: 88px; margin-bottom: 10px; }
.sm-profile-card h2 { font-family: var(--sm-display); font-size: 1.375rem; font-weight: 600; line-height: 1.2; }
.sm-profile-card > p { color: var(--sm-muted); font-size: .875rem; }
.sm-profile-card dl { width: 100%; margin-top: 14px; }
.sm-profile-card dl div { padding-block: 9px; border-top: 1px solid var(--sm-line); }
.sm-profile-card dt { font-size: .75rem; color: var(--sm-muted); }
.sm-profile-card dd { font-size: .875rem; overflow-wrap: anywhere; }
.sm-profile-form { display: grid; gap: 18px; min-width: 0; }
@media (max-width: 1023px) { .sm-profile { grid-template-columns: minmax(0, 1fr); } .sm-profile-card { position: static; } }

/* Estúdio da marca */
.sm-studio { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) 21rem; align-items: start; }
.sm-studio-form { display: grid; gap: 18px; min-width: 0; }
.sm-studio-side { position: sticky; top: 88px; display: grid; gap: 10px; justify-items: center; }
.sm-phone { display: grid; gap: 10px; width: 19.5rem; padding: 16px 12px 12px; border: 7px solid #111; border-radius: 40px; background: var(--p-ground); color: var(--p-text); transition: background-color .2s; }
.sm-phone b { font-weight: 600; }
.sm-phone small { display: block; color: var(--p-muted); font-size: .75rem; }
.sm-phone-top { display: flex; align-items: center; gap: 8px; padding-inline: 4px; }
.sm-phone-top img { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; }
.sm-phone-top b { display: block; font-family: var(--sm-display); font-size: 1.125rem; line-height: 1.15; }
.sm-phone-pills { display: flex; gap: 6px; font-size: .8125rem; }
.sm-phone-pills i, .sm-phone-dock i { padding: 5px 12px; border-radius: 999px; background: var(--p-brand); color: var(--p-on-brand); font-style: normal; font-weight: 600; }
.sm-phone-pills em { padding: 5px 12px; border-radius: 999px; background: var(--p-surface); font-style: normal; }
.sm-phone-dish { position: relative; border-radius: 22px; background: var(--p-surface); overflow: hidden; }
.sm-phone-dish > img, .sm-phone-noimg { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--p-surface-2); }
.sm-phone-caption { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; }
.sm-phone-caption button { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--p-brand); color: var(--p-on-brand); font-size: 1.25rem; line-height: 1; pointer-events: none; }
.sm-phone-dock { display: flex; align-items: center; justify-content: space-around; padding: 6px; border-radius: 999px; background: var(--p-dock); color: var(--p-on-dock); font-size: .8125rem; }
.sm-phone-dock em { font-style: normal; }
@media (max-width: 1023px) { .sm-studio { grid-template-columns: minmax(0, 1fr); } .sm-studio-side { position: static; } }

/* Escolha de tema: dá para ver qual está selecionado */
.fi-main .fi-fo-toggle-buttons-btn-ctn .fi-btn.fi-color-primary:not(.fi-outlined) { background: var(--sm-card); color: var(--sm-ink); box-shadow: inset 0 0 0 1px var(--sm-line); }
.fi-main .fi-fo-toggle-buttons-btn-ctn .fi-btn.fi-color-primary:not(.fi-outlined):hover { background: var(--sm-soft); }
.fi-main .fi-fo-toggle-buttons-btn-ctn .fi-btn svg { color: var(--sm-muted); }
.fi-main .fi-fo-toggle-buttons-btn-ctn .fi-btn.fi-color-primary:not(.fi-outlined)[aria-pressed='true'] { background: var(--sm-ink); color: var(--sm-card); box-shadow: none; }
.fi-main .fi-fo-toggle-buttons-btn-ctn .fi-btn[aria-pressed='true'] svg { color: var(--sm-card); }

/* Chamados, planos e entregas */
.sm-thread { display: grid; gap: 10px; margin-bottom: 14px; }
.sm-thread li { padding: 12px 14px; border-radius: 12px; background: var(--sm-soft); }
.sm-thread li.is-platform { background: color-mix(in oklab, var(--sm-ink) 8%, var(--sm-card)); }
.sm-thread header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 4px; font-size: .8125rem; }
.sm-thread b { font-weight: 600; }
.sm-thread time { color: var(--sm-muted); }
.sm-thread p { white-space: pre-wrap; overflow-wrap: anywhere; }
.sm-deliveries li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.sm-plans li { display: grid; grid-template-columns: minmax(0, 1fr) auto 8.5rem; align-items: center; gap: 16px; min-height: 64px; border-top: 1px solid var(--sm-line); }
.sm-plans span { display: grid; line-height: 1.3; min-width: 0; }
.sm-plans b { font-weight: 600; }
.sm-plans small { font-size: .8125rem; color: var(--sm-muted); }
.sm-plans strong { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sm-plans em { font-size: .8125rem; font-style: normal; font-weight: 500; text-align: right; }
.sm-kpi-value small { font-size: .875rem; color: var(--sm-muted); font-weight: 400; }
@media (max-width: 640px) { .sm-plans li { grid-template-columns: minmax(0, 1fr) auto; padding-block: 10px; } .sm-plans li > :last-child { grid-column: 1 / -1; justify-self: start; } }

/* Conta da mesa */
.sm-tab-orders li { grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: start; }
.sm-tab-total { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--sm-line); font-size: 1rem; }
.sm-tab-total b { font-weight: 600; font-variant-numeric: tabular-nums; }

/* Desempenho */
.sm-filters { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sm-note { color: var(--sm-muted); font-size: .8125rem; }
.sm-funnel-wide ol { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sm-table-wrap { overflow-x: auto; }
.sm-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.sm-table th, .sm-table td { padding: 10px 12px; border-bottom: 1px solid var(--sm-line); text-align: right; white-space: nowrap; }
.sm-table th[scope='row'], .sm-table thead th:first-child { text-align: left; font-weight: 500; white-space: normal; }
.sm-table thead th { color: var(--sm-muted); font-weight: 500; }
.sm-times { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sm-times dt { color: var(--sm-muted); font-size: .875rem; }
.sm-times dd { margin: 2px 0 0; font-size: 1.375rem; }
.sm-times small { display: block; color: var(--sm-muted); font-size: .8125rem; }
@media (max-width: 1023px) { .sm-funnel-wide ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 639px) { .sm-funnel-wide ol, .sm-times { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Financeiro: do recebido ao lucro */
.sm-ledger { display: grid; max-width: 560px; margin: 0; }
.sm-ledger > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--sm-line, rgb(0 0 0 / .08)); }
.sm-ledger dt { color: var(--sm-muted); }
.sm-ledger dd { margin: 0; font-variant-numeric: tabular-nums; }
.sm-ledger-sum dt, .sm-ledger-sum dd { color: inherit; font-weight: 700; }
.sm-ledger-aside { border-bottom: 0 !important; opacity: .75; }
