/* =====================================================================
 * Sóbrancelhas: identidade (preto, branco e o vermelho do logo) e telas da rede.
 * Vermelho de texto/botão #c8102e (contraste AA com branco); #e41d37 só em destaques grandes.
 * Carregado depois do app.css em todas as páginas.
 * ===================================================================== */
:root {
	--bm-choco: #111111;
	--bm-cocoa: #2a2a2a;
	--bm-caramel: #c8102e;
	--bm-gold: #e41d37;
	--bm-sand: #e9e4e2;
	--bm-cream: #f6f4f3;
	--bm-ivory: #ffffff;
}
.sob h1, .sob h2, .sob h3, .sob .stat strong, .sob .ckpi strong { font-family: var(--head); letter-spacing: -.01em; font-variant-numeric: lining-nums; }
.sob h1 em, .sob h2 em { font-style: italic; font-weight: 800; color: var(--bm-caramel); }

/* ---------- Painel ---------- */
:root:not([data-theme="dark"]) .sob-panel { background: var(--bm-cream); }
.side { background: linear-gradient(180deg, #c8102e 0%, #a90d27 55%, #7f0a1e 100%) !important; }
.side-brand { justify-content: center; }
.side-brand img { height: auto; width: 170px; max-height: none; }
:root:not([data-theme="dark"]) .btn--primary { background: var(--bm-choco); border-color: var(--bm-choco); color: #fff; }
:root:not([data-theme="dark"]) .btn--primary:hover { background: var(--bm-cocoa); border-color: var(--bm-cocoa); }
:root:not([data-theme="dark"]) .stat--dark { background: linear-gradient(135deg, #111111, #5c0a17); border-color: transparent; }
.dash-hello { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 28px; border-radius: 22px; background: linear-gradient(120deg, #ffffff 0%, #fbeef0 100%); border: 1px solid #ece6e4; margin-bottom: 20px; overflow: hidden; }
.dash-hello h1 { font-size: clamp(30px, 3.4vw, 42px); margin: 4px 0 6px; color: var(--bm-choco); }
.dash-hello .eyebrow { color: var(--bm-caramel); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.dash-silhueta { height: 120px; width: auto; opacity: .9; margin: -10px -6px -26px 0; }
[data-theme="dark"] .dash-hello { background: linear-gradient(120deg, #1a0a0c, #2a0e13); border-color: #3a1418; }
[data-theme="dark"] .dash-hello h1 { color: #f5e9da; }
.stats--4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.day-list, .alert-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.day-item { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.day-item time { font-weight: 700; font-size: 16px; color: var(--bm-caramel); }
.day-item a { text-decoration: none; display: flex; flex-direction: column; min-width: 0; }
.day-item small { color: var(--muted); }
.day-item--atendido time { color: var(--muted); }
.alert-list li a { display: block; padding: 10px 12px; border-radius: 12px; text-decoration: none; background: rgba(200, 16, 46, .06); margin-bottom: 6px; }
.alert-list li.is-warn a { background: var(--warn-soft); }
.sec-title { font-size: 20px; margin: 26px 0 12px; }

/* Cartões de sessão, pacote, equipamento */
.svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-bottom: 18px; }
.svc-card { display: flex; flex-direction: column; gap: 8px; }
.svc-card h3 { font-size: 22px; margin: 2px 0 0; }
.svc-card.is-off { opacity: .6; }
.svc-top { display: flex; flex-wrap: wrap; gap: 6px; }
.svc-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; font-size: 13px; color: var(--muted); margin-top: auto; }
.svc-meta strong { font-size: 22px; color: var(--ink); }
.pill--warn { background: var(--warn-soft); color: #8a5a00; }
.pill--late { background: var(--late-soft); color: #b42318; }
.pill--type-vip { background: #111111; color: #fde2e6; }
.pill--type-pacote { background: #fde2e6; color: #7a0d1f; }
.pill--type-evento { background: #fbe7ee; color: #9d2b55; }
.pill--type-parceira { background: #efe8fb; color: #5b3aa0; }
.pill--type-nova { background: #e9f6ee; color: #1f7a45; }
.eq-bar { height: 8px; border-radius: 99px; background: rgba(200, 16, 46, .14); overflow: hidden; }
.eq-bar i { display: block; height: 100%; background: linear-gradient(90deg, #b49c6c, #8a5a2b); }
.eq-card--warn .eq-bar i { background: #d98e04; }
.eq-card--late .eq-bar i { background: #dc2626; }
.eq-card--late { border-color: rgba(220, 38, 38, .35); }

/* Ficha da cliente */
.cl-hero { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: 6px 0 18px; }
.cl-hero h2 { font-size: 32px; margin: 0 0 4px; }
.avatar--lg { width: 64px; height: 64px; font-size: 22px; border-radius: 20px; background: linear-gradient(135deg, #f6c2ca, #8a5a2b); color: #fff; }
.cl-hero-stats { display: flex; gap: 18px; margin-left: auto; }
.cl-hero-stats div { display: flex; flex-direction: column; padding: 10px 16px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); min-width: 110px; }
.cl-hero-stats small { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.cl-hero-stats strong { font-size: 22px; font-family: var(--head); }
.cl-alert { display: grid; gap: 4px; margin-bottom: 16px; }
.pack-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.pack { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 14px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; }
.pack div:first-child { display: flex; flex-direction: column; min-width: 0; }
.pack small { color: var(--muted); }
.pack--usado, .pack--cancelado { opacity: .55; }
.pack-dots { display: flex; gap: 5px; flex-wrap: wrap; max-width: 160px; }
.pack-dots i { width: 12px; height: 12px; border-radius: 50%; background: var(--bm-gold); }
.pack-dots i.is-used { background: transparent; border: 2px solid var(--line-2); }
.pack-left { font-weight: 700; white-space: nowrap; }
.ba-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-bottom: 14px; }
.ba-item { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.ba-item img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 14px; background: var(--bm-sand); }
.ba-item figcaption { font-size: 13px; display: flex; gap: 6px; align-items: center; }
.skin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.skin-q { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin: 0; display: grid; gap: 8px; }
.skin-q legend { font-size: 13px; font-weight: 600; padding: 0 4px; }
.skin-yn { display: flex; gap: 8px; }
.skin-yn .pick span { padding: 6px 14px; border-radius: 99px; border: 1px solid var(--line-2); display: inline-block; font-size: 13px; }
.skin-yn .pick input { position: absolute; opacity: 0; }
.skin-yn .pick input:checked + span { background: var(--bm-choco); border-color: var(--bm-choco); color: #fff; }
.skin-yn .pick input:focus-visible + span { outline: 2px solid var(--bm-caramel); outline-offset: 2px; }
.skin-q input[type="text"] { width: 100%; }
.termo, .termo-box { margin: 8px 0; padding: 14px 16px; border-radius: 14px; background: rgba(200, 16, 46, .06); font-size: 14px; line-height: 1.6; }
.termo summary { cursor: pointer; font-weight: 600; }
.msg-btns { display: flex; flex-direction: column; gap: 8px; }
.msg-btns .btn { justify-content: flex-start; }

/* Avisos */
.avisos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.aviso { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.aviso-main { display: flex; flex-direction: column; min-width: 0; text-decoration: none; }
.aviso-main small { color: var(--muted); }
.aviso-extra { margin: -4px 0 8px 48px; }

/* Vendas */
.pdv-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.pdv-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.pdv-item span { display: flex; flex-direction: column; min-width: 0; }
.pdv-item small { color: var(--muted); }
.pdv-item input { width: 64px; text-align: center; }
.pdv-item.is-on { border-color: var(--bm-caramel); background: rgba(200, 16, 46, .06); }
.pdv-item.is-out { opacity: .5; }
.pdv-total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--line); font-size: 18px; }
.pdv-total strong { font-size: 28px; font-family: var(--head); }
.stats--1 { display: grid; grid-template-columns: 1fr; margin-bottom: 16px; }

/* ---------- Login, código e convite: foto das clientes da Bendita ---------- */
.sob-auth { background: #111111; }
.sob-auth .auth { position: relative; isolation: isolate; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); background: #111111; }
.sob-auth .auth-side { position: relative; overflow: hidden; color: #fff; padding: 40px 52px; justify-content: flex-start; gap: 26px; background: #111111 url('brand/login.jpg') center bottom / auto 86% no-repeat; }
.sob-auth .auth-side::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #111111 0%, #111111 14%, rgba(17, 17, 17, 0) 36%, rgba(17, 17, 17, 0) 64%, #111111 86%, #111111 100%), linear-gradient(180deg, #111111 0%, rgba(17, 17, 17, .2) 45%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, .6) 100%); }
.sob-auth .auth-side::after { display: none; }
.sob-auth .auth-side > * { position: relative; z-index: 1; }
.sob-auth .auth-logo { height: 92px; width: auto; align-self: flex-start; filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .25)); }
.sob-auth .auth-side-text { max-width: 520px; }
.sob-auth .auth-copy { margin-top: auto; }
.sob-auth .auth-side-text .eyebrow { color: #ffd0d7; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; }
.sob-auth .auth-side-text h2 { font-family: var(--head); font-weight: 600; font-size: clamp(40px, 4.4vw, 62px); line-height: 1; text-transform: none; color: #fff; margin-top: 10px; }
.sob-auth .auth-side-text h2 strong { font-style: italic; font-weight: 600; color: #ffd0d7; }
.sob-auth .auth-points { display: none; }
.sob-auth .auth-points li span { background: #f6c2ca; }
.sob-auth .auth-copy { color: rgba(255, 255, 255, .78); }
.sob-auth .auth-main { background: var(--bm-cream); }
.sob-auth .auth-form { background: #fff; padding: 36px 34px; border-radius: 24px; border: 1px solid #ece6e4; }
.sob-auth .auth-form h1 { font-family: var(--head); font-size: 40px; color: var(--bm-choco); }
.sob-auth .auth-form .muted, .sob-auth .auth-row a { color: #5b5452; }
.sob-auth .btn--primary { background: var(--bm-choco); border-color: var(--bm-choco); color: #fff; }
.auth-sim a { color: var(--bm-caramel); }
@media (max-width: 900px) {
	.sob-auth .auth { grid-template-columns: minmax(0, 1fr); }
	.sob-auth .auth-side { min-height: 66vh; padding: 22px 20px 26px; background-size: cover; background-position: center 70%; }
	.sob-auth .auth-side::before { background: linear-gradient(180deg, rgba(17, 17, 17, .75) 0%, rgba(17, 17, 17, .1) 42%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, .9) 100%); }
	.sob-auth .auth-logo { height: 64px; }
	.sob-auth .auth-side-text h2 { font-size: 38px; }
	.sob-auth .auth-points, .sob-auth .auth-copy { display: none; }
	.sob-auth .auth-main { padding: 0 16px 36px; margin-top: -26px; background: transparent; position: relative; z-index: 2; }
	.sob-auth .auth-form { padding: 26px 20px; border-radius: 20px; }
}

/* ---------- Área da cliente (creme e chocolate) ---------- */
body.sob-client { background: var(--bm-cream); color: #161616; }
.sob-client .ctop { background: var(--bm-choco); color: #fff; position: sticky; top: 0; z-index: 20; }
.sob-client .ctop-inner { max-width: 1040px; margin: 0 auto; padding: 12px 24px 8px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sob-client .ctop-brand img { height: 52px; width: auto; }
.ctop-me { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ctop-av { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: none; font-weight: 700; font-size: 14px; color: var(--bm-choco); background: linear-gradient(135deg, #fde2e6, #e41d37); }
.ctop-who { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.ctop-who b { font-size: 14px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
.ctop-who small { font-size: 12px; color: #e7dfde; }
.sob-client .ctop-out { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 10px; font-size: 13px; color: #fde2e6; text-decoration: none; border: 1px solid rgba(255, 255, 255, .22); }
.sob-client .ctop-nav { max-width: 1040px; margin: 0 auto; padding: 0 20px 12px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.sob-client .ctop-nav::-webkit-scrollbar { display: none; }
.sob-client .ctop-nav a { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 11px; font-size: 14px; font-weight: 500; color: #eeeeee; text-decoration: none; }
.sob-client .ctop-nav a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.sob-client .ctop-nav a.is-active { background: #f7f1ea; color: var(--bm-choco); font-weight: 700; }
.sob-client .ctop-nav a.ctop-cta { margin-left: auto; background: #f6c2ca; color: var(--bm-choco); font-weight: 700; }
.sob-client .cmain { max-width: 1040px; margin: 0 auto; padding: 32px 24px 110px; display: flex; flex-direction: column; gap: 20px; }
.sob-client .chello { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.sob-client .chello h1 { font-size: clamp(34px, 4.6vw, 52px); margin: 4px 0 6px; color: var(--bm-choco); }
.sob-client .chello .eyebrow { color: var(--bm-caramel); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }
.sob-client .card { background: #fff; border: 1px solid #ece6e4; border-radius: 20px; }
.sob-client .muted, .sob-client small { color: #5b5452; }
.sob-client .btn--primary { background: var(--bm-choco); border-color: var(--bm-choco); color: #fff; }
.sob-client .btn--ghost { border-color: #d9cfcd; color: var(--bm-choco); }
.ckpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ckpi { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: 18px; background: #fff; border: 1px solid #ece6e4; }
.ckpi small { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ckpi strong { font-size: 34px; line-height: 1; color: var(--bm-choco); }
.next-card { display: grid; gap: 10px; }
.next-top { display: flex; gap: 16px; align-items: center; }
.next-top h3 { margin: 0; font-size: 24px; }
.next-date { width: 64px; height: 64px; border-radius: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--bm-choco); color: #fff; flex: none; }
.next-date b { font-size: 24px; line-height: 1; font-family: var(--head); }
.next-date span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #f6c2ca; }
.pre-text { line-height: 1.7; margin: 0; }
.review-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: linear-gradient(120deg, #ffffff, #fbeef0) !important; }
.flash--gift { background: #fdecef; border: 1px solid #f2c4cb; color: #5c0a17; }
.sob-client .flash--warn { color: #6b4500; }
.cfoot { padding-bottom: 110px; }

/* ---------- Páginas públicas (agendar e sessão) ---------- */
body.sob-pub { background: var(--bm-cream); color: #161616; }
.pub-top { background: var(--bm-choco); padding: 16px 24px; display: flex; justify-content: center; }
.pub-top img { height: 64px; width: auto; }
.pub { max-width: 820px; margin: 0 auto; padding: 34px 20px 60px; display: flex; flex-direction: column; gap: 18px; }
.pub--narrow { max-width: 640px; }
.pub-hero { text-align: center; }
.pub-hero h1 { font-size: clamp(38px, 6vw, 58px); margin: 6px 0 8px; color: var(--bm-choco); }
.pub-hero p { max-width: 560px; margin: 0 auto; color: #5b5452; }
.sob-pub .eyebrow { color: var(--bm-caramel); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; }
.sob-pub .card { background: #fff; border: 1px solid #ece6e4; border-radius: 22px; padding: 22px; }
.sob-pub .btn--primary { background: var(--bm-choco); border-color: var(--bm-choco); color: #fff; }
.sob-pub .form-sec { font-family: var(--head); font-size: 20px; color: var(--bm-choco); margin: 6px 0 0; }
.svc-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.svc-opt { position: relative; cursor: pointer; }
.svc-opt input { position: absolute; opacity: 0; }
.svc-opt span { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px; border: 1.5px solid #e5dcda; border-radius: 16px; background: #ffffff; }
.svc-opt small { color: #5b5452; font-size: 12.5px; line-height: 1.45; }
.svc-opt b { margin-top: auto; color: var(--bm-caramel); font-size: 14px; }
.svc-opt input:checked + span { border-color: var(--bm-choco); background: #fff; box-shadow: 0 0 0 3px rgba(200, 16, 46, .16); }
.svc-opt input:focus-visible + span { outline: 2px solid var(--bm-caramel); outline-offset: 2px; }
.ag-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 12px 16px; border-radius: 14px; background: #fbf3f4; }
.ag-price:empty { display: none; }
.ag-price strong { font-size: 26px; font-family: var(--head); color: var(--bm-choco); }
.ag-price small { width: 100%; }
.ag-price small.ok { color: #1f7a45; font-weight: 600; }
.ag-price small.warn { color: #9a5b00; }
.ag-done h1, .ag-done h2 { font-size: clamp(30px, 5vw, 44px); margin: 6px 0; color: var(--bm-choco); }
.pub-foot { text-align: center; margin-top: 18px; }
.sob-pub .chip.is-on, .sob-pub .chip:hover { background: var(--bm-choco); }

/* ---------- Celular ---------- */
@media (max-width: 900px) {
	.stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.skin-grid { grid-template-columns: minmax(0, 1fr); }
	.cl-hero-stats { margin-left: 0; width: 100%; }
}
@media (max-width: 640px) {
	.dash-hello { padding: 20px; }
	.dash-silhueta { height: 84px; }
	.cl-hero-stats { gap: 8px; }
	.cl-hero-stats div { min-width: 0; flex: 1; padding: 8px 10px; }
	.pack { grid-template-columns: minmax(0, 1fr) auto; }
	.pack-dots { grid-column: 1 / -1; max-width: none; }
	.avisos-grid { grid-template-columns: minmax(0, 1fr); }
	.sob-client .ctop-inner { padding: 10px 16px 8px; }
	.sob-client .ctop-brand img { height: 40px; }
	.ctop-who { display: none; }
	.sob-client .ctop-out span { display: none; }
	.sob-client .ctop-nav { padding: 0 12px 10px; }
	.sob-client .ctop-nav a { padding: 8px 12px; font-size: 13px; }
	.sob-client .cmain { padding: 22px 16px 110px; gap: 16px; }
	.sob-client .chello .btn { width: 100%; justify-content: center; }
	.ckpis { gap: 8px; }
	.ckpi { padding: 12px; }
	.ckpi strong { font-size: 26px; }
	.pub-top img { height: 48px; }
	.pub { padding: 24px 16px 50px; }
	.sob-pub .card { padding: 18px 16px; }
}

/* ---------- Contraste (AA) ---------- */
:root:not([data-theme="dark"]) { --muted: #5f5856; }
.side .side-label, .side .side-user-name small { color: #c9c2c0; }
.eleve-credit--dark span { color: #d0cac8; }
.eleve-credit--light span { color: #5f5856; }
.eleve-credit { opacity: 1; }
.sob-client .ctop-who small { color: #e7dfde; }
.ag-day.is-on span, .ag-day.is-on small { color: #fff !important; }
.btn--wa { background: #117a25; border-color: #117a25; }
.avatar--lg { color: #111111; }
:root:not([data-theme="dark"]) .btn--danger { color: #a3171c; border-color: #e7b7b2; }

/* Login: foto real de uma loja Sóbrancelhas em tela cheia, logo central */
html body.sob-login { min-height: 100vh; background: #111 url('brand/login.jpg') center 40% / cover no-repeat fixed; }
.sob-login::before { content: ''; position: fixed; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(10, 10, 10, .78) 0%, rgba(10, 10, 10, .5) 42%, rgba(10, 10, 10, .86) 100%); }
.login-wrap { position: relative; z-index: 1; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 40px 16px 28px; }
.login-logo { width: min(320px, 76vw); height: auto; }
.login-kicker { margin: 0 0 8px; color: #fff; font-size: clamp(15px, 1.6vw, 18px); font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.sob-login .login-card { width: min(440px, 100%); background: rgba(255, 255, 255, .97); border: 1px solid #ece6e4; border-radius: 22px; padding: 32px 30px; }
.sob-login .login-card h1 { font-size: 32px; }
.login-quick { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid #ece6e4; text-align: center; }
.login-quick > span { font-size: 13px; color: #5b5452; }
.login-quick-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.login-quick-btns .btn { justify-content: center; background: #f6f4f3; border: 1px solid #ddd3d1; color: #111; font-weight: 600; white-space: normal; text-align: center; font-size: 13px; padding: 9px 8px; }
.login-quick-btns .btn:hover { background: #fde2e6; border-color: #f2c4cb; }
.login-copy { margin-top: 10px; font-size: 12px; color: rgba(255, 255, 255, .85); text-align: center; }
@media (max-width: 560px) {
	html body.sob-login { background-attachment: scroll; background-position: 50% 30%; }
	.login-wrap { justify-content: flex-start; padding-top: 32px; }
	.login-logo { width: min(240px, 70vw); }
	.sob-login .login-card { padding: 24px 18px; border-radius: 20px; }
}

/* =====================================================================
 * Rede de franquias (1.0.0): painéis, gráficos, expansão, suporte, marketing, pedidos, fidelidade
 * ===================================================================== */
:root { --ch-1: #c8102e; --ch-2: #2a78d6; --ch-3: #1baf7a; --ch-4: #eda100; --ch-5: #6250d6; --ch-6: #e87ba4; --ch-track: #eee9e8; --ch-grid: #ece6e4; }
[data-theme="dark"] { --ch-1: #e5485e; --ch-2: #3987e5; --ch-3: #199e70; --ch-4: #c98500; --ch-5: #9085e9; --ch-6: #d55181; --ch-track: #2a2a2a; --ch-grid: #2a2a2a; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dash-cols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; margin-bottom: 18px; align-items: start; }
.dash-cols--chat { grid-template-columns: minmax(0, 1fr) 320px; }
.dash-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; align-items: start; }
.dash-grid .dash-wide { grid-column: span 2; }
.back-link { display: inline-block; margin: 0 0 12px; font-size: 14px; color: var(--muted); text-decoration: none; }
.back-link:hover { color: var(--ink); }
.filter-row { display: flex; gap: 8px; margin: 0 0 16px; flex-wrap: wrap; }
.filter-row input[type="search"], .filter-row select { flex: 1; min-width: 200px; }
.stat.is-active { outline: 2px solid var(--bm-caramel); }
.stat .progress { margin: 6px 0 2px; }
.delta { display: inline-block; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--muted); }
.delta--up { color: #1f7a45; }
.delta--down { color: #b42318; }
.stat--dark .delta { color: #fff; opacity: .9; }
.stat--dark .delta--up { color: #9ff0bf; }
.stat--dark .delta--down { color: #ffb4b4; }
.avatar--red { background: #fde2e6; color: #8f0b21; font-weight: 700; font-size: 12px; }
.prod-thumb { width: 42px; height: 42px; object-fit: cover; border-radius: 10px; background: #fff; border: 1px solid var(--line); flex: none; }
.pill--ok { background: var(--ok-soft, #e9f6ee); color: #1f7a45; }

/* Seletor de unidade no topo (franqueadora) */
.unit-switch select { min-height: 38px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--card); color: var(--ink); padding: 0 30px 0 10px; max-width: 230px; font-weight: 600; }

/* Gráficos */
.ch-cols { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; height: 220px; align-items: end; padding-top: 22px; }
.ch-col { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; position: relative; outline: none; }
.ch-col-v { position: absolute; top: -20px; font-size: 12px; font-weight: 700; white-space: nowrap; color: var(--ink); }
.ch-col-bar { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; }
.ch-col-bar i { display: block; width: min(70%, 34px); min-height: 0; background: var(--ch-track); border-radius: 4px 4px 0 0; transition: height .6s var(--ease, ease); }
.ch-col.is-cur .ch-col-bar i, .ch-col:hover .ch-col-bar i, .ch-col:focus .ch-col-bar i { background: var(--ch-1); }
.ch-col:not(.is-cur) .ch-col-bar i { background: color-mix(in srgb, var(--ch-1) 38%, var(--ch-track)); }
.ch-col small { font-size: 11px; color: var(--muted); text-transform: lowercase; }
.ch-line-wrap { position: relative; height: 200px; }
.ch-line { width: 100%; height: 100%; display: block; overflow: visible; }
.ch-grid { stroke: var(--ch-grid); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ch-area { fill: color-mix(in srgb, var(--ch-1) 12%, transparent); }
.ch-stroke { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
.ch-stroke.ch-s1 { stroke: var(--ch-1); }
.ch-stroke.ch-s2 { stroke: var(--ch-2); }
.ch-dots { position: absolute; inset: 0; }
.ch-hit { position: absolute; top: 0; bottom: 0; width: 28px; transform: translateX(-50%); outline: none; }
.ch-dot { position: absolute; left: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: var(--card); border: 2px solid var(--ch-1); opacity: 0; transition: opacity .15s; }
.ch-dot.ch-s2 { border-color: var(--ch-2); }
.ch-hit:hover .ch-dot, .ch-hit:focus .ch-dot, .ch-hit:last-child .ch-dot { opacity: 1; }
.ch-xlabels { display: flex; justify-content: space-between; margin-top: 6px; }
.ch-xlabels small { font-size: 11px; color: var(--muted); }
.ch-legend { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; font-size: 13px; }
.ch-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ch-key { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: var(--ch-1); flex: none; }
.ch-key.ch-s2 { background: var(--ch-2); }
.ch-hbars { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.ch-hbars li { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(60px, 1fr) auto; gap: 10px; align-items: center; outline: none; }
.ch-hb-name { display: flex; gap: 8px; align-items: center; min-width: 0; font-size: 13px; }
.ch-hb-name b { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; font-size: 11px; background: var(--ch-track); flex: none; }
.ch-hb-name a, .ch-hb-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch-hbars li:first-child .ch-hb-name b { background: var(--ch-1); color: #fff; }
.ch-hb-track { height: 10px; border-radius: 0 4px 4px 0; background: var(--ch-track); overflow: hidden; }
.ch-hb-track i { display: block; height: 100%; background: var(--ch-1); border-radius: 0 4px 4px 0; }
.ch-hbars li:hover .ch-hb-track i, .ch-hbars li:focus .ch-hb-track i { filter: brightness(.88); }
.ch-hb-v { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ch-donut-wrap { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; align-items: center; }
.ch-donut-box { position: relative; }
.ch-donut { width: 150px; height: 150px; transform: rotate(-90deg); display: block; }
.ch-donut circle { fill: none; stroke-width: 6; }
.ch-donut-bg { stroke: var(--ch-track); }
.ch-slice { cursor: pointer; transition: stroke-width .15s; outline: none; }
.ch-slice:hover, .ch-slice:focus { stroke-width: 7.5; }
.ch-c1 { stroke: var(--ch-1); background: var(--ch-1); } .ch-c2 { stroke: var(--ch-2); background: var(--ch-2); } .ch-c3 { stroke: var(--ch-3); background: var(--ch-3); }
.ch-c4 { stroke: var(--ch-4); background: var(--ch-4); } .ch-c5 { stroke: var(--ch-5); background: var(--ch-5); } .ch-c6 { stroke: var(--ch-6); background: var(--ch-6); }
.ch-donut-mid { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; pointer-events: none; }
.ch-donut-mid b { font-size: 24px; line-height: 1; }
.ch-donut-mid small { font-size: 11px; color: var(--muted); }
.ch-dleg { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13px; }
.ch-dleg li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 38px; gap: 8px; align-items: center; }
.ch-dleg span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch-dleg small { color: var(--muted); text-align: right; }
.ch-funnel { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ch-funnel li { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 10px; align-items: center; outline: none; }
.ch-fn-bar { display: flex; align-items: center; justify-content: flex-end; height: 26px; padding: 0 8px; border-radius: 4px; background: color-mix(in srgb, var(--ch-1) 75%, transparent); color: #fff; font-size: 12px; justify-self: end; min-width: 28px; }
.ch-fn-name { font-size: 13px; }
.ch-tip { position: fixed; z-index: 9999; pointer-events: none; background: #111; color: #fff; font-size: 12.5px; font-weight: 600; padding: 7px 10px; border-radius: 8px; max-width: 260px; transform: translate(-50%, calc(-100% - 10px)); box-shadow: 0 4px 0 rgba(0, 0, 0, .12); }
[data-theme="dark"] .ch-tip { background: #f2f2ef; color: #111; }
html[data-hide-money] .sob-panel .ch-cols, html[data-hide-money] .sob-panel .ch-hbars, html[data-hide-money] .sob-panel .money { filter: blur(6px); }

/* Avisos de rede no painel */
.notice-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 18px; border-radius: 16px; border: 1px solid var(--line); background: var(--card); margin-bottom: 14px; }
.notice-banner.is-important { border-color: #f2c4cb; background: #fdecef; }
.notice-banner strong { display: block; font-size: 16px; }
.notice-banner p { margin: 2px 0 0; }
.impl-card { display: grid; gap: 8px; margin-bottom: 18px; text-decoration: none; }
.impl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.impl-list a { display: flex; flex-direction: column; text-decoration: none; margin-bottom: 4px; }
.impl-list small { color: var(--muted); }
.unit-head { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.unit-head h2 { margin: 4px 0; font-size: 28px; }
.check-list { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 4px; }
.check-btn { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 8px 6px; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; border-radius: 10px; }
.check-btn:hover { background: var(--bg); }
.check-list.is-readonly .check-btn { cursor: default; }
.check-btn i { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--line-2); display: grid; place-items: center; font-style: normal; font-size: 13px; font-weight: 800; }
.check-list li.is-done .check-btn i { background: var(--bm-caramel); border-color: var(--bm-caramel); color: #fff; }
.check-list li.is-done .check-btn span { color: var(--muted); }
.check-btn small { color: var(--muted); font-size: 12px; }

/* Expansão */
.kanban--cands { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 12px; margin-bottom: 18px; }
.kanban--cands .kanban-col { background: var(--bg); border: 1px solid var(--line); border-radius: 16px; padding: 10px; display: flex; flex-direction: column; gap: 8px; min-height: 120px; }
.kanban--cands .kanban-col header { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 6px; font-size: 13px; }
.kanban--cands .kanban-col header em { font-style: normal; font-weight: 700; background: var(--card); border: 1px solid var(--line); border-radius: 99px; padding: 0 8px; }
.kanban-col--inaugurada header strong { color: #1f7a45; }
.kanban-col--perdido { opacity: .75; }
.cand-card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; display: grid; gap: 6px; }
.cand-card.is-late { border-left: 3px solid var(--bm-caramel); }
.cand-card a { text-decoration: none; display: flex; flex-direction: column; }
.cand-card small, .cand-card p { color: var(--muted); margin: 0; }
.cand-foot { display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.cand-foot select { font-size: 12px; max-width: 140px; min-height: 30px; padding: 0 6px; }
.kv { display: grid; grid-template-columns: minmax(120px, auto) minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 14px; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; overflow-wrap: anywhere; }
.kv--2 { grid-template-columns: repeat(2, minmax(120px, auto) minmax(0, 1fr)); margin-top: 14px; }
.kv .kv-sec { grid-column: 1 / -1; font-weight: 700; color: var(--ink); margin-top: 8px; border-top: 1px solid var(--line); padding-top: 8px; }
.kv dd.kv-sec { display: none; }
.file-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.file-list li { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; }
.file-list a { display: inline-flex; gap: 8px; align-items: center; text-decoration: none; min-width: 0; }
details.contract { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin-top: 10px; }
details.contract summary { cursor: pointer; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.contract-body { font-size: 14.5px; line-height: 1.65; }
.contract-body h4 { font-size: 15px; margin: 18px 0 6px; }
.contract-body p { margin: 0 0 8px; }
.sign-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 14px 0; }
.sig-img { display: block; max-width: 260px; width: 100%; height: auto; background: #fff; border-bottom: 1px solid #999; margin: 6px 0; }
.sig-pad { position: relative; margin: 6px 0 4px; border: 1.5px dashed #c9c2c0; border-radius: 14px; background: #fff; overflow: hidden; }
.sig-pad canvas { display: block; width: 100%; height: 170px; touch-action: none; cursor: crosshair; }
.sig-pad-t { position: absolute; left: 14px; top: 10px; font-size: 12px; color: #6b6563; pointer-events: none; }
.sig-clear { position: absolute; right: 10px; top: 8px; border: 1px solid #ddd3d1; background: #fff; border-radius: 8px; font-size: 12px; padding: 4px 10px; cursor: pointer; }
.timeline { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; max-height: 420px; overflow-y: auto; }
.timeline li { border-left: 2px solid var(--line-2); padding-left: 12px; }
.timeline p { margin: 2px 0 0; font-size: 14px; }
.flow { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.flow form { display: contents; }
.flow-step { border: 1px solid var(--line-2); background: var(--card); border-radius: 99px; padding: 6px 12px; font-size: 13px; cursor: pointer; color: var(--ink); }
.flow-step.is-current { background: var(--bm-caramel); border-color: var(--bm-caramel); color: #fff; font-weight: 700; }
.flow-step.is-done { border-color: var(--bm-caramel); color: var(--bm-caramel); }
span.flow-step { cursor: default; }

/* Suporte */
.chat { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.chat-msg { max-width: 85%; padding: 10px 14px; border-radius: 14px 14px 14px 4px; background: var(--bg); border: 1px solid var(--line); }
.chat-msg.is-hq { margin-left: auto; border-radius: 14px 14px 4px 14px; background: #fdecef; border-color: #f2c4cb; }
.chat-msg.is-internal { background: #fff8e1; border-style: dashed; border-color: #e5c66b; }
[data-theme="dark"] .chat-msg.is-hq { background: #2a0e13; border-color: #5c0a17; }
[data-theme="dark"] .chat-msg.is-internal { background: #2a2410; }
.chat-msg p { margin: 4px 0 0; }
.chat-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.chat-tools label.small { margin-right: auto; }
.rate-form { display: flex; align-items: center; gap: 4px; margin-top: 10px; }
.rate-form .star { border: 0; background: none; font-size: 26px; color: #d0cac8; cursor: pointer; padding: 0 2px; }
.rate-form .star:hover, .rate-form .star:hover ~ .star { color: #eda100; }
.rate-form:hover .star { color: #eda100; }
.rate-form .star:hover ~ .star { color: #d0cac8; }
.table-row.is-late { box-shadow: inset 3px 0 0 var(--bm-caramel); }
.kb-list { display: grid; gap: 10px; }
details.kb summary { cursor: pointer; display: flex; gap: 10px; align-items: center; }
.kb-body { margin-top: 10px; line-height: 1.6; }

/* Marketing e comunicados */
.mkt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.mkt-card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.mkt-card.is-archived { opacity: .6; }
.mkt-cover { aspect-ratio: 16/9; background: linear-gradient(135deg, #111, #5c0a17) center / cover no-repeat; display: flex; gap: 6px; align-items: flex-start; padding: 10px; }
.mkt-cover .pill { background: rgba(255, 255, 255, .92); color: #111; }
.mkt-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.mkt-body h3 { margin: 0; font-size: 18px; }
.mkt-body .row-btns { margin-top: auto; }
.notice-list { display: grid; gap: 12px; }
.notice.is-important { border-color: #f2c4cb; box-shadow: inset 4px 0 0 var(--bm-caramel); }
.notice.is-read { opacity: .75; }
.notice-reads { display: grid; gap: 4px; margin: 6px 0; }

/* Pedidos */
.order-list { display: grid; gap: 6px; max-height: 52vh; overflow-y: auto; padding-right: 4px; }
.order-item { display: grid; grid-template-columns: 44px minmax(0, 1fr) 76px; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; }
.order-item img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; }
.order-item span { display: flex; flex-direction: column; min-width: 0; }
.order-item small { color: var(--muted); }
.order-item input { text-align: center; }
.order-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 10px; border-top: 1px solid var(--line); }
.order-total strong { font-size: 24px; }
.table-foot { font-weight: 700; border-top: 2px solid var(--line-2); }

/* Fidelidade e loja (painel e área da cliente) */
.loyal-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.loyal-head span { font-weight: 700; color: var(--bm-caramel); }
.loyal-dots { display: grid; grid-template-columns: repeat(auto-fill, minmax(30px, 1fr)); gap: 6px; margin-bottom: 8px; }
.loyal-dots i { aspect-ratio: 1; border-radius: 50%; border: 2px dashed #d0cac8; display: grid; place-items: center; font-style: normal; font-size: 11px; color: #8a8381; }
.loyal-dots i.is-on { border: 0; background: var(--bm-caramel); color: #fff; font-weight: 800; }
.loyal-dots i.is-gift { border-style: solid; border-color: var(--bm-caramel); font-size: 14px; }
.loyal-dots i.is-gift.is-on { background: #111; }
.cgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.unit-mini { display: flex; flex-direction: column; gap: 4px; }
.unit-mini strong { font-size: 18px; }
.shop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.shop-grid--full { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.shop-item { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: inherit; padding: 10px; border: 1px solid var(--line, #ece6e4); border-radius: 14px; background: #fff; }
.shop-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; background: #f6f4f3; }
.shop-item strong { font-size: 14px; line-height: 1.3; }
.shop-item small { font-weight: 700; color: var(--bm-caramel) !important; }
.shop-item .btn { margin-top: auto; justify-content: center; }
.shop-sec { font-size: 20px; margin: 10px 0 0; }

/* Agendamento por unidade e páginas públicas da rede */
.svc-cat { grid-column: 1 / -1; margin: 8px 0 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #5b5452; }
.unit-picked { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1.5px solid #111; border-radius: 14px; }
.franq-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.franq-facts li { background: #111; color: #fff; border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 4px; text-align: center; }
.franq-facts b { font-size: 28px; color: #ff8a9a; }
.franq-facts span { font-size: 13px; color: #e7dfde; }
.sob-pub .field--full { grid-column: 1 / -1; }
.sob-pub .check { display: flex; gap: 10px; align-items: flex-start; }

/* Responsivo */
@media (max-width: 1100px) {
	.dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dash-grid .dash-wide { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
	.dash-cols, .dash-cols--chat { grid-template-columns: minmax(0, 1fr); }
	.kv--2 { grid-template-columns: minmax(110px, auto) minmax(0, 1fr); }
	.shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.unit-switch select { max-width: 160px; }
}
@media (max-width: 640px) {
	.dash-grid { grid-template-columns: minmax(0, 1fr); }
	.ch-cols { height: 170px; gap: 3px; }
	.ch-col small { font-size: 10px; }
	.ch-col-v { font-size: 11px; }
	.ch-donut-wrap { grid-template-columns: minmax(0, 1fr); justify-items: center; }
	.ch-dleg { width: 100%; }
	.ch-hbars li { grid-template-columns: minmax(0, 1fr) auto; }
	.ch-hb-track { grid-column: 1 / -1; grid-row: 2; }
	.ch-funnel li { grid-template-columns: minmax(0, 1fr) 110px; }
	.cgrid, .sign-grid, .franq-facts { grid-template-columns: minmax(0, 1fr); }
	.chat-msg { max-width: 100%; }
	.kanban--cands { grid-auto-columns: 82%; }
	.order-item { grid-template-columns: 40px minmax(0, 1fr) 64px; }
	.unit-switch { order: -1; width: 100%; }
	.unit-switch select { max-width: none; width: 100%; }
}
@media print {
	.side, .top-actions, .side-backdrop, .unit-switch, .eleve-fb, .pub-top { display: none !important; }
	.ch-tip { display: none; }
}
.sob .progress span { background: var(--bm-caramel); }
.ag-filter { flex-wrap: wrap; min-width: 0; max-width: 100%; }
.ag-filter select, .ag-filter input { min-width: 0; max-width: 100%; }
@media (max-width: 640px) { .ag-filter { margin-left: 0; width: 100%; } .ag-filter > * { flex: 1 1 140px; } }
.seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; } .seg::-webkit-scrollbar { display: none; } .seg a { flex: none; }


/* =====================================================================
 * 1.0.2 · Painel no vermelho da IDV (banner do site: vermelho, branco e as fotos das clientes)
 * ===================================================================== */
:root { --sb-red: #c8102e; --sb-red-2: #a90d27; --sb-red-3: #7f0a1e; --sb-rose: #fde2e6; }
:root:not([data-theme="dark"]) .sob-panel { background: #faf5f5; }

/* Menu lateral vermelho */
.sob .side { color: #fff; }
.sob .side-brand img { width: 176px; }
.sob .side-search { background: rgba(0, 0, 0, .16); border-color: rgba(255, 255, 255, .28); color: #fff; }
.sob .side-search:hover { border-color: rgba(255, 255, 255, .6); color: #fff; }
.sob .side-search kbd { border-color: rgba(255, 255, 255, .4); color: #fff; }
.sob .side-nav a { color: #fff; opacity: .92; }
.sob .side-nav a:hover { background: rgba(255, 255, 255, .14); color: #fff; opacity: 1; }
.sob .side-nav a.is-active { background: #fff; color: var(--sb-red); font-weight: 700; opacity: 1; box-shadow: 0 2px 0 rgba(0, 0, 0, .12); }
.sob .side-nav a.is-active::before { display: none; }
.sob .side-nav a.is-active .ic { color: var(--sb-red); }
.sob .side .side-label { color: #ffeef0; opacity: 1; }
.sob .side-count { background: #fff; color: var(--sb-red); }
.sob .side-nav a.is-active .side-count { background: var(--sb-red); color: #fff; }
.sob .side-tools { border-top-color: rgba(255, 255, 255, .22); }
.sob .side-tools .money-btn, .sob .side-tools .theme-btn { border-color: rgba(255, 255, 255, .34); color: #fff; background: transparent; }
.sob .side-tools .money-btn:hover, .sob .side-tools .theme-btn:hover { background: rgba(255, 255, 255, .14); border-color: #fff; }
.sob .side-user { border-top-color: rgba(255, 255, 255, .22); }
.sob .side .side-user-name small { color: #ffeef0; }
.sob .side-user .avatar { background: #fff; color: var(--sb-red); }
.sob .side-out { color: #fff; }
.sob .side-out:hover { background: rgba(255, 255, 255, .14); }
.sob .side .eleve-credit--dark span { color: #ffe3e7; }
.sob .side::-webkit-scrollbar { width: 6px; }
.sob .side::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .35); border-radius: 6px; }

/* Barra do topo com o fio vermelho */
.sob .top { box-shadow: inset 0 -3px 0 var(--sb-red); }
.sob .unit-switch select { border-color: var(--sb-red); color: var(--sb-red); }

/* Faixa de boas-vindas: o banner do site */
.dash-hello { position: relative; min-height: 170px; border: 0; color: #fff; background: linear-gradient(90deg, var(--sb-red) 0%, var(--sb-red) 46%, rgba(200, 16, 46, .55) 68%, rgba(200, 16, 46, 0) 88%), #c8102e url('brand/banner.jpg') right center / cover no-repeat; }
.dash-hello h1, [data-theme="dark"] .dash-hello h1 { color: #fff; }
.dash-hello .eyebrow { color: #ffe3e7; }
.dash-hello .muted, .dash-hello p { color: #fff; opacity: .95; }
.dash-hello .text-late, .dash-hello b { color: #fff; }
.dash-silhueta { display: none; }
[data-theme="dark"] .dash-hello { background: linear-gradient(90deg, #7f0a1e 0%, #7f0a1e 46%, rgba(127, 10, 30, .6) 68%, rgba(127, 10, 30, .1) 88%), #7f0a1e url('brand/banner.jpg') right center / cover no-repeat; }

/* Destaques e botões */
:root:not([data-theme="dark"]) .stat--dark { background: linear-gradient(135deg, #c8102e 0%, #8f0b21 100%); border-color: transparent; color: #fff; }
.stat--dark .stat-label, .stat--dark small { color: #ffe3e7 !important; }
:root:not([data-theme="dark"]) .btn--primary, .sob-auth .btn--primary, .sob-client .btn--primary, .sob-pub .btn--primary { background: var(--sb-red); border-color: var(--sb-red); color: #fff; }
:root:not([data-theme="dark"]) .btn--primary:hover, .sob-client .btn--primary:hover, .sob-pub .btn--primary:hover { background: var(--sb-red-2); border-color: var(--sb-red-2); }
[data-theme="dark"] .btn--primary { background: #e0213f; border-color: #e0213f; color: #fff; }
.sob .card-head h3 { position: relative; }
.sob .stat { border-top: 3px solid transparent; }
.sob a.stat:hover { border-top-color: var(--sb-red); }
.flow-step.is-current, .seg a.is-active { color: var(--sb-red); }
.flow-step.is-current { color: #fff; }
.tabs a.is-active { color: var(--sb-red); border-color: var(--sb-red); }
.sob .avatar { background: var(--sb-rose); color: #8f0b21; }

/* Menu lateral no escuro: vermelho profundo */
[data-theme="dark"] .side { background: linear-gradient(180deg, #6e0819 0%, #3d0710 60%, #1c0508 100%) !important; border-right-color: #3d0710; }

/* Login, área da cliente e páginas públicas no vermelho */
.sob-login::before { background: linear-gradient(180deg, rgba(200, 16, 46, .9) 0%, rgba(169, 13, 39, .62) 45%, rgba(110, 8, 25, .92) 100%); }
.sob-login .login-card { border-color: #f2c4cb; }
.sob-client .ctop, .pub-top { background: linear-gradient(90deg, #c8102e, #a90d27); }
.sob-client .ctop-nav a { color: #fff; }
.sob-client .ctop-nav a.is-active { background: #fff; color: var(--sb-red); }
.sob-client .ctop-nav a.ctop-cta { background: #111; color: #fff; }
.sob-client .ctop-who small, .sob-client .ctop-out { color: #ffe3e7; border-color: rgba(255, 255, 255, .4); }
.ctop-av { background: #fff; color: var(--sb-red); }
.next-date { background: var(--sb-red); }
.next-date span { color: #ffe3e7; }
.franq-facts li { background: linear-gradient(135deg, #c8102e, #8f0b21); }
.franq-facts b { color: #fff; }
.franq-facts span { color: #ffe3e7; }

@media (max-width: 640px) {
	.dash-hello { min-height: 0; background: linear-gradient(90deg, rgba(200, 16, 46, .97) 0%, rgba(200, 16, 46, .88) 60%, rgba(200, 16, 46, .55) 100%), #c8102e url('brand/banner.jpg') 92% 30% / auto 160% no-repeat; }
}
.dash-hello b.text-late { color: #fff !important; background: rgba(0, 0, 0, .22); padding: 1px 8px; border-radius: 99px; }
[data-theme="dark"] .notice-banner.is-important, [data-theme="dark"] .notice.is-important { background: #2a0e13; border-color: #6e0819; }
[data-theme="dark"] .stat--dark { background: linear-gradient(135deg, #8f0b21 0%, #4a0712 100%); border-color: transparent; }
[data-theme="dark"] .chat-msg.is-hq { color: #fff; }
