/* Painel da profissional */
body.ce-admin-page{background:#f8eef1}
.ad{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.ad-side{background:#2a1426;color:#f4dbe3;display:flex;flex-direction:column;padding:1.1rem .8rem;position:sticky;top:0;height:100vh;overflow-y:auto}
.ad-side .brand{padding:.3rem .6rem 1.2rem}
.ad-side .brand img{height:50px;width:auto}
.ad-nav{display:grid;gap:.15rem}
.ad-nav button,.ad-nav a,.ad-side .foot a,.ad-side .foot button{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border-radius:10px;font-weight:700;font-size:.93rem;color:#e7c8d3;min-height:44px;text-align:left;text-decoration:none;position:relative}
.ad-nav button:hover,.ad-nav a:hover,.ad-side .foot a:hover,.ad-side .foot button:hover{background:rgba(255,255,255,.07);color:#fff}
.ad-nav button[aria-current=page]{background:#a63f68;color:#fff}
.ad-nav .cnt{margin-left:auto;background:#f6b94b;color:#3a2200;font-size:.74rem;border-radius:99px;padding:.05rem .5rem;font-weight:800}
.ad-side .foot{margin-top:auto;padding-top:1rem;display:grid;gap:.2rem;border-top:1px solid rgba(255,255,255,.1)}
.ad-main{min-width:0;padding:1.4rem 1.6rem 3rem;max-width:1240px;width:100%}
.ad-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
.ad-top h2{font-size:2.2rem}
.ad-top .sub{color:var(--light-muted);font-size:.95rem}
.ad-mtop,.ad-bnav{display:none}
.ad-demo{background:#fff3d6;border:1px solid #f0d58a;color:#5e3d00;border-radius:12px;padding:.7rem 1rem;font-size:.88rem;margin-bottom:1rem;display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.ad-demo b{margin-right:.2rem}

/* login */
.ad-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#f3dde2,#fbf3f4)}
.ad-login .box{width:100%;max-width:400px;background:#fff;border:1px solid var(--light-border);border-radius:20px;padding:2rem 1.7rem;box-shadow:0 20px 50px rgba(90,42,77,.14);display:grid;gap:1.1rem}
.ad-login img{height:56px;width:auto;margin:0 auto}
.ad-login h2{font-size:2rem;text-align:center}
.ad-login p{text-align:center;color:var(--light-muted);font-size:.9rem}

/* grids / cartões */
.ad-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin-bottom:1.2rem}
.kpi{background:#fff;border:1px solid var(--light-border);border-radius:16px;padding:1rem 1.1rem;display:grid;gap:.15rem;position:relative}
.kpi .lab{font-size:.78rem;font-weight:800;color:#8a6579;text-transform:uppercase;letter-spacing:.05em;display:flex;gap:.4rem;align-items:center}
.kpi .val{font-family:var(--font-display);font-size:2.3rem;font-weight:600;line-height:1.05;color:#3a2236;font-variant-numeric:lining-nums}
.kpi .sub{font-size:.8rem;color:var(--light-muted)}
.kpi .up{color:#14573a;font-weight:800}.kpi .down{color:#8f1f31;font-weight:800}
.kpi.warn{border-color:#f0d58a;background:#fffaf0}
.ad-cols{align-items:start;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem}
.ad-cols.eq{grid-template-columns:1fr 1fr}
.ad-panel{background:#fff;border:1px solid var(--light-border);border-radius:16px;padding:1.1rem 1.2rem;min-width:0}
.ad-panel>header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}
.ad-panel h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.1}
.ad-panel .hint{font-size:.82rem;color:var(--light-muted)}
.ad-empty{padding:1.4rem 1rem;text-align:center;color:var(--light-muted);font-size:.92rem}
.seg{display:inline-flex;background:#f3dde2;border-radius:10px;padding:.2rem;gap:.1rem;flex-wrap:wrap}
.seg button{padding:.4rem .8rem;border-radius:8px;font-size:.85rem;font-weight:700;color:#6f2a49;min-height:36px}
.seg button[aria-pressed=true]{background:#fff;color:var(--primary);box-shadow:0 1px 3px rgba(90,42,77,.2)}

/* lista de atendimentos */
.al{display:grid;gap:.55rem}
.ai{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--light-border);border-radius:12px;background:#fff;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}
.ai:hover{border-color:#d8a2b6;box-shadow:0 2px 10px rgba(90,42,77,.08)}
.ai .tm{font-weight:800;font-variant-numeric:tabular-nums;color:#3a2236;line-height:1.2}
.ai .tm small{display:block;font-size:.75rem;color:#8a6579;font-weight:700}
.ai .nm{font-weight:800;color:#3a2236;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai .sv{font-size:.85rem;color:var(--light-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai.pend{border-left:4px solid #f0b429}.ai.conf{border-left:4px solid #2e9e6b}.ai.done{border-left:4px solid #5a6fc0}.ai.canc,.ai.falt{opacity:.72}
.ai.canc{border-left:4px solid #b79aa5}.ai.falt{border-left:4px solid #d1485c}
.ai .ac{display:flex;gap:.35rem;align-items:center}
.date-nav{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.date-nav .lbl{font-family:var(--font-display);font-size:1.5rem;font-weight:600;min-width:210px;text-align:center}
.date-nav .lbl::first-letter{text-transform:uppercase}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:.2rem 0 1rem}
.chip{padding:.35rem .8rem;border-radius:99px;border:1px solid #dbbcc6;background:#fff;font-size:.84rem;font-weight:700;color:#6f2a49;min-height:36px;display:inline-flex;gap:.35rem;align-items:center}
.chip[aria-pressed=true]{background:#6f2a49;color:#fff;border-color:#6f2a49}

/* semana / mês */
.wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}
.wk .col{background:#fff;border:1px solid var(--light-border);border-radius:12px;padding:.5rem;min-height:180px;display:flex;flex-direction:column;gap:.35rem}
.wk .col.today{border-color:var(--primary);box-shadow:0 0 0 2px rgba(166,63,104,.15)}
.wk .col.closed{background:#f5ecef}
.wk .col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#8a6579;display:flex;justify-content:space-between}
.wk .col h4 b{color:#3a2236;font-size:1.05rem}
.wk .ev{display:block;text-align:left;border-radius:8px;padding:.3rem .45rem;font-size:.78rem;line-height:1.25;border-left:3px solid;width:100%;background:#fbeef1}
.wk .ev b{display:block;font-variant-numeric:tabular-nums}
.wk .ev.pend{border-color:#f0b429;background:#fff6e0}.wk .ev.conf{border-color:#2e9e6b;background:#e7f6ee}.wk .ev.done{border-color:#5a6fc0;background:#ecefff}
.wk .ev.canc,.wk .ev.falt{border-color:#b79aa5;opacity:.55;text-decoration:line-through}
.mo{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mo .dw{font-size:.75rem;font-weight:800;color:#8a6579;text-align:center;text-transform:uppercase;padding:.3rem}
.mo .d{background:#fff;border:1px solid var(--light-border);border-radius:10px;min-height:78px;padding:.35rem .4rem;text-align:left;display:flex;flex-direction:column;gap:.15rem;position:relative}
.mo .d.out{background:transparent;border-color:transparent}
.mo .d.today{border-color:var(--primary)}
.mo .d.closed{background:#f5ecef}
.mo .d b{font-size:.85rem}
.mo .d .n{margin-top:auto;font-size:.74rem;font-weight:800;color:#fff;background:var(--primary);border-radius:99px;padding:.05rem .45rem;align-self:flex-start}
.mo .d .p{font-size:.75rem;font-weight:800;color:#7a4b00;background:#fff3d6;border-radius:99px;padding:.02rem .4rem;align-self:flex-start}

/* tabelas */
.ad-table{width:100%;border-collapse:collapse;font-size:.9rem}
.ad-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#8a6579;text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--light-border);white-space:nowrap}
.ad-table td{padding:.65rem .6rem;border-bottom:1px solid #f3e4e8;vertical-align:middle}
.ad-table tr.click{cursor:pointer}.ad-table tr.click:hover td{background:#fdf5f7}
.ad-table td.num,.ad-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.ad-scroll{overflow-x:auto}

/* gráficos */
.ch{width:100%;overflow:visible}
.ch text{font-family:var(--font-sans);fill:#6f4c66;font-size:11px}
.ch .grid{stroke:#ecd3d9;stroke-width:1}
.ch .bar{fill:#a63f68;rx:4}
.ch .bar:hover,.ch .bar.on{fill:#7d2d4f}
.ch-tip{position:fixed;z-index:90;background:#2a1426;color:#fff;font-size:.82rem;padding:.4rem .65rem;border-radius:8px;pointer-events:none;box-shadow:0 6px 16px rgba(0,0,0,.3);max-width:220px;line-height:1.35}
.hbar{display:grid;gap:.55rem}
.hbar .r{display:grid;grid-template-columns:minmax(90px,150px) 1fr 54px;gap:.6rem;align-items:center;font-size:.85rem}
.hbar .r .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.hbar .r .b{height:14px;background:#f6e6ea;border-radius:99px;overflow:hidden}
.hbar .r .b i{display:block;height:100%;background:#a63f68;border-radius:99px}
.hbar .r .v{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.heat{display:grid;gap:3px;font-size:.7rem}
.heat .c{aspect-ratio:1.6;border-radius:5px;display:grid;place-items:center;font-weight:800;min-height:24px}
.heat .hd{color:#8a6579;font-weight:800;text-align:center;align-self:center}
.legend-row{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.8rem;color:var(--light-muted);margin-top:.5rem;align-items:center}
.ramp{display:inline-flex;gap:2px}.ramp i{width:18px;height:10px;border-radius:2px}

/* checklists, formulários */
.onb{background:linear-gradient(120deg,#fff,#fbeef1);border:1px solid #ecd3d9;border-radius:16px;padding:1rem 1.2rem;margin-bottom:1.2rem}
.onb ul{list-style:none;display:grid;gap:.45rem;margin:.6rem 0}
.onb li{display:flex;gap:.6rem;align-items:center;font-size:.92rem}
.onb li .dot{width:22px;height:22px;border-radius:50%;border:2px solid #d8a2b6;display:grid;place-items:center;flex-shrink:0}
.onb li.ok .dot{background:#2e9e6b;border-color:#2e9e6b;color:#fff}.onb li.ok .dot .ce-i{width:13px;height:13px;stroke-width:3}
.onb li.ok span{color:var(--light-muted);text-decoration:line-through}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.fgrid .full{grid-column:1/-1}
.row-end{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1rem}
.vars{display:flex;gap:.3rem;flex-wrap:wrap;margin:.3rem 0 .6rem}
.vars code{background:#f3dde2;color:#6f2a49;border-radius:6px;padding:.1rem .4rem;font-size:.78rem;cursor:pointer;border:0}
.dayrow{display:grid;grid-template-columns:110px 1fr;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--light-border);align-items:start}
.dayrow:last-child{border-bottom:0}
.dayrow .dn{font-weight:800;display:flex;align-items:center;gap:.6rem}
.ivs{display:grid;gap:.4rem}
.iv{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.iv input[type=time]{width:136px;min-height:40px;padding:.4rem .5rem}
.iv span{color:var(--light-muted)}
.svc-row{display:grid;grid-template-columns:40px minmax(0,2fr) 100px 120px auto;gap:.7rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--light-border)}
.svc-row:last-child{border-bottom:0}
.svc-row .nm{display:grid;gap:.3rem}
.svc-row.off{opacity:.6}
.hist{font-size:.82rem;color:var(--light-muted);display:grid;gap:.25rem;margin-top:.5rem}
.kv{display:grid;grid-template-columns:130px 1fr;gap:.4rem .8rem;font-size:.92rem;margin-bottom:.8rem}
.kv dt{color:var(--light-muted);font-size:.82rem;font-weight:700}.kv dd{font-weight:700;word-break:break-word}
.wa-row{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0}
.sect-lab{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8a6579;margin:1rem 0 .4rem}
.loy{height:10px;background:#f6e6ea;border-radius:99px;overflow:hidden;margin:.3rem 0}.loy i{display:block;height:100%;background:#a63f68}
.skel-line{height:18px;border-radius:8px;background:linear-gradient(90deg,#f3e3e8,#fbf0f3,#f3e3e8);background-size:200% 100%;animation:sk 1.2s linear infinite;margin:.5rem 0}

@media(max-width:1000px){
  .ad-cols,.ad-cols.eq{grid-template-columns:1fr}
}
@media(max-width:860px){
  .ai{grid-template-columns:58px minmax(0,1fr)}.ai .ac{grid-column:2;margin-top:-.2rem}
  .ad{grid-template-columns:1fr}
  .ad-side{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:80;transform:translateX(-102%);transition:transform .25s;box-shadow:8px 0 30px rgba(0,0,0,.35)}
  .ad-side.open{transform:none}
  .ad-scrim{position:fixed;inset:0;background:rgba(34,16,29,.5);z-index:70}
  .ad-mtop{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#f3dde2;padding:.4rem 12px;position:sticky;top:0;z-index:60;border-bottom:1px solid #e8c6d0}
  .ad-mtop img{height:38px;width:auto}
  .ad-main{padding:1rem 14px 6.5rem}
  .ad-top h2{font-size:1.8rem}
  .ad-bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--light-border);padding-bottom:env(safe-area-inset-bottom)}
  .ad-bnav button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .2rem;font-size:.75rem;font-weight:800;color:#8a6579;min-height:56px;position:relative}
  .ad-bnav button[aria-current=page]{color:var(--primary)}
  .ad-bnav .cnt{position:absolute;top:4px;right:calc(50% - 22px);background:#f6b94b;color:#3a2200;font-size:.64rem;border-radius:99px;padding:0 .35rem}
  .ad-fab{position:fixed;right:16px;bottom:76px;z-index:55;box-shadow:0 8px 20px rgba(166,63,104,.4);border-radius:99px;min-height:52px}
  .wk{grid-template-columns:1fr;}
  .wk .col{min-height:0;flex-direction:column}
  .wk .col.empty{display:none}
  .mo .d{min-height:58px;padding:.25rem}
  .svc-row{grid-template-columns:1fr 1fr;}
  .svc-row .nm{grid-column:1/-1}
  .dayrow{grid-template-columns:1fr}
  .kv{grid-template-columns:100px 1fr}
  .date-nav .lbl{min-width:0;flex:1;font-size:1.25rem}
  .hbar .r{grid-template-columns:90px 1fr 44px}
}
@media(min-width:861px){.ad-fab{display:none}}
