/* Calyon — camada visual única (minimalista). Carregar POR ÚLTIMO.
   Lê as cores/fontes geradas para cada barbearia (--color-*, --font-*, --radius). */
:root{
  --cy-bg:var(--color-bg,#0E0F11); --cy-card:var(--color-cards,#16171A);
  --cy-line:color-mix(in srgb,var(--color-text,#fff) 10%,transparent);
  --cy-text:var(--color-text,#F4F1EC); --cy-muted:var(--color-muted,#8E8A84);
  --cy-accent:var(--color-buttons,var(--color-primary,#C89B3C));
  --cy-r:calc(var(--radius,14px) + 2px);
  --cy-head:var(--font-heading,'Inter'),system-ui,sans-serif; --cy-body:var(--font-body,'Inter'),system-ui,sans-serif;
}
body.admin-page,body.cx-client-app,body.bo-home{background:var(--cy-bg)!important;color:var(--cy-text);font-family:var(--cy-body)!important;-webkit-font-smoothing:antialiased}
body.admin-page :is(h1,h2,h3),body.cx-client-app :is(h1,h2,h3),.font-oswald{font-family:var(--cy-head)!important;text-transform:none!important;letter-spacing:-.01em!important;font-weight:700!important}
body.admin-page h1,body.cx-client-app h1{font-size:1.5rem!important}
/* cartões: sem sombra, borda fina */
body.admin-page :is([class*="bg-[#161618]"],[class*="bg-[#1A1A1D]"],[class*="bg-[#111"]),
body.cx-client-app :is([class*="bg-[#161618]"],[class*="bg-[#1A1A1D]"],[class*="bg-[#111"],.card){
  background:var(--cy-card)!important;border:1px solid var(--cy-line)!important;border-radius:var(--cy-r)!important;box-shadow:none!important}
[class*="border-[#26262A]"]{border-color:var(--cy-line)!important}
/* acento vindo da identidade da barbearia */
[class*="text-[#E5C158]"]{color:var(--cy-accent)!important}
[class*="bg-[#E5C158]"]{background:var(--cy-accent)!important;color:#111!important;border-radius:calc(var(--cy-r) - 4px)!important}
[class*="text-gray-500"],[class*="text-gray-400"]{color:var(--cy-muted)!important}
/* textos minúsculos ficam legíveis */
body.admin-page :is(.text-\[9px\],.text-\[10px\],.text-\[11px\]),body.cx-client-app :is(.text-\[9px\],.text-\[10px\]){font-size:12px!important;letter-spacing:0!important;text-transform:none!important}
body.admin-page :is(input,select,textarea),body.cx-client-app :is(input,select,textarea){background:transparent!important;border:1px solid var(--cy-line)!important;border-radius:calc(var(--cy-r) - 4px)!important;color:var(--cy-text)!important}
body.admin-page :is(input,select,textarea):focus,body.cx-client-app :is(input,select,textarea):focus{border-color:var(--cy-accent)!important;outline:none}
body.admin-page table :is(th,td){border-color:var(--cy-line)!important}
body.admin-page th{font-weight:600!important;color:var(--cy-muted)!important;text-transform:none!important}
/* desempenho + assistente */
.cy-ins{background:var(--cy-card);border:1px solid var(--cy-line);border-radius:var(--cy-r);padding:22px 24px;color:var(--cy-text)}
.cy-ins-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.cy-ins-head h2{font-size:1.05rem!important;margin:0}.cy-ins-head span{font-size:12px;color:var(--cy-muted)}
.cy-ins-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:center}
.cy-chart{width:100%;height:auto}.cy-bar{fill:var(--cy-line)}.cy-bar.cur{fill:var(--cy-accent)}
.cy-num{font:600 11px var(--cy-body);fill:var(--cy-text)}.cy-lbl{font:500 11px var(--cy-body);fill:var(--cy-muted)}
.cy-kpis{display:grid;gap:14px}.cy-kpis small{display:block;font-size:12px;color:var(--cy-muted)}
.cy-kpis b{font:700 1.5rem var(--cy-head);letter-spacing:-.02em}
.cy-assist{display:flex;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--cy-line);font-size:14px;line-height:1.5}
.cy-assist i{color:var(--cy-accent);margin-top:3px}.cy-assist p{margin:0 0 6px}
@media(max-width:700px){.cy-ins-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* desempenho compacto (celular) */
details.cy-ins{padding:0}
details.cy-ins>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;font-size:14px}
details.cy-ins>summary::-webkit-details-marker{display:none}
details.cy-ins>summary span{margin-left:auto;font-size:12px;color:var(--cy-muted)}
details.cy-ins>summary i{font-size:11px;color:var(--cy-muted);transition:transform .2s}
details.cy-ins[open]>summary i{transform:rotate(180deg)}
details.cy-ins>:not(summary){margin-left:16px;margin-right:16px}
details.cy-ins>.cy-assist{margin-bottom:14px}
details.cy-ins .cy-ins-grid{margin-top:4px;gap:16px}details.cy-ins .cy-chart{max-height:110px}
details.cy-ins .cy-kpis{grid-template-columns:repeat(3,1fr);gap:8px}details.cy-ins .cy-kpis b{font-size:1.05rem}

/* home: dica de arrastar, nota, status ao vivo */
.cy-swipe{display:flex;align-items:center;gap:10px;justify-content:center;text-align:center;font-size:14px;color:var(--hm-mut,#a9a49c);margin:0 0 12px}
.cy-swipe i{color:var(--hm-acc,#C89B3C);animation:cyswipe 1.6s ease-in-out infinite}
@keyframes cyswipe{0%,100%{transform:translateX(-6px)}50%{transform:translateX(8px)}}
.cy-note{font-size:13px;color:var(--hm-mut,#a9a49c);margin-top:12px}.cy-note a{color:var(--hm-acc,#C89B3C);text-decoration:underline}
.hm-hero [data-hm-status]{display:none}
.hm-live{display:flex;align-items:center;gap:14px;text-align:left;margin:0 auto 22px;padding:14px 20px;border-radius:18px;border:1px solid var(--cy-line,#333);background:rgba(255,255,255,.03);max-width:420px}
.hm-live .ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:rgba(251,113,133,.14);color:#fb7185;position:relative}
.hm-live[data-s="open"] .ic{background:rgba(52,211,153,.14);color:#34d399}
.hm-live .ic::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:cypulse 2.2s ease-out infinite}
@keyframes cypulse{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.35);opacity:0}}
/* Segmentos que não são barbearia: ponto de status (verde aberto, vermelho fechado) */
.hm-live .ic.ic-dot{width:22px;height:22px;background:rgba(239,68,68,.16);color:#ef4444}
.hm-live[data-s="open"] .ic.ic-dot{background:rgba(34,197,94,.16);color:#22c55e}
.hm-live .ic.ic-dot .dot{width:10px;height:10px;border-radius:50%;background:currentColor;display:block}
.hm-live .ic.ic-dot::after{inset:-3px}
.hm-live b{display:block;font-size:17px}.hm-live small{display:block;color:var(--hm-mut,#a9a49c);font-size:13px}
.hm-live em{margin-left:auto;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;font-size:15px;white-space:nowrap}

/* temas claros/escuros escolhidos no cadastro: nada de branco fixo */
:root{--hm-line:color-mix(in srgb,var(--color-text,#fff) 10%,transparent);--hm-mut:color-mix(in srgb,var(--color-text,#fff) 60%,transparent)}
body.bo-home,.hm-title,.hm-h,.hm-card h3,.hm-tm b,.hm-brand b{color:var(--cy-text)}
body.bo-home .text-white,body.admin-page .text-white,body.cx-client-app .text-white{color:var(--cy-text)!important}
body.bo-home .hm-btn:not(.hm-btn-p){color:var(--cy-text);border-color:var(--hm-line)}
body.bo-home .hm-btn-p{color:var(--color-bg,#111)}

/* login / criar conta / recuperar senha seguem o design da barbearia */
body.bo-auth{background:var(--cy-bg)!important;color:var(--cy-text);font-family:var(--cy-body)!important}
.bo-auth .bo-auth-card{background:var(--cy-card)!important;border:1px solid var(--cy-line)!important;border-radius:calc(var(--cy-r) + 6px)!important;box-shadow:none!important;color:var(--cy-text)}
.bo-auth :is(h1,h2){font-family:var(--cy-head)!important;color:var(--cy-text)!important}
.bo-auth :is(input,select){background:transparent!important;border:1px solid var(--cy-line)!important;color:var(--cy-text)!important;border-radius:calc(var(--cy-r) - 4px)!important}
.bo-auth :is(button[type=submit],.bo-btn-primary){background:var(--cy-accent)!important;color:var(--color-bg,#111)!important;border:0!important;border-radius:calc(var(--cy-r) - 4px)!important}
.bo-auth a{color:var(--cy-accent)}
[class*="bg-[#D4AF37]"]{background:var(--cy-accent)!important;color:var(--color-bg,#111)!important}
body.cx-client-app [class*="bg-[#121214]"],body.cx-client-app [class*="bg-[#0D0D0E]"]{background:var(--cy-bg)!important}

/* === Cobertura total do tema (todas as telas do sistema) === */
[class*="text-[#e5c158]" i],[class*="text-[#d4af37]" i]{color:var(--cy-accent)!important}
[class*="border-[#e5c158]" i]{border-color:var(--cy-accent)!important}
[class*="bg-[#e5c158]" i],[class*="bg-[#d4af37]" i]{background:var(--cy-accent)!important;color:var(--color-bg,#111)!important}
[class*="hover:bg-[#d4af37]" i]:hover,[class*="hover:bg-[#e5c158]" i]:hover{background:var(--cy-accent)!important;filter:brightness(.92)}
[class*="border-[#26262a]" i],[class*="border-[#333]"],[class*="border-[#3a3a40]"],[class*="border-[#343a44]"],[class*="divide-[#26262a]" i]>*{border-color:var(--cy-line)!important}
[class*="bg-[#26262A]" i],[class*="bg-[#3a3a40]"],[class*="bg-[#20242c]"]{background:color-mix(in srgb,var(--cy-text) 8%,var(--cy-card))!important}
body.admin-page :is([class*="bg-[#0D0D0E]" i],[class*="bg-[#121214]" i],[class*="bg-[#0F1015]" i]),
body.cx-client-app :is([class*="bg-[#0D0D0E]" i],[class*="bg-[#121214]" i],[class*="bg-[#0F1015]" i]){background:var(--cy-bg)!important}
body.admin-page :is(.text-white,.text-gray-100,.text-gray-200,.text-gray-300),body.cx-client-app :is(.text-gray-100,.text-gray-200,.text-gray-300){color:var(--cy-text)!important}
body.admin-page :is(button,a)[class*="bg-[#E5C158]" i]{border-radius:calc(var(--cy-r) - 4px)!important}
body.admin-page select option,body.cx-client-app select option{background:var(--cy-card);color:var(--cy-text)}
body.admin-page :is(input,select,textarea)::placeholder,body.cx-client-app :is(input,select,textarea)::placeholder{color:var(--cy-muted)!important;opacity:.7}
body.admin-page a:not([class]),body.cx-client-app a:not([class]){color:var(--cy-accent)}
