/* AURA — sistema visual: âmbar + neutros claros, cartões arredondados, controles de altura única */
:root{
  --p:#FDB813;--p-dark:#EDA800;--on-p:#1C1917;--p-text:#B45309;--soft:#FFF7DD;--soft-2:#FDE8A8;--on-soft:#7C4A03;
  --ink:#171717;--navy:#171717;--tx:#2B2F36;--mut:#6B7280;--bg:#F8F9FB;--card:#fff;--line:#E8EAEE;--line-2:#D6DAE1;
  --ok:#15803D;--warn:#B45309;--err:#D92D50;--err-bg:#FFF1F3;--err-line:#F4A3B3;
  --r:16px;--h:42px;--h-sm:32px;--shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.04);--ring:0 0 0 3px rgba(253,184,19,.3)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{color:var(--ink);line-height:1.25;margin:0;letter-spacing:-.01em}
h1{font-size:1.5rem;margin-bottom:1rem}
h2{font-size:1.1rem;margin-bottom:.75rem}
h3{font-size:.95rem;margin:1.25rem 0 .5rem}
h1:first-child,h2:first-child,h3:first-child{margin-top:0}
p{margin:.5rem 0}
a{color:var(--p-text);text-decoration:none}
p a:hover,td a:hover,li a:hover,.link{text-decoration:underline;text-underline-offset:2px}
:focus-visible{outline:2px solid var(--p-text);outline-offset:2px}
main:focus{outline:none}
[hidden]{display:none!important}
code{background:#F1F2F5;padding:.1rem .35rem;border-radius:6px;font-size:.9em}
.ico{flex:none;vertical-align:middle}

/* aviso e topo */
.demo-bar{background:#1C1917;color:#FDE8A8;font-size:.78rem;height:30px;display:flex;align-items:center;justify-content:center;padding:0 1rem;text-align:center;position:sticky;top:0;z-index:40}
.top{display:flex;gap:.5rem 1.5rem;align-items:center;flex-wrap:wrap;background:#fff;border-bottom:1px solid var(--line);padding:.55rem 1.25rem;position:sticky;top:0;z-index:5}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.2rem;color:var(--ink);letter-spacing:-.01em}
.logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#FFCB3D,#F5A700);box-shadow:0 2px 6px rgba(245,167,0,.35)}
nav{display:flex;gap:.25rem;align-items:center;flex-wrap:wrap}
nav a{display:inline-flex;align-items:center;height:36px;padding:0 .85rem;border-radius:10px;color:var(--tx);font-size:.92rem}
nav a:hover{background:var(--bg)}
nav a.on{background:var(--soft);color:var(--ink);font-weight:600}

/* página */
main{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.card>.btn,.card>.row{margin-top:.75rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1rem;align-items:start}
.kpis{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:1rem 0}
.kpi{margin:0;padding:1rem 1.1rem}
.kpi span,.mut{color:var(--mut);font-size:.875rem}
.kpi b{display:block;font-size:1.45rem;color:var(--ink);margin-top:.15rem;letter-spacing:-.02em}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.row.sp{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:.5rem;max-width:560px}
.stack label{margin:.4rem 0 0}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}

/* botões: altura única (42px), compacta (32px) em tabelas */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:var(--h);padding:0 1.15rem;border:1px solid transparent;border-radius:12px;background:var(--p);color:var(--on-p);font:inherit;font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}
.btn:hover{background:var(--p-dark)}
.btn.sec{background:var(--soft);color:var(--on-soft)}
.btn.sec:hover{background:var(--soft-2)}
.btn.dark{background:var(--ink);color:#fff}.btn.dark:hover{background:#2B2B2B}
.btn.light{background:#fff;color:var(--ink);border-color:var(--line-2)}.btn.light:hover{background:#F5F6F8}
.btn.wpp{background:#15803D;color:#fff}.btn.wpp:hover{background:#166534}
.btn:disabled{background:#FDE9B0;color:#fff;cursor:not-allowed}
.btn.sec:disabled,.btn.light:disabled{opacity:.55;color:inherit}
.btn.sm,td .btn{height:var(--h-sm);padding:0 .8rem;font-size:.85rem;border-radius:9px}
.chip{display:inline-flex;align-items:center;height:34px;padding:0 .95rem;border:1px solid var(--line-2);background:#fff;border-radius:99px;color:var(--tx);font:inherit;font-size:.9rem;cursor:pointer;white-space:nowrap}
.chip:hover{border-color:var(--p-dark)}
.chip[aria-pressed=true]{background:var(--p);color:var(--on-p);border-color:var(--p);font-weight:600}
td .chip{height:28px;padding:0 .7rem;font-size:.85rem}

/* campos */
label{display:block;font-weight:500;font-size:.85rem;color:#4B5563;margin:.6rem 0 .25rem}
.req{color:var(--err);margin-left:.15rem}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select{height:var(--h);padding:0 .8rem;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--tx);font:inherit;font-size:.95rem;max-width:100%}
select{padding-right:1.8rem}
textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--tx);font:inherit;font-size:.95rem}
input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--p-dark);flex:none}
input::placeholder,textarea::placeholder{color:#9CA3AF}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--p-dark);box-shadow:var(--ring)}
input:disabled,select:disabled{background:#F3F4F6;color:var(--mut)}
td input:not([type=checkbox]):not([type=radio]):not([type=file]),td select{height:var(--h-sm);padding:0 .5rem;font-size:.85rem;border-radius:9px}
label.row{display:flex;font-weight:500;margin:0;color:var(--tx);font-size:.92rem}

/* formulários em grade: label + controle por campo */
.f{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem 1rem;max-width:760px;align-items:end}
.f .fld{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.f .fld>label{margin:0}
.f .fld input,.f .fld select{width:100%}
.f .fld.wide,.f>p,.f>.mut,.f>.note{grid-column:1/-1}
.f .actions{grid-column:1/-1;display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}
.f>.btn{grid-column:1/-1;justify-self:start}
.fld.chk{min-height:var(--h);justify-content:center}

/* tabelas */
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:600;text-align:left;padding:.5rem;border-bottom:1px solid var(--line)}
td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}

/* tags e avisos */
.tag,.badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;padding:.12rem .6rem;border-radius:99px;background:#F1F2F5;color:var(--mut)}
.badge{background:var(--soft);color:var(--on-soft)}
.tag.ok{background:#DCFCE7;color:var(--ok)}.tag.warn{background:#FEF3C7;color:var(--warn)}.tag.err{background:#FEE2E2;color:#B91C1C}
.ok{color:var(--ok)}.warn{color:var(--warn)}.err{color:var(--err)}
.star{color:var(--warn);font-weight:600}
.note{background:#FFFBEB;border:1px dashed #F59E0B;color:#78350F;border-radius:12px;padding:.5rem .8rem;font-size:.82rem;margin:.9rem 0 0}
.note::before{content:"Pendência: ";font-weight:700}
.toast{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.65rem 1.1rem;border-radius:12px;z-index:30;max-width:90vw;box-shadow:0 8px 24px rgba(15,23,42,.25)}
.toast.err{background:#B42343}

/* início e planos */
.hero2{background:linear-gradient(135deg,#FFF1C2 0%,#FDB813 100%);color:var(--ink);border-radius:20px;padding:2.5rem 2rem;margin-bottom:1.5rem}
.hero2 h1{color:var(--ink);font-size:2.1rem;letter-spacing:-.02em;margin-bottom:.5rem;max-width:640px}
.hero2 p{max-width:560px;margin:0 0 1.25rem;color:#3B2F0B}
.plans{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:1rem 0}
.plans .card{display:flex;flex-direction:column;margin:0}
.plans .card.feat{border-color:var(--p);box-shadow:0 0 0 2px var(--p),var(--shadow)}
.plans .card h2{margin-bottom:.25rem}
.plans .price{font-size:1.65rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.plans .price span{font-size:.85rem;font-weight:500;color:var(--mut)}
.plans ul{flex:1;padding-left:1.1rem;margin:.75rem 0;font-size:.9rem}
.plans .card .btn{margin-top:.75rem}

/* busca e perfil */
.biz{display:flex;gap:1rem;align-items:center;color:inherit;transition:border-color .15s,box-shadow .15s}
.biz:hover{border-color:var(--p);box-shadow:0 2px 12px rgba(253,184,19,.25)}
.biz h2{margin-bottom:.35rem}
.photo{width:88px;height:88px;border-radius:14px;background:linear-gradient(135deg,#FFE9A3,#FDB813);flex:none}
.hero{height:140px;border-radius:var(--r);background:linear-gradient(135deg,#FFE9A3,#FDB813);margin:.75rem 0 1rem}
.back{display:inline-block;color:var(--mut);font-size:.9rem}.back:hover{color:var(--ink)}
.svc{display:flex;gap:.75rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line)}
.svc:last-child{border-bottom:0}
.svc label{margin:0;font-weight:500;font-size:.95rem;color:var(--tx);flex:1}
.svc select{max-width:230px}
.slots{display:flex;gap:.4rem;flex-wrap:wrap}
.bar{height:10px;background:var(--soft);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--p)}

/* painel */
.layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:1.25rem;align-items:start}
.side{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.6rem;position:sticky;top:68px;box-shadow:var(--shadow)}
.side h4{margin:.4rem .65rem .1rem;font-size:.85rem;color:var(--ink)}
.side .meta{margin:0 .65rem .6rem;color:var(--mut);font-size:.78rem}
.side select{width:100%;margin-bottom:.4rem}
.side a{display:flex;align-items:center;gap:.65rem;padding:.5rem .7rem;border-radius:10px;color:var(--tx);font-size:.92rem;position:relative}
.side a .ico{color:#9AA0AB}
.side a:hover{background:var(--bg)}
.side a.on{background:var(--soft);color:var(--ink);font-weight:600}
.side a.on .ico{color:var(--p-dark)}
.side a.lock{color:var(--mut)}
.steps{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}
.steps span{font-size:.8rem;padding:.2rem .7rem;border-radius:99px;background:#fff;border:1px solid var(--line)}
.steps .cur{background:var(--p);color:var(--on-p);border-color:var(--p);font-weight:600}
.steps .done{background:var(--soft);color:var(--on-soft);border-color:var(--soft-2)}

/* agenda */
.ag{display:flex;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ag .hrs{flex:none;width:52px}
.ag .hrs div{height:40px;font-size:.72rem;color:var(--mut);padding:2px 4px}
.ag .col{flex:1;min-width:150px;border-left:1px solid var(--line);position:relative}
.ag .col h3{height:36px;margin:0;padding:8px;border-bottom:1px solid var(--line);font-size:.88rem}
.ag .body{position:relative;background:repeating-linear-gradient(var(--line) 0 1px,transparent 1px 40px)}
.apt{position:absolute;left:3px;right:3px;background:var(--soft);border-left:4px solid var(--p);border-radius:8px;padding:2px 6px;font:inherit;font-size:.78rem;line-height:1.3;cursor:grab;overflow:hidden;text-align:left;border-top:0;border-right:0;border-bottom:0;color:var(--ink)}
.apt.dim{opacity:.4}

dialog{border:0;border-radius:20px;padding:1.5rem;width:min(520px,92vw);max-height:90vh;overflow:auto;box-shadow:0 10px 40px rgba(15,23,42,.3)}
dialog::backdrop{background:rgba(15,23,42,.5)}
dialog .f{max-width:none}

/* telas de autenticação (login, cadastro, verificação) */
body[data-shell=auth] .top{display:none}
body[data-shell=auth] main{max-width:none;padding:0}
.auth{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#D3D7DF 1.3px,transparent 1.3px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse at center,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 10%,transparent 75%)}
.auth>*{position:relative}
.auth-top{padding:1.5rem 2rem}
.auth-body{flex:1;display:grid;place-items:center;padding:1rem 1rem 2rem}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid #F0F1F4;border-radius:22px;padding:2.25rem 2.25rem 2rem;box-shadow:0 2px 4px rgba(16,24,40,.03),0 16px 48px rgba(16,24,40,.07)}
.auth-icon{width:76px;height:76px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:radial-gradient(circle,#FFF1C4 0%,rgba(255,241,196,0) 70%)}
.auth-icon span{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--soft-2);display:grid;place-items:center;color:var(--p-dark)}
.auth-card h1{text-align:center;font-size:1.6rem;letter-spacing:-.025em;margin:0 0 .35rem}
.auth-card .sub{text-align:center;color:var(--mut);margin:0 0 1.75rem}
.auth-card .sub b{color:var(--ink);font-weight:600;display:block}
.auth-card .fld{margin-bottom:1rem}
.auth-card label{font-size:.85rem;color:#4B5563;margin:0 0 .35rem}
.auth-card input.i:not([type=checkbox]):not([type=radio]):not([type=file]){height:48px;width:100%;border-radius:12px;padding:0 1rem}
.auth-card .btn{width:100%;height:48px;font-size:1rem}
.auth-card .alt{text-align:center;margin:1.5rem 0 0;color:var(--tx)}
.auth-card .alt a{font-weight:600}
.pw{position:relative}
.pw input.i:not([type=checkbox]):not([type=radio]):not([type=file]){padding-right:3rem}
.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;background:none;color:#6B7280;border-radius:8px;cursor:pointer}
.pw button:hover{background:var(--bg);color:var(--ink)}
.fld.err input.i:not([type=checkbox]){border-color:var(--err-line);background:var(--err-bg)}
.ferr{display:flex;align-items:center;gap:.35rem;color:var(--err);font-size:.85rem;margin-top:.4rem}
.auth-opts{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:-.25rem 0 1.25rem;font-size:.9rem}
.auth-opts label.row{font-size:.9rem;color:var(--tx);margin:0}
.auth-opts a{font-weight:500}
.otp{display:flex;gap:.6rem;justify-content:center;margin:0 0 1.5rem}
.otp input.i:not([type=checkbox]):not([type=radio]):not([type=file]){width:100%;max-width:56px;height:56px;padding:0;text-align:center;font-size:1.4rem;font-weight:600;color:var(--ink);border-radius:12px}
.otp input.i:focus,.otp input.i.filled{border-color:var(--p-dark);background:var(--soft)}
.timer{text-align:center;color:var(--mut);margin:1.25rem 0 0}
.timer b{color:var(--p-text);font-weight:600}
.auth-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem;padding:1.25rem 2rem;color:var(--mut);font-size:.85rem}
.auth-foot nav{gap:1rem}
.auth-foot nav a{height:auto;padding:0;color:var(--mut);gap:.4rem;background:none}
.auth-foot nav a:hover{color:var(--ink);background:none}

@media(max-width:760px){
  main{padding:1rem .75rem 2.5rem}
  .layout{grid-template-columns:minmax(0,1fr)}
  .side{position:static;display:flex;gap:.25rem;overflow-x:auto;padding:.4rem;align-items:center}
  .side>*{flex:none}.side a{white-space:nowrap}.side h4,.side .meta{display:none}.side select{width:auto}
  .hero2{padding:1.5rem 1.1rem}.hero2 h1{font-size:1.6rem}
  .auth-top,.auth-foot{padding:1rem 1.1rem}
  .auth-card{padding:1.75rem 1.25rem 1.5rem}
  .otp{gap:.4rem}
}

/* ===== shell do painel: barra lateral escura, cabeçalho, trilha ===== */
body[data-shell=panel] .top{display:none}
body[data-shell=panel] main{max-width:none;padding:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.app.collapsed{grid-template-columns:84px minmax(0,1fr)}
.sb{background:#0E0E10;color:#C7CAD1;position:sticky;top:0;align-self:start;height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:1.1rem .95rem 1rem;z-index:6}
.sb>*{flex-shrink:0}
.sb nav{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#34353B transparent;margin:0 -.2rem;padding:0 .2rem}
.sb-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.1rem .3rem 1rem;border-bottom:1px solid #25262B;margin-bottom:1rem}
.sb .brand{color:#fff;font-size:1.3rem}
.sb-collapse{width:30px;height:30px;border-radius:8px;background:#25262B;color:#C7CAD1;border:0;display:grid;place-items:center;cursor:pointer;flex:none}
.sb-collapse:hover{background:#34353B;color:#fff}
.sb select{width:100%;margin-bottom:.7rem;background:#1B1C20;border-color:#2C2D33;color:#E5E7EB}
.sb-unit{margin:0 .3rem .75rem;font-size:.8rem;color:#8B8F98}
.sb-unit b{display:block;color:#E5E7EB;font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-search{display:flex;align-items:center;gap:.6rem;width:100%;height:44px;background:#1B1C20;border:1px solid #25262B;border-radius:12px;color:#8B8F98;padding:0 .8rem;font:inherit;font-size:.92rem;cursor:pointer;text-align:left}
.sb-search:hover{border-color:#3A3B42;color:#C7CAD1}
.sb-search .lbl{flex:1}
kbd{font:inherit;font-size:.72rem;padding:.1rem .4rem;border-radius:5px;background:#2C2D33;color:#A9ADB6;border:0}
.sb-group{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:none;cursor:pointer;font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#8B8F98;margin:.55rem 0 .1rem;padding:.45rem .55rem;border-radius:8px}
.sb-group:hover{color:#fff;background:rgba(255,255,255,.06)}
.sb-group .ico{transition:transform .15s}
.grp.closed .sb-group .ico{transform:rotate(-90deg)}
.grp.closed .grp-items{display:none}
.app.collapsed .grp.closed .grp-items{display:block}
.sb a.item,.sb-foot .item{display:flex;align-items:center;gap:.75rem;width:100%;height:40px;padding:0 .8rem;border-radius:11px;color:#C7CAD1;font:inherit;font-size:.95rem;background:none;border:0;cursor:pointer;text-align:left;margin-bottom:2px}
.sb a.item:hover,.sb-foot .item:hover{background:#1B1C20;color:#fff}
.sb a.item .ico,.sb-foot .item .ico{color:#9EA2AB}
.sb a.item.on{background:var(--p);color:#1C1917;font-weight:600}
.sb a.item.on .ico{color:#1C1917}
.sb a.item.lock{color:#7C8089}
.sb a.item .lbl{flex:1}
.sb-foot{padding-top:.75rem;border-top:1px solid #25262B;margin-top:.5rem}
.sb-foot .out,.sb-foot .out .ico{color:#F2566F}
.app.collapsed .sb{padding-inline:.7rem}
.app.collapsed .sb .lbl,.app.collapsed .sb .kbds,.app.collapsed .sb-group,.app.collapsed .sb .brand span:not(.logo),.app.collapsed .sb select,.app.collapsed .sb-unit{display:none}
.app.collapsed .sb-head{flex-direction:column;padding-bottom:.8rem}
.app.collapsed .sb a.item,.app.collapsed .sb-foot .item,.app.collapsed .sb-search{justify-content:center;padding:0}
.app.collapsed .sb-collapse svg{transform:rotate(180deg)}
.content{min-width:0;display:flex;flex-direction:column;background:var(--bg)}
.hdr{display:flex;justify-content:space-between;align-items:center;gap:1rem;height:74px;padding:0 2rem;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.hdr h1{margin:0;font-size:1.3rem;letter-spacing:-.02em}
.hdr .row{gap:.75rem}
.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;cursor:pointer}
.hdr-right{display:flex;align-items:center;gap:1rem}
.bell{position:relative;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:50%;display:grid;place-items:center;color:var(--tx);cursor:pointer}
.bell:hover{background:var(--bg)}
.bell .dot{position:absolute;top:9px;right:11px;width:9px;height:9px;border-radius:50%;background:#E5484D;border:2px solid #fff}
.user{display:flex;align-items:center;gap:.65rem;padding-left:1rem;border-left:1px solid var(--line)}
.user b{display:block;font-size:.88rem;line-height:1.2;color:var(--ink)}
.user small{color:var(--mut);font-size:.78rem}
.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:700;flex:none}
.crumbs{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 2rem .25rem}
.crumb{color:var(--mut);font-size:.92rem}.crumb b{color:var(--ink);font-weight:500}.crumb i{font-style:normal;margin:0 .45rem}
.actions-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
#area{padding:1rem 2rem 3rem;min-width:0}
#area>h1:first-child{display:none}
.vsel{height:var(--h)!important;border-radius:12px!important;background:#fff;font-weight:500;padding:0 2.2rem 0 1rem!important;cursor:pointer}

/* cartões: cabeçalho/rodapé, KPI com ícone, pílulas */
.card.flush{padding:0;overflow:hidden}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem}
.card-h h2{margin:0}
.card-h+*{border-top:1px solid var(--line)}
.card-b{padding:1.25rem}
.card-f{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.25rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--tx)}
.tools{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.tbtn{display:inline-flex;align-items:center;gap:.45rem;height:var(--h);padding:0 .95rem;border:1px solid var(--line-2);background:#fff;border-radius:12px;font:inherit;font-size:.92rem;color:var(--tx);cursor:pointer}
.tbtn:hover{background:var(--bg)}
.tbtn.ico-only{width:var(--h);padding:0;justify-content:center}
.srch{display:flex;align-items:center;gap:.5rem;height:var(--h);padding:0 .8rem;border:1px solid var(--line-2);background:#fff;border-radius:12px;color:var(--mut);margin:0;position:relative}
.srch:focus-within{border-color:var(--p-dark);box-shadow:var(--ring)}
.srch input:not([type=checkbox]){border:0!important;box-shadow:none!important;height:auto!important;padding:0!important;min-width:180px;background:transparent!important;outline:none}
table.dt th{background:#F6F7F9;font-size:.85rem;text-transform:none;letter-spacing:0;color:var(--mut);font-weight:500;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
table.dt td{padding:.85rem 1rem;vertical-align:middle}
table.dt .no{width:56px;color:var(--mut)}
table.dt tbody tr:hover{background:#FCFCFD}
.perpage{display:flex;align-items:center;gap:.5rem;margin:0;font-weight:400;color:var(--mut)}
.perpage select{height:34px;width:auto;border-radius:9px}
.pager{display:flex;gap:.3rem;align-items:center}
.pager button{min-width:34px;height:34px;border:1px solid var(--line-2);background:#fff;border-radius:9px;font:inherit;font-size:.88rem;cursor:pointer;display:grid;place-items:center;padding:0 .4rem;color:var(--tx)}
.pager button:hover:not(:disabled){background:var(--bg)}
.pager button.on{background:var(--p);border-color:var(--p);color:#1C1917;font-weight:700}
.pager button:disabled{opacity:.4;cursor:not-allowed}
.pager .gap{padding:0 .3rem;color:var(--mut)}
.kpi{display:flex;flex-direction:column;gap:.1rem}
.kpi-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#FFCB3D,#F5A700);color:#1C1917;box-shadow:0 2px 6px rgba(245,167,0,.3);margin-bottom:.6rem}
.kpi-l{color:var(--mut);font-size:.9rem}
.kpi small{color:var(--mut);font-size:.78rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;height:26px;padding:0 .7rem;border-radius:99px;border:1px solid;font-size:.78rem;font-weight:500;background:#fff;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.amber{color:#B7791F;border-color:#F3C969;background:#FFFBEF}
.pill.blue{color:#1D5FD1;border-color:#9DBDF2;background:#F5F9FF}
.pill.green{color:#0F8A5F;border-color:#8ED6B8;background:#F3FBF7}
.pill.red{color:#D92D50;border-color:#F4A3B3;background:#FFF5F7}
.pill.gray{color:var(--mut);border-color:var(--line-2)}
.kebab{width:34px;height:34px;border:0;background:none;border-radius:8px;display:grid;place-items:center;color:var(--mut);cursor:pointer}
.kebab:hover{background:var(--bg);color:var(--ink)}
.person{display:flex;align-items:center;gap:.7rem}
.person b{display:block;font-weight:500;color:var(--ink);line-height:1.25}
.person small{color:var(--mut);font-size:.82rem}
.stars{display:inline-flex;gap:1px;color:#E1E4EA;vertical-align:middle}
.stars .on{color:#FDB813}
.dim-star{color:#E1E4EA}

/* menu popover */
.menu{position:fixed;z-index:60;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.14);padding:.35rem}
.menu button{display:flex;align-items:center;gap:.6rem;width:100%;height:38px;padding:0 .7rem;border:0;background:none;border-radius:8px;font:inherit;font-size:.92rem;color:var(--tx);cursor:pointer;text-align:left}
.menu button span{flex:1}
.menu button:hover,.menu button:focus-visible{background:var(--bg);outline:none}
.menu button.danger{color:var(--err)}

/* painel lateral (formulários) */
dialog.drawer{position:fixed;inset:0 0 0 auto;margin:0;height:100vh;max-height:none;width:min(480px,100vw);border-radius:22px 0 0 22px;padding:0;overflow:hidden;box-shadow:-12px 0 48px rgba(15,23,42,.25);animation:slide .22s ease-out}
@keyframes slide{from{transform:translateX(40px);opacity:0}}
.dr{display:flex;flex-direction:column;height:100%}
.dr header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}
.dr header h2{margin:0;font-size:1.15rem}
.dr .x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.dr .x:hover{background:var(--bg)}
.dr-b{flex:1;overflow:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
.dr-b .fld{display:flex;flex-direction:column;gap:.35rem}
.dr-b .fld label{margin:0}
.dr-b .fld input,.dr-b .fld select,.dr-b textarea{width:100%;height:48px;border-radius:12px;padding:0 1rem}
.dr-b textarea{height:auto;padding:.7rem 1rem}
.dr-b select:focus{background:var(--soft)}
.dr-b .hint{color:var(--mut);font-size:.82rem;margin:0}
.dr footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--line)}
.dr footer .btn{min-width:130px;height:46px}

/* paleta de comandos (⌘K) e avisos */
dialog.pal{margin:12vh auto 0;width:min(640px,92vw);padding:0;border-radius:18px;overflow:hidden}
.pal-in{display:flex;align-items:center;gap:.7rem;padding:0 1.25rem;height:60px;border-bottom:1px solid var(--line);color:var(--mut)}
.pal-in input:not([type=checkbox]){flex:1;border:0!important;box-shadow:none!important;height:100%!important;padding:0!important;font-size:1rem;outline:none}
.pal-l{padding:.75rem .75rem .5rem;max-height:340px;overflow:auto}
.pal-l h3{margin:.25rem .6rem .5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.pal-l button{display:flex;align-items:center;gap:.8rem;width:100%;height:50px;padding:0 .6rem;border:0;background:none;border-radius:10px;font:inherit;font-size:1rem;color:var(--ink);cursor:pointer;text-align:left}
.pal-l button .pi{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--mut);background:#fff}
.pal-l button.on,.pal-l button:hover{background:var(--bg)}
.pal-f{display:flex;justify-content:flex-end;gap:1rem;align-items:center;padding:.75rem 1.25rem;background:#F6F7F9;border-top:1px solid var(--line);font-size:.85rem;color:var(--mut)}
.pal-f kbd{background:#fff;border:1px solid var(--line-2);color:var(--tx)}
.pop{position:fixed;top:96px;right:2rem;width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 48px rgba(16,24,40,.16);z-index:50;overflow:hidden}
.pop header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}
.pop header h2{margin:0}
.pop-l{max-height:380px;overflow:auto}
.pop-i{display:flex;gap:.8rem;padding:.9rem 1.25rem;border-bottom:1px solid #F1F2F5}
.pop-i .pi{width:36px;height:36px;border-radius:50%;background:var(--soft);color:var(--on-soft);display:grid;place-items:center;flex:none}
.pop-i p{margin:0;font-size:.9rem}
.pop footer{padding:.9rem 1.25rem;display:flex;justify-content:flex-end}

/* dashboard */
.dash{display:grid;gap:1rem;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);margin-bottom:1rem;align-items:start}
.dash>.card{margin:0;min-width:0}
.chart-host{width:100%;min-width:0}
.chart{width:100%;height:auto;display:block}
.chart text{font:inherit;font-size:11px;fill:#8B909A}
.chart .cbar{fill:url(#bg)}
.chart .cbar:hover{opacity:.85}
.chart .avg{stroke:#FDB813;stroke-dasharray:4 4}
.chart-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}
.chart-top b{font-size:1.6rem;letter-spacing:-.02em;color:var(--ink)}
.slist{display:grid;gap:.6rem;padding:1rem}
.srow{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px}
.srow .grow{flex:1;min-width:0}
.srow b{display:block;font-weight:500;color:var(--ink)}
.srow small{color:var(--mut)}
.rating{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--ink)}
.rating .ico{color:#FDB813}

/* agenda: visões mensal, linha do horário atual, grade de equipe */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal .dow{padding:.8rem;text-align:center;font-weight:500;color:var(--tx);border-bottom:1px solid var(--line)}
.cal .day{min-height:116px;padding:.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:#fff}
.cal .day:nth-child(7n){border-right:0}
.cal .day:hover{background:#FCFCFD}
.cal .day.out{background:#FAFAFB;color:#B5B9C2}
.cal .num{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:8px;font-size:.88rem;margin-bottom:.3rem;float:right}
.cal .day.today .num{background:var(--p);color:#1C1917;font-weight:700}
.cal .ev{display:block;clear:both;font-size:.76rem;padding:.2rem .45rem;border-left:3px solid var(--p);border-radius:6px;background:#FFF8E5;margin-top:.25rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .ev.t{border-color:#2DB8A0;background:#EDFBF8}
.cal .more{clear:both;display:block;font-size:.76rem;margin-top:.3rem;color:var(--tx)}
.now-line{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--p);z-index:3;pointer-events:none}
.now-line span{position:absolute;left:2px;top:-11px;background:#fff;font-size:.7rem;font-weight:600;padding:0 .25rem;color:var(--ink)}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;padding:1.25rem}
.scard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.scard-h{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.scard-h b{flex:1;font-weight:600;color:var(--ink)}
.scard-b{padding:.9rem 1rem;display:grid;gap:.6rem;font-size:.9rem}
.scard-b div{display:flex;gap:.6rem;align-items:center;min-width:0}
.scard-b .ico{color:var(--mut)}
.scard-f{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--line)}

@media(max-width:900px){
  .app,.app.collapsed{grid-template-columns:minmax(0,1fr)}
  .sb{position:fixed;left:0;top:0;width:280px;transform:translateX(-100%);transition:transform .2s;z-index:45}
  body.nav-open .sb{transform:none;box-shadow:8px 0 32px rgba(0,0,0,.35)}
  .app.collapsed .sb .lbl,.app.collapsed .sb-group,.app.collapsed .sb .brand span:not(.logo),.app.collapsed .sb select,.app.collapsed .sb-unit{display:revert}
  .sb-collapse{display:none}
  .menu-btn{display:grid}
  .hdr,.crumbs,#area{padding-left:1rem;padding-right:1rem}
  .hdr{height:64px}.user div{display:none}.user{padding-left:.6rem}
  .dash{grid-template-columns:minmax(0,1fr)}
  .cal .day{min-height:78px;padding:.3rem}.cal .ev{display:none}
  .pop{right:.5rem;top:84px}
}

.linkish{border:0;background:none;padding:0;font:inherit;font-weight:500;color:var(--ink);cursor:pointer;text-align:left}
.linkish:hover{color:var(--p-text);text-decoration:underline}
.hint{color:var(--mut);font-size:.82rem;margin:0}
h3.sec{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut,#78716c);margin:1.2rem 0 .5rem;padding-top:.8rem;border-top:1px solid var(--line,#eee)}h3.sec:first-child{border:0;margin-top:0;padding-top:0}
.loading{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:4rem 1rem;color:var(--mut,#78716c)}
.spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--soft,#FFF7DD);border-top-color:var(--p);animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
body::before{content:"";position:fixed;top:0;left:0;height:3px;width:100%;z-index:9999;background:linear-gradient(90deg,transparent,var(--p),transparent);background-size:40% 100%;background-repeat:no-repeat;opacity:0;transition:opacity .15s;pointer-events:none}
body.busy::before{opacity:1;animation:topbar 1s ease-in-out infinite}
@keyframes topbar{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){.spin,body.busy::before{animation-duration:2s}}

.legacy-logo{display:inline-flex;align-items:center;gap:.6rem}
.sb nav{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0}
.grp,.grp-items{width:100%}
.go{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.go:hover{border-color:#1263F1;box-shadow:0 4px 14px rgba(18,99,241,.14)}
.go:focus-visible{outline:2px solid #1263F1;outline-offset:2px}
tr:has([data-open],[data-row-menu]),.scard:has([data-row-menu]){cursor:pointer}
tr:has([data-open],[data-row-menu]):hover td{background:#F4F8FF}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.75rem;margin-top:.9rem}
.ccard{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.45rem;border:1px solid var(--line-2);background:#fff;border-radius:12px;cursor:pointer;text-align:center;font:inherit;color:var(--ink)}
.ccard:hover{border-color:#1263F1;box-shadow:0 4px 14px rgba(18,99,241,.14)}
.ccard[aria-pressed=true]{border-color:#1263F1;background:#EEF4FF;box-shadow:0 0 0 2px #1263F1 inset}
.ccard .ph{width:100%;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:#E6EEFB;display:grid;place-items:center;color:#1263F1;font-size:1.6rem;font-weight:700}
.ccard .ph img,.ph34 img{width:100%;height:100%;object-fit:cover;display:block}
.ccard .ph i{font-style:normal}
.ccard b{font-size:.85rem;font-weight:600;line-height:1.15;overflow-wrap:anywhere}
.ccard small{color:var(--mut)}
.ph34{width:54px;aspect-ratio:3/4;border-radius:8px;overflow:hidden;display:block;flex:none}
.ph34 .av,.ph34>*{width:100%}
.cm-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:1.5rem;margin-top:.5rem;align-items:start}
.cm-grid h3,.cm-side h4{margin:.2rem 0 .6rem}
.cm-add{margin-top:1.1rem;padding:1rem;border:1px dashed var(--line-2);border-radius:12px;background:#F8FAFF}
.cm-add-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}
.cm-add-f .cm-q{max-width:90px}
.cm-side{border:1px solid var(--line);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.85rem;background:#fff}
.cm-side>*{margin:0}
.sum{display:grid;gap:.35rem}
.sum-r{display:flex;justify-content:space-between;color:var(--mut)}
.sum-r b{color:var(--ink);font-weight:500}
.sum-r.tot{padding-top:.4rem;border-top:1px solid var(--line);color:var(--ink)}
.sum-r.tot b{font-size:1.25rem;font-weight:700}
.sum-r.rem{padding:.55rem .7rem;border-radius:10px;background:#EEF4FF;color:#1263F1;font-weight:600}
.sum-r.rem b{color:#1263F1;font-size:1.25rem;font-weight:700}
.cm-box{padding:.8rem;border:1px solid var(--line);border-radius:12px;display:grid;gap:.5rem}
.cm-box h4{margin:0;font-size:.9rem}
.cm-box summary{cursor:pointer;font-weight:600;font-size:.9rem}
.cm-pay{display:flex;gap:.5rem;align-items:center}
.cm-pay input,.cm-pay select{flex:1;min-width:0}
.btn.block{width:100%;justify-content:center}
@media (max-width:900px){.cm-grid{grid-template-columns:1fr}}
.cm-side,.cm-side *{box-sizing:border-box}
.cm-side{min-width:0}
.cm-box{min-width:0}
.cm-pay input,.cm-pay select{width:auto;flex:1 1 0;min-width:0}
.cm-pay .btn,.cm-pay .tag{flex:none}
.cm-side .btn.block{width:100%}
.cm-add .fld,.cm-add select,.cm-add input{min-width:0;max-width:100%}
#dlg:has(.ap){width:min(640px,94vw)}
.ap-h{display:flex;align-items:center;gap:.85rem}
.ap-h h2{margin:0}.ap-h p{margin:.1rem 0 0}.ap-h .grow{flex:1;min-width:0}
.ap-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0 .2rem}
.ap h3{margin:1rem 0 .5rem;font-size:.95rem}
.ap-items{display:grid;gap:.5rem}
.ap-i{display:flex;align-items:center;gap:.9rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px}
.ap-when{display:grid;min-width:62px;text-align:center;padding-right:.9rem;border-right:1px solid var(--line)}
.ap-when b{font-size:1.1rem}.ap-when small,.ap-i small{color:var(--mut);display:block}
.ap-i .grow{flex:1;min-width:0}
.ap-p{display:grid;gap:.3rem;justify-items:end}
.ap-tot{display:flex;justify-content:space-between;padding:.2rem .85rem;font-weight:600}
.ap-act{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.ap-box{border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;margin-top:.6rem}
.ap-box summary{cursor:pointer;font-weight:600;font-size:.9rem}
.ap-box form{margin-top:.8rem}
.ap-cx{margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--line)}
.ap-log{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.55rem}
.ap-log li{display:grid;grid-template-columns:110px 1fr;gap:.6rem;font-size:.9rem}
.ap-log time{color:var(--mut);font-variant-numeric:tabular-nums}
.avatar.ph{padding:0;overflow:hidden;background:none}
.avatar.ph img{width:100%;height:100%;object-fit:cover;display:block}
.cm-t{display:flex;align-items:center;gap:.6rem}
.photo-fld input[type=file]{flex:1;min-width:0}
.rng{display:inline-flex;align-items:center;gap:.4rem}
.rng input{height:42px;width:auto}
.dashboard-period{display:inline-flex;align-items:center;gap:.35rem;min-width:0}
.dashboard-period .vsel{width:auto;min-width:0;max-width:calc(100vw - 140px);text-overflow:ellipsis}
.dashboard-period .ico-only{flex:none}
.cl-h{display:flex;gap:1rem;align-items:flex-start}
.cl-h h2{margin:0 0 .2rem;font-size:1.25rem}.cl-h p{margin:.15rem 0;color:var(--mut)}.cl-h .grow{flex:1;min-width:0}
.ph34.big{width:84px}
.cl-act{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.cl-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1rem 0}
.cl-stats div{padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px;display:grid;gap:.15rem}
.cl-stats b{font-size:1.1rem}.cl-stats span{color:var(--mut);font-size:.8rem}
.cl-tabs{margin:1.2rem 0 .4rem}
[data-pn][hidden]{display:none}
.cl-list{list-style:none;margin:.5rem 0 1rem;padding:0;display:grid;gap:.5rem}
.cl-list li{display:flex;align-items:center;gap:.8rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px}
.cl-list .grow{flex:1;min-width:0}.cl-list small{display:block;color:var(--mut)}
.cl-when{display:grid;min-width:54px;text-align:center;padding-right:.8rem;border-right:1px solid var(--line)}
.cl-when b{font-size:1rem}
.cl-r{display:grid;gap:.25rem;justify-items:end}
.cl-card{padding:.8rem;border:1px solid var(--line);border-radius:12px;margin:.5rem 0}
.cl-ans{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.25rem}
.cl-ans li{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.cl-ans span{color:var(--mut)}
.cl-danger{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
.cl-act>*{display:inline-flex;align-items:center;justify-content:center;margin:0;height:38px}
.dr-b .cl-h{margin-top:.2rem}
/* fotos de perfil sempre redondas */
.ph34,.ph34.big{aspect-ratio:1;border-radius:50%}
.ph34 img{border-radius:50%}
.ccard .ph{width:76%;margin:.2rem auto 0;aspect-ratio:1;border-radius:50%}
.ccard .ph img{border-radius:50%}
.vsel.sm{height:34px;font-size:.85rem;padding:0 .6rem;width:auto}
.card-h{gap:.75rem}
.mbar{height:6px;border-radius:99px;background:#E6EEFB;margin-top:.4rem;overflow:hidden}
.mbar i{display:block;height:100%;background:#1263F1;border-radius:99px}
.mval{font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:.25rem}
.card-h:has(.vsel.sm){flex-wrap:nowrap;align-items:center;justify-content:space-between}
.card-h .vsel.sm{flex:none;min-width:0;width:auto;max-width:150px}
.card-h .vsel.sm{max-width:180px;min-width:135px;padding-right:1.6rem}
.quota{margin-bottom:1rem}
.quota .bar{margin:.7rem 0 0}
.quota.t70 .bar i,.quota.t90 .bar i{background:#936100}
.quota.t100{border-color:#B72B42}.quota.t100 .bar i{background:#B72B42}
.qmsg{margin:.7rem 0 0;padding:.6rem .8rem;border-radius:10px;background:var(--soft)}
.quota-off{border-color:#936100;background:#FFF1D1}
.quota-off h2{margin:0 0 .3rem}
.cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.ent-l{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.35rem}
.ent-l li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.3rem 0}
.mfa-key{font:600 1.15rem/1.4 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;padding:.8rem 1rem;border-radius:12px;background:var(--soft);word-break:break-all;user-select:all}
.mfa-rec{list-style:none;margin:.5rem 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.mfa-rec li{font:600 1rem ui-monospace,Menlo,Consolas,monospace;padding:.5rem .7rem;border:1px dashed var(--line-2);border-radius:10px;text-align:center;user-select:all}
.ccard b{min-height:2.3em;display:flex;align-items:center;justify-content:center}
.ccard small{margin-top:auto}
.cl-h .cl-act.side{flex-direction:column;flex-wrap:nowrap;margin:0;align-self:flex-start;min-width:128px}
.cl-h .cl-act.side>*{width:100%;height:34px;font-size:.82rem;white-space:nowrap}
.pick{display:inline-flex;flex-direction:column;align-items:center;gap:.4rem;cursor:pointer}
.pk-c{position:relative;display:block;border-radius:50%;overflow:hidden;background:var(--soft-2,#E6EEFB)}
.pk-c img,.pk-c .avatar{width:100% !important;height:100% !important;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.pk-o{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.42);color:#fff}
.pick:hover .pk-o,.pick:focus-within .pk-o{background:rgba(0,0,0,.55)}
.pk-b{font-size:.78rem;padding:.15rem .6rem;border:1px solid var(--line-2);border-radius:6px;background:var(--card,#fff);color:var(--ink)}
.cl-h .pick{flex:none}
.pen{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;margin-left:.35rem;vertical-align:middle;border-radius:50%;border:1px solid var(--line-2);background:var(--card,#fff);color:var(--ink);cursor:pointer}
.pen:hover{border-color:#1263F1;color:#1263F1}
.pk-o{background:rgba(0,0,0,.5);opacity:1;visibility:visible}
.pk-b{display:block;opacity:1;visibility:visible}
.wa-r{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:.35rem;vertical-align:middle;border-radius:50%;background:#25D366;color:#fff !important;box-shadow:0 2px 6px rgba(37,211,102,.35)}
.wa-r:hover{filter:brightness(.92)}
.pick.hov .pk-o{opacity:0;transition:opacity .15s}
.pick.hov:hover .pk-o,.pick.hov:focus-within .pk-o{opacity:1}
.cl-ph{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:none}
.cl-ph .linkish{font-size:.78rem}
.pk-c .avatar{display:grid;place-items:center;line-height:1}
.btn.wa-c{background:#25D366;border-color:#25D366;color:#fff}
.btn.wa-c:hover{filter:brightness(.92)}
.ap-grp{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin:.6rem 0}
.ap-grp.two{grid-template-columns:1fr 1fr}
.ap-grp>.btn{display:inline-flex;align-items:center;justify-content:center;margin:0;height:42px;text-align:center}
.ap-grp.st{margin-top:1rem}
.btn.wa-o{background:transparent;border:1px solid #25D366;color:#25D366}
.ap-cx .btn{width:100%}
.ap-grp.st{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.ap-grp>.btn{height:auto;min-height:42px;white-space:normal;line-height:1.15;padding:.45rem .6rem}
.apt.s-scheduled,.ev.s-scheduled{background:rgba(245,167,0,.2) !important;border-color:#F5A700 !important}
.apt.s-confirmed,.ev.s-confirmed{background:rgba(16,185,129,.18) !important;border-color:#10B981 !important}
.apt.s-no_show,.ev.s-no_show{background:rgba(239,68,68,.18) !important;border-color:#EF4444 !important}
.ev[class*=" s-"]{border-left:3px solid}
.legend{display:flex;gap:1rem;flex-wrap:wrap;margin:.8rem 0 .2rem;font-size:.82rem;color:var(--mut)}
.legend span{display:inline-flex;align-items:center;gap:.4rem}
.legend i{width:12px;height:12px;border-radius:4px;border-left:4px solid}
.legend i.s-scheduled{background:rgba(245,167,0,.3);border-color:#F5A700}.legend i.s-confirmed{background:rgba(16,185,129,.3);border-color:#10B981}.legend i.s-no_show{background:rgba(239,68,68,.3);border-color:#EF4444}
.rowbtns{display:flex;justify-content:flex-end;gap:.4rem;white-space:nowrap}
.rowbtns .btn{min-width:84px;margin:0;display:inline-flex;align-items:center;justify-content:center}
#ecl td:last-child,#ecl th:last-child{text-align:right;width:1%}
.pager{margin-top:.8rem;align-items:center}
.pager .rowbtns{align-items:center}
.pager .btn:disabled{opacity:.45;cursor:default}
dialog.cmmodal{width:min(1040px,94vw);max-height:92vh;padding:1.25rem;position:fixed;margin:auto}
dialog.cmmodal .card.cm{border:0;box-shadow:none;padding:0;margin:0;background:transparent}
.cmx{position:absolute;top:.8rem;right:.8rem;z-index:2;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-2);background:var(--card,#fff);color:var(--ink);cursor:pointer}
dialog.cmmodal .cm-t{padding-right:2.6rem}
dialog.cmmodal .card.cm>.row.sp{padding-right:2.8rem}
.cm-add-f{grid-template-columns:1fr 1fr}
.cm-add-f .cm-q{max-width:none}
.cm-add #addit{margin-top:.9rem;height:44px}
.cf-danger{text-align:center;padding:.4rem .2rem 0}
.cf-danger h2{margin:.2rem 0 .4rem}
.cf-danger p{margin:0;color:var(--mut)}
.cf-ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(239,68,68,.14);color:#E5484D;margin-bottom:.4rem}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.3rem}
.cf-row .btn{margin:0;height:44px;display:inline-flex;align-items:center;justify-content:center}
.btn.cf-del{background:#E5484D;border-color:#E5484D;color:#fff}
.btn.cf-del:hover{filter:brightness(.92)}
/* comanda sem barra de rolagem: lateral compacta */
dialog.cmmodal{padding:1rem 1.25rem;max-height:96vh}
dialog.cmmodal .cm-grid{margin-top:.2rem;gap:1.1rem}
dialog.cmmodal .cm-side{padding:.8rem;gap:.55rem}
dialog.cmmodal .cm-box{padding:.55rem;gap:.4rem}
dialog.cmmodal .sum{display:grid;gap:.2rem}
dialog.cmmodal .cm-add{margin-top:.8rem;padding:.8rem}
dialog.cmmodal .cm-add-f{gap:.5rem}
dialog.cmmodal .cm-add .fld label{margin-bottom:.15rem}
.cm-pl{display:grid;gap:.15rem;padding-top:.3rem;border-top:1px dashed var(--line)}
.cm-fin{display:grid;grid-template-columns:1.4fr 1fr;gap:.5rem}
.cm-fin .btn{margin:0;height:44px;display:inline-flex;align-items:center;justify-content:center}
.cm-pay .btn.sm{height:38px;padding:0 .8rem;white-space:nowrap}
.cm-pay .btn.sm{padding:0 .6rem;font-size:.85rem}
.kpi{gap:0}
.kpi-h{display:flex;align-items:center;gap:.65rem;margin-bottom:.9rem}
.kpi-h .kpi-ico{margin:0;width:38px;height:38px;flex:none}
.kpi-h .kpi-l{font-size:.9rem;font-weight:500;line-height:1.2}
.kpi b{margin-top:auto}
.kpi small{margin-top:.2rem;min-height:1.1em}
.pf-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:1.2rem;align-items:start;margin-top:1rem}
.pf-grid form .card{margin:0 0 1rem}
.pf-status{margin-bottom:0}
.pf-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.pf-prev{position:sticky;top:90px}
.pf-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:.6rem 0}
.pf-card h2{margin:.3rem 0 0}
.pf-card p{margin:0}
.pf-card[style]{background:var(--card);color:var(--ink);border-radius:12px}
@media (max-width:900px){.pf-grid{grid-template-columns:1fr}.pf-prev{position:static}}
.pf-grid .fld input:not([type=checkbox]),.pf-grid .fld textarea{width:100%;max-width:none}
.pf-grid .fld input#py{width:160px}
.pp-h{display:flex;gap:1rem;align-items:center}
.pp-h h1{margin:0}
.pp-h p{margin:.15rem 0}
.pp-short{font-size:1.05rem;margin:1rem 0 0}
.pp-cta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.pp-rv{border-top:1px solid var(--line);padding:.6rem 0}
.pp-rv p{margin:.2rem 0 0}
.pf-photos{display:flex;gap:1.2rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}
.pf-cover{flex:1;min-width:220px;height:150px;border-radius:14px;border:1px dashed var(--line-2);background:var(--soft-2,#E6EEFB) center/cover;display:flex;align-items:flex-end;gap:.4rem;padding:.6rem}
.pf-port{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem}
.pf-it{border:1px solid var(--line);border-radius:12px;padding:.5rem;display:grid;gap:.4rem;background:var(--card,#fff)}
.pf-it img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.pf-it.off img{opacity:.4}
.pf-it input{width:100%}
.pf-it .btn.sm{padding:0 .5rem;height:32px}
.pf-add{display:grid;place-items:center;gap:.2rem;border:1px dashed var(--line-2);border-radius:12px;min-height:150px;cursor:pointer;color:var(--mut);font-weight:500}
.pf-add span{font-size:1.8rem;line-height:1}
.pp-cover{height:180px;border-radius:14px;background:var(--soft-2,#E6EEFB) center/cover;margin-bottom:1rem}
.pp-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}
.pp-gal figure{margin:0}
.pp-gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.pp-gal figcaption{font-size:.82rem;color:var(--mut);margin-top:.2rem}
.pf-inv{margin-bottom:1rem}
.pf-invi{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;padding:.6rem 0;border-top:1px solid var(--line)}
.pf-invi:first-of-type{border-top:0}
.pf-invi ul{margin:.4rem 0 0 1.1rem;padding:0}
.pp-rep{margin:.4rem 0 .2rem .8rem;padding:.5rem .8rem;border-left:3px solid var(--line-2);background:var(--soft-2,#F1F5FB);border-radius:0 8px 8px 0}
.pp-rep p{margin:.15rem 0 0}
.pf-rv{border-top:1px solid var(--line);padding:.6rem 0}
.pf-rv p{margin:.3rem 0}
.pf-pvg{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;width:100%}
.pf-pvg img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
/* foto de perfil sobreposta ao banner (como em perfis de redes profissionais) */
.pf-banner{position:relative;margin-bottom:.4rem}
.pf-cover{width:100%;height:150px;flex:none;min-width:0;justify-content:flex-end}
.pf-av{margin:-58px 0 0 18px;display:inline-block;position:relative}
.pf-av .pk-c{border:4px solid var(--card,#fff);box-sizing:content-box}
.pf-av .pk-b{margin-left:4px}
.pp-cover{margin-bottom:0}
.pp-h.ov{align-items:flex-start}
.pp-h.ov .avatar{margin-top:-58px;margin-left:12px;border:4px solid var(--card,#fff);box-sizing:content-box;flex:none}
.pp-h.ov .grow{padding-top:.4rem}
.pf-ovl{display:inline-block;margin-top:-42px}
.pf-ovl .avatar{border:3px solid var(--card,#fff);box-sizing:content-box}
.pf-prev .pf-card{align-items:center}
/* ---- Perfil (layout de referência): capa com recorte curvo, avatar central sobreposto, estatísticas, botões em pílula, abas ---- */
.pv{max-width:760px;margin:0 auto;background:var(--card,#fff);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.pv[style]{color:var(--ink)}
.pv-cover{position:relative;height:200px;background:var(--navy-950,#0B1930) center/cover}
.pv-cover.empty{background:linear-gradient(135deg,#0D2342,#1D7BFF)}
.pv-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.2rem 1rem;margin-top:-78px;position:relative}
.pv-av .avatar{border:4px solid var(--card,#fff);box-sizing:content-box;box-shadow:0 6px 18px rgba(11,25,48,.18)}
.pv-head h1{margin:.6rem 0 0;font-size:1.5rem}
.pv-role{margin:.1rem 0;color:var(--mut)}
.pv-loc{margin:.1rem 0;color:var(--mut);font-size:.88rem;display:inline-flex;align-items:center;gap:.25rem}
.pv-bio{margin:.7rem 0 0;max-width:46ch}
.pv-stats{display:flex;gap:2rem;justify-content:center;margin:1rem 0}
.pv-stats div{display:flex;flex-direction:column;align-items:center}
.pv-stats b{font-size:1.45rem;color:var(--p,#1263F1);line-height:1.1}
.pv-stats span{font-size:.78rem;color:var(--mut)}
.pv-btns{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.pv .btn.pv-btn{border-radius:999px;min-width:150px;display:inline-flex;align-items:center;justify-content:center;margin:0}
.pv-tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:.4rem}
.pv-tabs button{flex:1;border:0;background:transparent;padding:.85rem .4rem;font:inherit;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;cursor:pointer}
.pv-tabs button[aria-selected=true]{color:var(--p,#1263F1);border-bottom-color:var(--p,#1263F1)}
.pv-pane{padding:1rem 1.2rem 1.4rem}
.pv-empty{text-align:center;padding:1.5rem 0}
.pv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.pv-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;display:block}
.pv-list{list-style:none;margin:0;padding:0}
.pv-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--line)}
.pv-list li:first-child{border-top:0}
.pv-list small{display:block;color:var(--mut)}
.pv-pr{display:flex;align-items:center;gap:.8rem}
@media (max-width:560px){.pv{border-radius:0;border-left:0;border-right:0}.pv-cover{height:170px}.pv-stats{gap:1.2rem}.pv-grid{gap:.3rem}}
/* ---- Editar perfil (layout de referência): avatar central com selo de edição, campos com rótulo em negrito e botão em pílula ---- */
.pe-hero{margin:.9rem -1.1rem 0}
.pe-hero .pv-cover{height:170px;border-radius:14px 14px 0 0}
.pe-cvb{position:absolute;top:.7rem;right:.7rem;display:flex;gap:.4rem;z-index:1}
.pe-av{display:flex;justify-content:center;margin-top:-72px;position:relative;z-index:2}
.pe-avl{position:relative;cursor:pointer;display:block;border-radius:50%}
.pe-avl .pk-c{border:4px solid var(--card,#fff);box-sizing:content-box;box-shadow:0 6px 18px rgba(11,25,48,.18)}
.pe-badge{position:absolute;right:4px;bottom:6px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--p,#1263F1);color:var(--on-p,#fff);border:3px solid var(--card,#fff)}
.pf-grid .fld label{font-weight:700;color:var(--ink);font-size:.9rem}
.pf-grid .fld input:not([type=checkbox]),.pf-grid .fld textarea,.pf-grid .fld select{border:1.5px solid var(--line-2);border-radius:12px;min-height:46px}
.pf-grid .fld input:not([type=checkbox]):focus,.pf-grid .fld textarea:focus{border-color:var(--p,#1263F1);outline:0;box-shadow:0 0 0 3px rgba(18,99,241,.15)}
.pf-saverow{display:flex;justify-content:center;margin:.4rem 0 1rem}
.pf-save{min-width:240px;height:50px;border-radius:999px;font-weight:700;box-shadow:0 8px 20px rgba(18,99,241,.28)}
@media (max-width:560px){.pf-save{width:100%}}
/* ---- Configurações (layout de referência): grupos em listas com ícone e seta ---- */
.st-hub{max-width:640px}
.st-t{font-size:1rem;margin:1.3rem 0 .5rem}
.st-list{background:var(--soft-2,#EEF4FF);border-radius:16px;overflow:hidden}
.st-row{display:flex;align-items:center;gap:1rem;padding:.95rem 1.1rem;color:var(--ink);text-decoration:none;font-weight:600;border-top:1px solid rgba(11,25,48,.06)}
.st-row:first-child{border-top:0}
.st-row:hover{background:rgba(18,99,241,.08)}
.st-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--card,#fff);color:var(--p,#1263F1);flex:none}
.st-l{flex:1}
.st-ch{color:var(--mut);display:grid}
html[data-theme="dark"] .st-list{background:#131B2A}
html[data-theme="dark"] .st-row{border-top-color:rgba(255,255,255,.07);color:#EEF3FB}
html[data-theme="dark"] .st-ic{background:#0F1A30}

/* recorte circular e liso em volta do avatar (como na referência): a capa é "furada" por um círculo concêntrico à foto */
.pv-cover{-webkit-mask:radial-gradient(circle 74px at 50% calc(100% - 16px),transparent 73px,#000 74px);mask:radial-gradient(circle 74px at 50% calc(100% - 16px),transparent 73px,#000 74px)}
.pe-hero .pv-cover{-webkit-mask:radial-gradient(circle 74px at 50% calc(100% - 10px),transparent 73px,#000 74px);mask:radial-gradient(circle 74px at 50% calc(100% - 10px),transparent 73px,#000 74px)}
.pf-creds{list-style:none;margin:.6rem 0;padding:0}
.pf-creds li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;padding:.7rem 0;border-top:1px solid var(--line)}
.pf-creds li:first-child{border-top:0}
.pf-creds li.off b{opacity:.55}
.pf-creds small{display:block;color:var(--mut);margin:.1rem 0 .3rem}
.pv-cred{list-style:none;margin:0;padding:0}
.pv-cred li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.6rem 0;border-top:1px solid var(--line)}
.pv-cred li:first-child{border-top:0}
.pv-cred small{display:block;color:var(--mut)}
/* ícones redondos de contato e redes */
.pv-so{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff !important;text-decoration:none;box-shadow:0 4px 12px rgba(11,25,48,.18);transition:transform .12s}
.pv-so:hover{transform:translateY(-2px)}
.so-whatsapp{background:#25D366}
.so-instagram{background:linear-gradient(45deg,#f09433,#e6683c 30%,#dc2743 55%,#bc1888)}
.so-tiktok{background:#111}
.so-facebook{background:#1877F2}
.so-youtube{background:#F00}
.so-site{background:#475569}
.pv-btns{margin-top:1.1rem;align-items:center}
/* visualizador de fotos do portfólio */
.pv-g{padding:0;border:0;background:none;cursor:zoom-in;display:block}
.pv-g img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;display:block}
dialog.lb{width:100vw;height:100vh;max-width:none;max-height:none;padding:0;margin:0;background:transparent;border-radius:0;overflow:hidden;box-shadow:none}
dialog.lb::backdrop{background:rgba(5,10,20,.9)}
dialog.lb[open]{display:flex;align-items:center;justify-content:center}
dialog.lb figure{margin:0;max-width:94vw;display:flex;flex-direction:column;align-items:center;gap:.6rem}
dialog.lb img{max-width:94vw;max-height:80vh;object-fit:contain;border-radius:10px;display:block}
dialog.lb figcaption{color:#E6EEFB;font-size:.95rem;text-align:center;max-width:60ch}
.lb-x,.lb-n{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:grid;place-items:center;font:inherit}
.lb-x{top:1rem;right:1rem;width:44px;height:44px;font-size:1.1rem}
.lb-n{top:50%;width:48px;height:48px;font-size:2rem;line-height:1;transform:translateY(-50%)}
.lb-n.prev{left:1rem}.lb-n.next{right:1rem}
.lb-x:hover,.lb-n:hover{background:rgba(255,255,255,.28)}
.lb-c{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:#C5D2E6;font-size:.85rem}
/* diálogo de formulário (certificado) */
.cf-form .fld{margin:.7rem 0 0}
.cf-form .fld label{font-weight:700;font-size:.88rem;margin:0 0 .3rem}
.cf-form input:not([type=file]),.cf-form select,.cf-form textarea{width:100%;max-width:none;border:1.5px solid var(--line-2);border-radius:12px;min-height:46px}
.cf-form textarea{padding:.6rem .8rem;resize:vertical}
.cf-form .row2{display:grid;grid-template-columns:1fr 130px;gap:.8rem}
.cf-form .row2 .fld{margin-top:.7rem}
.dz{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border:1.5px dashed var(--line-2);border-radius:12px;cursor:pointer;color:var(--mut);font-weight:500;margin:0 !important}
.dz:hover{border-color:var(--p,#1263F1);color:var(--p,#1263F1)}
.dz-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--soft-2,#EEF4FF);color:var(--p,#1263F1);flex:none}
.dz span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- Fotos do perfil: layout mais limpo ---- */
.pf-grid form.stack{max-width:none}
.pe-hero{margin:.9rem 0 0}
.pe-hero .pv-cover{border-radius:14px}
.pe-hint{text-align:center;margin:.5rem 0 0;font-size:.85rem}
.pf-port{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.pf-it .row{flex-wrap:nowrap!important;justify-content:space-between}
.pf-it .row .btn.sm:nth-child(-n+2){width:32px;padding:0}
.pf-it .row .btn.sm{font-size:.8rem}
.pf-it input{min-height:38px;font-size:.88rem}
.pf-pcv{height:112px!important;border-radius:12px;background-size:cover;background-position:center;-webkit-mask:radial-gradient(circle 46px at 50% calc(100% - 4px),transparent 45px,#000 46px);mask:radial-gradient(circle 46px at 50% calc(100% - 4px),transparent 45px,#000 46px)}
.pf-ovl{margin-top:-46px}
.pf-ovl .avatar{border:4px solid var(--card,#fff)}
.pf-pvg{margin-top:.3rem}
.pe-cvb{align-items:center}
.pe-cvb .btn{display:inline-flex;align-items:center;justify-content:center;height:36px;min-height:36px;margin:0;padding:0 .9rem;line-height:1;box-sizing:border-box;white-space:nowrap}
.pf-pcv{width:100%}
.pf-port{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.pf-it{min-width:0}
.pf-it .row{gap:.3rem}
.pf-it .row .btn.sm:nth-child(n+3){flex:1;padding:0 .4rem}
/* serviços por categoria (agendamento) */
.svc[hidden]{display:none}
.svc-cats{display:flex;gap:.4rem;overflow-x:auto;padding:.2rem 0 .6rem;margin-bottom:.2rem;scrollbar-width:thin}
.svc-cats .chip[aria-pressed=true]{background:var(--p,#1263F1);border-color:var(--p,#1263F1);color:var(--on-p,#fff)}
/* Meu perfil: topo (status, desempenho, convites) */
.pf-status,.pf-perf,.pf-inv{margin:0 0 1rem}
.pf-grid{margin-top:0}
.pf-sh{display:flex;align-items:center;justify-content:space-between;gap:.8rem 1rem;flex-wrap:wrap}
.pf-sl{display:flex;align-items:center;gap:.6rem}
.pf-sl .pill{margin:0}
.pf-sa{display:flex;gap:.5rem;flex-wrap:wrap}
.pf-sa .btn{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;white-space:nowrap}
.pf-status .bar{margin:.9rem 0 .7rem}
.pf-status p{margin:.2rem 0 0}
.pf-perf h2{margin-bottom:.9rem}
.pf-perf .kpis{margin:0}
.pf-perf .kpi{padding:1rem 1.1rem 1.1rem;min-height:0}
.pf-invi{align-items:center}
.pf-invi>.row{flex:none}
.pf-invi .btn{height:40px;display:inline-flex;align-items:center;padding:0 1.1rem}
.pf-inv h2{margin-bottom:.4rem}
/* agendamento no celular */
.btn.wpp{margin-bottom:1rem}
@media (max-width:640px){
  .slots{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
  .slots .chip{justify-content:center;padding:0;width:100%}
  .slots>div{grid-column:1/-1}
  #sum .btn#ok,#see{width:100%}
  #sum label.row{align-items:flex-start;gap:.5rem;margin-top:.5rem}
  #dt{flex:1;min-width:0}
}
/* Meu perfil: serviços que atendo */
.sv-u{margin-top:.8rem}
.sv-u h3{margin:.2rem 0 .4rem}
.sv-r{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.sv-n{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0;margin:0;font-weight:500;cursor:pointer}
.sv-n span{display:flex;flex-direction:column;min-width:0}
.sv-n small{color:var(--mut);font-size:.8rem;font-weight:400}
.sv-r input[type=number]{width:140px;flex:none;min-height:42px}
.sv-u>.btn{margin-top:.8rem}
@media (max-width:640px){.sv-r{flex-wrap:wrap}.sv-r input[type=number]{width:100%}}
/* Equipe: serviços que o profissional atende */
.svbox .svr-list{display:flex;flex-direction:column}
.svr{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:.6rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line)}
.svr-n{display:flex;flex-direction:column;min-width:0}
.svr-n small{color:var(--mut);font-size:.78rem}
.svr .svr-p{min-height:40px;width:100%}
.svr-x{width:34px;height:34px;padding:0;justify-content:center}
.svr-add{gap:.5rem;margin-top:.7rem;align-items:center}
.svr-add select{flex:1;min-width:0}
@media (max-width:520px){.svr{grid-template-columns:minmax(0,1fr) auto}.svr .svr-p{grid-column:1/2}}
/* carrinho da reserva */
.card[hidden],.cartbar[hidden]{display:none}
.svc-note{margin:.2rem 0 .6rem;color:var(--mut);font-size:.9rem}
.svc-note b{color:var(--ink)}
.cart h2{margin-bottom:.4rem}
.ct-r{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:.7rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line)}
.ct-n{display:flex;flex-direction:column;min-width:0}
.ct-n small{color:var(--mut);font-size:.8rem}
.ct-p{white-space:nowrap}
.ct-x{width:32px;height:32px;padding:0;justify-content:center}
.ct-t{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.8rem;font-size:1.05rem}
.ct-t span{color:var(--mut);font-size:.9rem}
.cartbar{display:none}
@media (max-width:640px){
  .cartbar:not([hidden]){display:flex;position:sticky;bottom:0;z-index:20;align-items:center;justify-content:space-between;gap:.8rem;margin:1rem -1px 0;padding:.75rem .9rem;background:var(--card,#fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 -6px 20px rgba(11,25,48,.18)}
  .cartbar div{display:flex;flex-direction:column;min-width:0}
  .cartbar small{color:var(--mut)}
  .cartbar .btn{flex:none;height:42px}
}

/* ---- Página do estabelecimento: tema completo (variáveis vêm de A.themeStyle) ---- */
.up{max-width:820px;margin:0 auto}
.up-hi{min-width:0}
.th .btn:not(.sec):not(.light):not(.wpp),html[data-theme=dark] .th .btn:not(.sec):not(.light):not(.wpp){background:var(--p);color:var(--on-p)}
.up-tabs{margin:.2rem 0 1rem;border-radius:0}
.up-tabs button{padding:.8rem .3rem;font-size:.92rem}
.up section[hidden]{display:none}
.up-when{gap:.6rem;flex-wrap:wrap}
.up-pro{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.up-pro:last-child{border-bottom:0}
.up-pro span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}
.up-pro small{color:var(--mut)}
.up-h{display:flex;justify-content:space-between;max-width:260px;margin:.25rem 0}
@media (max-width:640px){.up-hero{padding:1.1rem .9rem}.up-logo{width:54px;height:54px;font-size:1.4rem}.up-hi h1{font-size:1.25rem}}
/* seletor de tema (painel) */
.th-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}
.th-opt{position:relative;display:flex;align-items:center;gap:.55rem;padding:.6rem .7rem;border:1.5px solid var(--line-2);border-radius:12px;cursor:pointer;font-weight:600;margin:0}
.th-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.th-opt:has(input:focus-visible){outline:2px solid var(--p-text,#1263F1);outline-offset:2px}
#nf h2{margin-top:1.6rem}
#nf h2:first-child{margin-top:0}
@media (max-width:640px){.slots>span{grid-column:1/-1}}
/* ---- Avaliações: resumo e cartões ---- */
.rvst{display:inline-block;letter-spacing:.08em;background:linear-gradient(90deg,#F5A700 var(--v),#C9CED8 var(--v));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;line-height:1}
html[data-theme=dark] .rvst{background:linear-gradient(90deg,#FBBF24 var(--v),#475569 var(--v));-webkit-background-clip:text;background-clip:text}
.rv-sum{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem 2rem;align-items:center;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:16px;margin:.6rem 0 1.1rem}
.rv-big{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:110px}
.rv-big b{font-size:3.2rem;line-height:1;color:var(--ink);letter-spacing:-.03em}
.rv-big .rvst{font-size:1.2rem}
.rv-big small{color:var(--mut)}
.rv-bars{display:flex;flex-direction:column;gap:.4rem}
.rv-b{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:.6rem;align-items:center;font-size:.85rem;color:var(--mut)}
.rv-b span i{font-style:normal;color:#F5A700}
.rv-b em{font-style:normal;text-align:right}
.rv-t{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.rv-t u{display:block;height:100%;border-radius:99px;background:#F5A700;text-decoration:none}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem}
.rv-c{border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:var(--card,#fff);display:flex;flex-direction:column;gap:.5rem}
.rv-c header{display:flex;align-items:center;gap:.7rem}
.rv-c header div{display:flex;flex-direction:column;min-width:0}
.rv-c header small{color:var(--mut);font-size:.8rem}
.rv-st{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.rv-c p{margin:0;overflow-wrap:anywhere}
.rv-c .pp-rep{margin:0}
@media (max-width:560px){.rv-sum{grid-template-columns:1fr;gap:1rem}.rv-big{flex-direction:row;gap:.8rem;justify-content:flex-start}.rv-big b{font-size:2.6rem}.rv-grid{grid-template-columns:1fr}}

/* ---- tema completo da página do estabelecimento (.up recebe as variáveis inline; prefixo html[data-theme] vence o modo escuro do sistema) ---- */
.up{background:var(--bg);color:var(--tx);border-radius:20px;padding:.2rem .2rem 1rem}
.up-hero{display:flex;align-items:center;gap:1rem;margin:.6rem 0 1rem;padding:1.3rem 1.2rem;border-radius:20px;background:linear-gradient(135deg,var(--p),var(--p-dark));color:var(--on-p)}
.up-logo{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);border:2px solid currentColor;font-size:1.7rem;font-weight:700}
.up-hi{min-width:0}
html[data-theme] .up .up-hi h1{margin:0 0 .2rem;color:var(--on-p);font-size:1.5rem;line-height:1.2}
html[data-theme] .up .up-hi p{margin:0;color:var(--on-p);font-size:.92rem;opacity:.95}
html[data-theme] .up .up-hi .star{color:inherit}
html[data-theme] .up h1,html[data-theme] .up h2,html[data-theme] .up h3,html[data-theme] .up b,html[data-theme] .up label{color:var(--ink)}
html[data-theme] .up .up-hi h1{color:var(--on-p)}
html[data-theme] .up .mut,html[data-theme] .up small,html[data-theme] .up .hint{color:var(--mut)}
html[data-theme] .up .card,html[data-theme] .up .rv-c,html[data-theme] .up .rv-sum{background:var(--card);border-color:var(--line);color:var(--tx);box-shadow:none}
html[data-theme] .up input,html[data-theme] .up select,html[data-theme] .up textarea{background:var(--card);color:var(--ink);border-color:var(--line-2);color-scheme:inherit}
html[data-theme] .up .svc,html[data-theme] .up .ct-r,html[data-theme] .up .up-pro{border-color:var(--line)}
html[data-theme] .up a:not(.btn):not(.up-pro){color:var(--p-text)}
html[data-theme] .up .chip{background:var(--card);color:var(--tx);border-color:var(--line-2)}
html[data-theme] .up .chip[aria-pressed=true]{background:var(--p);border-color:var(--p);color:var(--on-p)}
html[data-theme] .up .btn:not(.sec):not(.light):not(.wpp){background:var(--p);color:var(--on-p);border-color:transparent}
html[data-theme] .up .btn:not(.sec):not(.light):not(.wpp):hover{background:var(--p-dark)}
html[data-theme] .up .btn.sec,html[data-theme] .up .btn.light{background:var(--soft);color:var(--p-text);border-color:transparent}
html[data-theme] .up .btn.sec:hover,html[data-theme] .up .btn.light:hover{background:var(--soft-2)}
html[data-theme] .up .tag{background:var(--soft);color:var(--p-text);border-color:transparent}
html[data-theme] .up .pv-tabs{border-color:var(--line)}
html[data-theme] .up .pv-tabs button{color:var(--mut)}
html[data-theme] .up .pv-tabs button[aria-selected=true]{color:var(--p-text);border-bottom-color:var(--p-text)}
html[data-theme] .up .pp-rep,html[data-theme] .up .svc-note{background:var(--soft);color:var(--tx);border-color:transparent}
html[data-theme] .up .svc-note{background:transparent}
html[data-theme] .up .rv-t{background:var(--line)}
html[data-theme] .up .rvst{background:linear-gradient(90deg,var(--star-on,#F5A700) var(--v),var(--star-off) var(--v));-webkit-background-clip:text;background-clip:text}
html[data-theme] .up .quota-off{background:var(--soft)}
.th-opt i{width:26px;height:26px;border-radius:50%;flex:none;border:1px solid rgba(128,128,128,.45)}
.th-opt:has(input:checked){border-color:var(--p-text,#1263F1);box-shadow:0 0 0 3px rgba(18,99,241,.2)}
.th-prev{border-radius:16px;border:1px solid var(--line);padding:.9rem!important}
.th-prev .up-hero{margin:0 0 .8rem}
.th-prev-c{padding:1rem;border-radius:14px;border:1px solid var(--line);display:flex;flex-direction:column;gap:.7rem}
.th-prev-c p{margin:0}
.th-prev-r{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.th-prev-r .tabp{color:var(--p-text);font-weight:600;border-bottom:2px solid var(--p-text);padding:.3rem .2rem}
html[data-theme] .up input:not([type=checkbox]):not([type=radio]):not([type=range]),html[data-theme] .up select,html[data-theme] .up textarea{background-color:var(--card);color:var(--ink);border-color:var(--line-2)}
html[data-theme] .up select:disabled{background-color:var(--soft);color:var(--mut);opacity:1}
html[data-theme] .up .tag.ok,html[data-theme] .up .tag.warn{background:var(--soft);color:var(--p-text);border-color:transparent}
html[data-theme] .up .avatar,html[data-theme] .up .av{background:var(--soft-2);color:var(--p-text)}
html[data-theme] .up .avatar:not(.ph){background:var(--soft-2)!important;color:var(--p-text)!important}
html[data-theme] body .up .chip[aria-pressed=true]{background:var(--p);border-color:var(--p);color:var(--on-p)}

/* logo e banner da página do estabelecimento */
.up-logo{overflow:hidden}
.up-logo img{width:100%;height:100%;object-fit:cover}
.up-cv{position:relative;margin:.6rem 0 0}
.up-cvi{height:190px;border-radius:20px;background:var(--soft) center/cover no-repeat}
.up-logo-o{position:absolute;left:20px;bottom:-40px;width:92px;height:92px;border:4px solid var(--bg);background:var(--card);color:var(--p-text)}
.up-id{padding:3rem .4rem .6rem 1.2rem}
html[data-theme] .up .up-id h1{margin:0 0 .2rem;font-size:1.5rem;color:var(--ink)}
.up-id p{margin:.1rem 0}
@media (max-width:640px){.up-cvi{height:140px}.up-logo-o{width:76px;height:76px;bottom:-34px;left:14px}.up-id{padding:2.7rem .2rem .4rem .8rem}}
html[data-theme] .rv-b i{color:var(--star-on,#C77700)}
html[data-theme] .rv-t u{background:var(--star-on,#C77700)}
html[data-theme] .up .rv-b i{color:var(--star-on,#C77700)}
.nmd-lg{display:flex;align-items:center;gap:1rem;margin-top:.9rem;flex-wrap:wrap}
.nmd-lg .pk-c{display:block}
.pe-hero .pv-cover.empty{background:var(--soft-2,#E6EEFB)}

/* fotos do ambiente */
.up-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}
.up-ph{position:relative;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:var(--soft)}
.up-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.up-ph:hover img{transform:scale(1.04)}
.up-ph span{position:absolute;left:0;right:0;bottom:0;padding:1.2rem .7rem .5rem;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:.85rem;text-align:left}
@media (max-width:560px){.up-gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.up-tabs{overflow-x:auto;scrollbar-width:none}
.up-tabs::-webkit-scrollbar{display:none}
.up-tabs button{white-space:nowrap;flex:1 0 auto;padding-left:.8rem;padding-right:.8rem}
.dr-b h3.sec:first-child,.dr-b>h3.sec:first-of-type{border-top:0;padding-top:0;margin-top:.2rem}
html[data-theme="dark"] .dr-b h3.sec:first-child{border-top:0}

/* aviso de novo agendamento (na frente de tudo, até ser visto) */
dialog.newap{border:0;border-radius:22px;padding:1.6rem 1.6rem 1.3rem;width:min(92vw,440px);background:var(--card,#fff);color:var(--tx);box-shadow:0 24px 70px rgba(0,0,0,.45);text-align:center}
dialog.newap::backdrop{background:rgba(5,10,25,.72)}
.na-ic{width:68px;height:68px;margin:0 auto .7rem;border-radius:50%;display:grid;place-items:center;background:var(--p);color:var(--on-p);animation:na-ring 1.2s ease-in-out infinite}
@keyframes na-ring{0%,100%{transform:rotate(0);box-shadow:0 0 0 0 rgba(18,99,241,.5)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(0);box-shadow:0 0 0 18px rgba(18,99,241,0)}}
@media (prefers-reduced-motion:reduce){.na-ic{animation:none}}
dialog.newap h2{margin:0 0 .8rem;font-size:1.3rem}
.na-l{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:40vh;overflow:auto;text-align:left}
.na-l li{display:grid;gap:.1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.na-l span,.na-l time{color:var(--mut);font-size:.9rem}
.na-l time{font-weight:600;color:var(--ink)}
.na-b{display:flex;gap:.6rem}
.na-b .btn{flex:1;height:46px}

/* ---- área do cliente (Minha conta) ---- */
.cl-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 1.2rem;align-items:center;padding:1.2rem 1.3rem;margin:.4rem 0 1rem;border:1px solid var(--line);border-radius:20px;background:var(--card,#fff)}
.cl-av .avatar{border:3px solid var(--soft-2,#E6EEFB)}
.cl-who h1{margin:0 0 .15rem;font-size:1.45rem}
.cl-who p{margin:0;overflow-wrap:anywhere}
.cl-hb{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.cl-hb .btn{gap:.4rem}
.cl-tabs{margin:0 0 1rem}
.cl-tabs button{flex:1}
.cl-h{margin:1.2rem 0 .6rem;font-size:1.05rem}
.cl-h:first-child{margin-top:.2rem}
.cl-ap{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);margin-bottom:.8rem}
.cl-dt{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;background:var(--soft);color:var(--on-soft);padding:.5rem 0;height:fit-content}
.cl-dt b{font-size:1.6rem;line-height:1}
.cl-dt span{text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.05em}
.cl-bd header{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.cl-bd h3{margin:0;font-size:1.05rem}
.cl-bd header p{margin:.15rem 0 0}
.cl-it{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-direction:column}
.cl-it li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line)}
.cl-it span:first-child{display:flex;flex-direction:column;min-width:0}
.cl-it small{color:var(--mut)}
.cl-pr{align-items:flex-end;display:flex;flex-direction:column;gap:.4rem;white-space:nowrap;font-weight:600}
.cl-bd footer{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.7rem;border-top:1px solid var(--line)}
.cl-ac{display:flex;gap:.5rem;flex-wrap:wrap}
.cl-empty{padding:1.6rem 1rem;text-align:center;border:1px dashed var(--line-2);border-radius:16px}
.cl-empty p{margin:0 0 .9rem;color:var(--mut)}
.cl-wl{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;margin-bottom:.6rem;background:var(--card,#fff)}
.cl-wl p{margin:.15rem 0 0}
.cl-more summary,.cl-link summary{cursor:pointer;font-weight:600;color:var(--p-text,#1263F1);padding:.6rem 0}
.cl-link{margin-top:1.4rem;padding:.4rem 1rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff)}
.cl-bn{padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);margin-bottom:.8rem}
.cl-bn h3{margin:0 0 .4rem}
.cl-nt{padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;margin-bottom:.5rem;background:var(--card,#fff)}
.cl-nt p{margin:.2rem 0 0}
.cl-note{margin-top:1rem;font-size:.85rem}
@media (max-width:640px){
  .cl-head{grid-template-columns:auto minmax(0,1fr)}
  .cl-hb{grid-column:1/-1;justify-content:stretch}
  .cl-hb .btn{flex:1}
  .cl-who h1{font-size:1.25rem}
  .cl-ap{grid-template-columns:1fr;gap:.6rem}
  .cl-dt{flex-direction:row;gap:.4rem;justify-content:flex-start;padding:.4rem .8rem;width:fit-content}
  .cl-dt b{font-size:1.1rem}
  .cl-ac .btn{flex:1}
}

/* diálogo Fechar caixa */
.cx-f{display:flex;flex-direction:column;gap:.9rem}
.cx-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--on-soft)}
.cx-f h2{margin:0}
.cx-f p{margin:0}
.cx-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.cx-g .fld{margin:0}
.cx-g label{font-weight:600;font-size:.9rem}
.cx-in{position:relative;margin-top:.3rem}
.cx-in span{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--mut);font-size:.9rem;pointer-events:none}
.cx-in input{width:100%;padding-left:2.4rem;-moz-appearance:textfield}
.cx-in input::-webkit-outer-spin-button,.cx-in input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cx-t{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-radius:12px;background:var(--soft);color:var(--on-soft)}
.cx-t b{font-size:1.15rem;color:var(--ink)}
@media (max-width:480px){.cx-g{grid-template-columns:1fr}}
#dlg .cx-in input{padding-left:2.6rem!important}
.cx-f .fld select,.cx-f .fld input:not([type=number]){width:100%}
.cx-g select{width:100%}

/* relatório de fechamento de caixa */
.cxr h2{margin:0 0 .2rem}
.cxr-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.9rem 0}
.cxr-k div{padding:.6rem .7rem;border-radius:12px;background:var(--soft);display:flex;flex-direction:column}
.cxr-k span{font-size:.75rem;color:var(--mut)}
.cxr-k b{font-size:1rem}
.cxr-m{list-style:none;margin:0;padding:0}
.cxr-m li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line)}
.cxr-m span{display:flex;flex-direction:column;min-width:0}
.cxr-m small{color:var(--mut)}
.cxr-d{margin:.9rem 0;padding:.7rem .9rem;border-radius:12px;font-weight:600}
.cxr-d.good{background:rgba(21,128,61,.14);color:var(--ok,#15803D)}
.cxr-d.bad{background:rgba(217,45,80,.14);color:var(--err,#D92D50)}
.cxr-a{display:flex;gap:.6rem;flex-wrap:wrap}
.cxr-a .btn{flex:1;white-space:nowrap}
@media (max-width:520px){.cxr-k{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* CRM */
.crm-tabs{margin-bottom:1rem}
.crm-l{list-style:none;margin:.6rem 0 0;padding:0}
.crm-l li{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 0;border-top:1px solid var(--line)}
.crm-l .person{display:flex;align-items:center;gap:.8rem;min-width:0}
.crm-l .person>span{display:flex;flex-direction:column;min-width:0}
.crm-ac{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.nav-bdg{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--p);color:var(--on-p);font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}
@media (max-width:640px){.crm-ac{width:100%}.crm-ac .btn{flex:1}}

/* promoções: pop-up na página do estabelecimento e prévia no painel */
.pm-badge{display:inline-block;padding:.25rem .7rem;border-radius:99px;background:var(--p);color:var(--on-p);font-size:.8rem;font-weight:800;letter-spacing:.03em;margin-bottom:.6rem}
.pm-code{display:inline-block;margin:.3rem 0 1rem;padding:.5rem .9rem;border:2px dashed var(--p);border-radius:12px;color:var(--ink)}
.pm-code b{letter-spacing:.08em}
.pm-c{text-align:center;padding:1.4rem 1.2rem;border-radius:20px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.4rem}
.pm-c h3{margin:0;font-size:1.3rem}
.pm-c p{margin:0 0 .3rem}
.pm-prev{margin-bottom:1rem;padding:1rem;border-radius:16px;background:rgba(0,0,0,.14)}
.pm-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}
.pm-it.off{opacity:.7}
.pm-h{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.pm-h h3{margin:0 0 .15rem}
.pm-h p{margin:0}
.pm-f{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.6rem;padding-top:.7rem;border-top:1px solid var(--line)}
html[data-theme] .up dialog.promo-dlg{border:0;border-radius:24px;padding:2rem 1.6rem 1.4rem;width:min(92vw,400px);background:var(--card);color:var(--tx);text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.5);overflow:visible}
.promo-dlg::backdrop{background:rgba(5,10,25,.72);animation:pm-fade .25s}
.promo-dlg[open]{animation:pm-pop .32s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pm-pop{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}
@keyframes pm-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.promo-dlg[open],.promo-dlg::backdrop{animation:none}}
.promo-dlg h2{margin:0 0 .5rem;font-size:1.5rem;line-height:1.2;color:var(--ink)}
.promo-dlg p{margin:0 0 .8rem}
.pm-x{position:absolute;top:.7rem;right:.7rem;width:36px;height:36px;border:0;border-radius:50%;background:var(--soft);color:var(--ink);cursor:pointer;font-size:1rem}
.pm-cta{width:100%;height:48px;font-size:1rem}
.pm-no{display:block;margin:.8rem auto 0;border:0;background:none;color:var(--mut);cursor:pointer;font:inherit}

/* livro do caixa: entradas em verde, saídas em vermelho */
.lg-sum{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 .6rem}
.lg-sum>span{padding:.5rem .9rem;border-radius:12px;font-size:.9rem;display:inline-flex;gap:.5rem;align-items:baseline}
.lg-sum span.lg-in,.lg-v.lg-in{color:var(--ok,#15803D)}
.lg-sum span.lg-out,.lg-v.lg-out{color:var(--err,#D92D50)}
.lg-sum span.lg-in{background:rgba(21,128,61,.14)}
.lg-sum span.lg-out{background:rgba(217,45,80,.14)}
.lg-sum .lg-bal{background:var(--soft);color:var(--on-soft)}
.lg-sum .lg-bal.neg b{color:var(--err,#D92D50)}
.lg-v{display:inline-block;padding:.2rem .6rem;border-radius:8px;font-weight:700;white-space:nowrap}
.lg-v.lg-in{background:rgba(21,128,61,.14)}
.lg-v.lg-out{background:rgba(217,45,80,.14)}

.crumb:empty{display:none}

/* janela de nova despesa */
dialog.formpop{width:min(94vw,940px);max-height:92vh;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--card,#fff);color:var(--tx);overflow:hidden}
dialog.formpop::backdrop{background:rgba(5,10,25,.7)}
dialog.formpop form{display:flex;flex-direction:column;max-height:92vh}
dialog.formpop header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line)}
dialog.formpop header h2{margin:0}
.fp-b{padding:1.1rem 1.4rem;overflow:auto;display:flex;flex-direction:column;gap:1rem}
.fp-s{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:0;min-width:0}
.fp-s legend{padding:0 .5rem;font-weight:700;font-size:.95rem}
.fp-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem 1rem}
.fp-g .fp-w2{grid-column:span 2}
.fp-c{grid-template-columns:repeat(3,minmax(0,1fr))}
.fp-g .fld{margin:0}
.fp-g .fld[hidden]{display:none}
.fp-g label,.fld>label{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.88rem;margin-bottom:.3rem}
.fp-g input,.fp-g select,.fp-s select{width:100%;max-width:none}
.fp-ck{margin:.7rem 0 .2rem;font-weight:500}
.fp-r{margin-top:.6rem}
.fp-rs{margin:.6rem 0 0;font-weight:600}
.fp-rs.ok{color:var(--ok,#15803D)}
.fp-rs.warn{color:var(--warn,#B45309)}
.req{color:var(--err,#D92D50);font-style:normal}
dialog.formpop footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.4rem;border-top:1px solid var(--line)}
@media (max-width:760px){.fp-g,.fp-c{grid-template-columns:1fr 1fr}.fp-g .fp-w2{grid-column:span 2}}
@media (max-width:480px){.fp-g,.fp-c{grid-template-columns:1fr}.fp-g .fp-w2{grid-column:auto}}
.fp-g{grid-template-columns:repeat(3,minmax(0,1fr))}
.fp-g label,.fld>label{justify-content:flex-start;gap:.2rem}
.fp-g label[for=ne_sup]{justify-content:space-between}
@media (max-width:760px){.fp-g,.fp-c{grid-template-columns:1fr 1fr}.fp-g .fp-w2{grid-column:span 2}}
@media (max-width:480px){.fp-g,.fp-c{grid-template-columns:1fr}.fp-g .fp-w2{grid-column:auto}}
/* nova despesa: seções numeradas e cronograma */
dialog.formpop header p{margin:.15rem 0 0;font-size:.9rem}
.fp-b{gap:1.1rem;background:var(--bg,transparent)}
.fp-s{background:var(--card,#fff);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem}
.fp-t{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem!important;font-size:1rem;text-transform:none;letter-spacing:0}
.fp-t small{font-weight:500;color:var(--mut)}
.fp-n{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:var(--p);color:var(--on-p);font-size:.8rem;font-weight:700;flex:none}
.fp-s .hint{margin:-.2rem 0 .9rem}
.fp-due{margin-bottom:.9rem}
.fp-due input{max-width:260px}
.fp-sh,.fp-sr{display:grid;grid-template-columns:3rem minmax(150px,1fr) minmax(130px,1fr) minmax(220px,2fr);gap:.6rem;align-items:center}
.fp-sh{padding:0 .2rem .4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.fp-sr{padding:.45rem .2rem;border-top:1px solid var(--line)}
.fp-i{font-weight:700;color:var(--ink)}
.fp-i small{color:var(--mut);font-weight:500}
.fp-sr input{width:100%;max-width:none;min-height:40px}
.fp-sch{max-height:42vh;overflow:auto}
.fp-e{margin:0;padding:1rem;text-align:center;border:1px dashed var(--line-2);border-radius:12px}
dialog.formpop footer{justify-content:space-between;align-items:center}
.fp-fb{display:flex;gap:.6rem}
@media (max-width:760px){
  .fp-sh{display:none}
  .fp-sr{grid-template-columns:2rem 1fr 1fr;grid-template-areas:"i d v" "b b b"}
  .fp-sr .fp-i{grid-area:i}.fp-sr input[data-f=due]{grid-area:d}.fp-sr .cx-in{grid-area:v}.fp-sr input[data-f=barcode]{grid-area:b}
  dialog.formpop footer{flex-direction:column;align-items:stretch}.fp-fb{justify-content:flex-end}
}
dialog.formpop .cx-in input{padding-left:2.6rem!important}

/* Como chegar */
.up-act{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.up-act .btn.wpp{margin-bottom:0}
.up-act .btn{gap:.4rem}
.pv-btn2{background:transparent!important;color:var(--p-text,#1263F1)!important;border:1.5px solid currentColor;gap:.4rem}
.pv-loc{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.7rem 0;border-top:1px solid var(--line)}
.pv-loc .btn{gap:.35rem}

/* perfil público: ações redondas e serviços com "+" */
.up-act{align-items:center}
.up-so{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff !important;text-decoration:none;box-shadow:0 4px 12px rgba(11,25,48,.18);transition:transform .12s}
.up-so:hover{transform:translateY(-2px)}
.up-so.so-whatsapp{background:#15803D}
.up-so.so-instagram{background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF)}
.svc{display:flex;align-items:center;gap:.7rem;padding:.75rem 0}
.svc-cb{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.svc .svc-n{flex:1;min-width:0;cursor:pointer}
.svc-m{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:0}
.svc-m b{white-space:nowrap;font-size:.92rem}
.svc-who{font-size:.76rem;color:var(--mut);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.svc-pro,.svc-add{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--tx);cursor:pointer;margin:0;padding:0}
.svc-pro.on{border-color:var(--p,#1263F1);color:var(--p,#1263F1)}
.svc-add{background:var(--p,#1263F1);border-color:var(--p,#1263F1);color:var(--on-p,#fff);font-size:1.4rem;font-weight:600;line-height:1}
.svc-cb:checked~.svc-add span{display:none}
.svc-cb:checked~.svc-add::before{content:"✓";font-size:1.05rem}
.svc-cb:checked~.svc-add{background:transparent;color:var(--p,#1263F1)}
.svc-cb:focus-visible~.svc-add{outline:3px solid var(--p,#1263F1);outline-offset:2px}
.who-list{display:grid;gap:.5rem;margin-top:.6rem}
.who-o{display:flex;align-items:center;gap:.7rem;text-align:left;width:100%;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:12px;background:transparent;color:inherit;cursor:pointer;font:inherit}
.who-o span:last-child{display:flex;flex-direction:column;min-width:0}
.who-o small{color:var(--mut)}
.who-o[aria-pressed=true]{border-color:var(--p,#1263F1);box-shadow:inset 0 0 0 1px var(--p,#1263F1)}
.who-av{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soft,#eef2f7);flex:none}
.svc .svc-add{flex:none;width:38px;font-size:1.4rem}
.ct-w{width:32px;height:32px}

/* botão de voltar */
.back{display:inline-flex;align-items:center;gap:.35rem;min-height:38px;padding:0 .9rem .0 .6rem;margin:.2rem 0 .6rem;border:1px solid var(--line);border-radius:999px;background:var(--card,transparent);color:var(--tx,inherit);font-weight:600;font-size:.88rem;text-decoration:none;transition:background .12s,transform .12s}
.back::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 .15rem 0 .25rem}
.back:hover{background:rgba(127,127,127,.14);color:inherit}
.back:active{transform:scale(.97)}
a.btn,a.btn:hover,a.btn:focus-visible{text-decoration:none}
dialog:has(.cxr-w){width:min(94vw,860px);max-width:94vw}.cxr-w .scroll,.cxr-w table{max-width:100%}
.formpop label.fp-ck{display:flex;align-items:center;gap:.6rem;font-weight:500}.formpop label.fp-ck input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;margin:0;padding:0}

/* Planos AURA */
.pl-h{margin:0 0 1.2rem}.pl-h h2{margin:0 0 .3rem;font-size:1.35rem}
.pl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch}
.pl-card{display:flex;flex-direction:column;gap:.9rem;padding:1.3rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.pl-card.on{border-color:var(--p,#1263F1);box-shadow:0 0 0 2px var(--p,#1263F1) inset}
.pl-card header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pl-card h3{margin:0;font-size:1.15rem}
.pl-tag{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:var(--p,#1263F1);color:var(--on-p,#fff)}
.pl-price{display:flex;align-items:baseline;gap:.25rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.pl-price b{font-size:1.6rem;letter-spacing:-.02em}.pl-price span{color:var(--mut)}
.pl-ft{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;flex:1;font-size:.92rem}
.pl-ft li{display:flex;gap:.55rem;align-items:flex-start}.pl-ft i{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.75rem;font-weight:700;background:var(--ok-bg,#E3F6EA);color:var(--ok,#0F7B3F)}
.pl-ft li.off{color:var(--mut)}.pl-ft li.off i{background:var(--soft,#EEF3FB);color:var(--mut)}
.pl-card .btn{width:100%;justify-content:center}
@media (max-width:1100px){.pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pl-grid{grid-template-columns:minmax(0,1fr)}}

/* Avaliações: cartão compacto, notas em linhas e cinco estrelas lado a lado. */
.review-dialog{width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:24px;border-radius:var(--aura-radius-modal);box-sizing:border-box}
.review-dialog h2{text-align:center;margin:0 0 8px;font-size:22px}
.review-intro{text-align:center;color:var(--mut);margin:0 0 20px;font-size:14px;line-height:1.5}
body[data-brand="aura"] .review-dialog .review-form{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin:0}
.review-ratings{display:grid;gap:16px;padding:18px 16px;background:var(--bg);border:1px solid var(--line);border-radius:var(--aura-radius-card)}
.review-rating{border:0;padding:0;margin:0;min-width:0;width:100%}.review-rating legend{font-weight:600;margin:0 0 4px;font-size:14px;color:var(--ink)}
body[data-brand="aura"] .review-dialog .review-stars{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:2px;width:max-content;max-width:100%;margin-inline:auto}
body[data-brand="aura"] .review-dialog .review-stars label{position:relative;display:grid;place-items:center;flex:0 1 44px;min-width:40px;width:44px;height:44px;margin:0;cursor:pointer;color:var(--line-2);border-radius:8px}
.review-stars input{position:absolute;opacity:0;width:1px;height:1px}.review-stars svg{display:block;width:32px;height:32px;fill:currentColor;pointer-events:none}
body[data-brand="aura"] .review-dialog .review-stars label.selected{color:var(--p)}body[data-brand="aura"] .review-dialog .review-stars label:focus-within{outline:2px solid var(--p);outline-offset:2px}
@media (hover:hover){body[data-brand="aura"] .review-dialog .review-stars label:hover{color:var(--p);background:var(--soft)}}
.review-notes{border:1px solid var(--line);border-radius:var(--aura-radius-control);padding:12px 14px}
.review-notes summary{font-size:13px;font-weight:600;color:var(--mut);cursor:pointer}
.review-notes[open] summary{margin-bottom:12px}.review-notes-body{display:grid;gap:12px}
.review-notes textarea{width:100%;min-height:92px;resize:vertical;box-sizing:border-box}
.review-image{display:grid;gap:8px}.review-image small{font-size:11px;line-height:1.5}.review-image p{margin:0;font-size:12px}.review-image p:empty{display:none}
.review-form .actions{margin:0;display:block}.review-form .actions .btn{width:100%;min-height:46px;border-radius:var(--aura-radius-control)}
.review-dialog> .row:last-child{justify-content:center}.review-dialog> .row:last-child .btn{background:transparent;color:var(--mut);box-shadow:none}
.review-preview,.review-photo{display:block;max-width:100%;width:180px;max-height:180px;object-fit:contain;border-radius:var(--r)}
.review-preview[hidden]{display:none}
.review-stars .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:420px){.review-dialog{padding:20px}.review-ratings{padding:16px 12px}.review-dialog h2{font-size:20px}}

.review-dialog .review-form> *{width:100%;box-sizing:border-box}

/* Cabeçalho: controles próximos sem reduzir a área de toque. */
body[data-brand="aura"] .hdr-right{gap:8px}
body[data-brand="aura"] .hdr-right .theme-btn{margin-right:0}
body[data-brand="aura"] .hdr-right .user{padding-left:8px;gap:8px}
body[data-brand="aura"] .top{column-gap:8px}
body[data-brand="aura"] .top #thm-top,body[data-brand="aura"] .top #pf-top{margin:0}

/* Fidelidade */
.fd{display:grid;gap:1rem}.fd .card{margin:0}
.fd-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.8rem}
.fd-mode{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;background:transparent;font-weight:400}
.fd-mode input{position:absolute;opacity:0;pointer-events:none}.fd-mode b{font-size:1.02rem}.fd-mode small{color:var(--mut);line-height:1.35}
.fd-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--soft,#EEF3FB);color:var(--p,#1263F1)}
.fd-mode:has(input:checked){border-color:var(--p,#1263F1);box-shadow:0 0 0 1px var(--p,#1263F1) inset;background:var(--soft,#EEF3FB)}
.fd-mode:has(input:checked) .fd-ic{background:var(--p,#1263F1);color:var(--on-p,#fff)}
.fd-mode:has(input:focus-visible){outline:3px solid var(--p,#1263F1);outline-offset:2px}
.fd-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem;margin-top:.8rem}.fd-g .fld{margin:0}.fd-g .fld[hidden]{display:none}.fd-g small{display:block;margin-top:.3rem}
.fd-sum{margin-top:1.1rem;padding:.9rem 1rem;border-radius:12px;background:var(--soft,#EEF3FB);border:1px solid var(--line)}.fd-sum p{margin:.25rem 0 0}
.fd-on{display:flex;gap:.8rem;align-items:flex-start;cursor:pointer}.fd-on span{display:flex;flex-direction:column;gap:.15rem}.fd-on input{margin-top:.25rem}
@media (max-width:760px){.fd-modes,.fd-g{grid-template-columns:minmax(0,1fr)}}
.fd{margin-bottom:1rem}
/* Avaliações: notas individuais por estrelas e imagem opcional. */
.review-form{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem}
.review-section{display:grid;gap:.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.review-rating{border:0;padding:0;margin:0;min-width:0}.review-rating legend{font-weight:600;margin-bottom:.4rem}
.review-stars{display:flex;gap:2px}.review-stars label{position:relative;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;color:var(--mut);border-radius:var(--r)}
.review-stars input{position:absolute;opacity:0;width:1px;height:1px}.review-stars span[aria-hidden]{font-size:34px;line-height:1}
.review-stars label.selected{color:var(--p)}.review-stars label:focus-within{outline:2px solid var(--p);outline-offset:2px}
.review-preview,.review-photo{display:block;max-width:100%;width:220px;max-height:220px;object-fit:contain;border-radius:var(--r);margin-top:.5rem}
.review-preview[hidden]{display:none}
.review-stars .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fd-w{grid-column:1/-1}.fd-rw{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .8rem;margin:.4rem 0}@media (max-width:760px){.fd-rw,.fd-svc{grid-template-columns:minmax(0,1fr)}}
.fd-reward{order:2}.fd-g .fld.fd-reward>label:first-child{margin-bottom:.1rem}
.fd-reward .fd-modes{margin:.5rem 0 1rem}
.fd-det{padding:1rem 1.1rem;border:1px dashed var(--line-2,var(--line));border-radius:12px;display:grid;gap:.45rem}.fd-det[hidden]{display:none}.fd-det>label{font-weight:600}
.fd-pct{position:relative;width:150px}.fd-pct input{padding-right:2.2rem}.fd-pct span{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);color:var(--mut);font-weight:600}
.fd-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.fd-chk{display:flex;align-items:center;gap:.6rem;margin:0;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-weight:500}.fd-chk span{flex:1;min-width:0}.fd-chk small{color:var(--mut)}
.fd-chk input{width:18px;height:18px;margin:0;flex:none}.fd-chk:has(input:checked){border-color:var(--p,#1263F1);background:var(--soft,#EEF3FB)}
.fd-pct input{width:100%}
.fd-lead{margin:-.3rem 0 1rem}
.fd-prog{transition:border-color .15s}.fd-prog.on{border-color:var(--p,#1263F1)}
.fd-ph{display:flex;align-items:center;gap:.9rem}.fd-ph h2{margin:0 0 .15rem}.fd-ph p{margin:0}.fd-ph .grow{flex:1;min-width:0}
.fd-prog:not(.on) .fd-ic{background:var(--soft,#EEF3FB);color:var(--mut)}.fd-prog.on .fd-ic{background:var(--p,#1263F1);color:var(--on-p,#fff)}
.fd-sw{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-weight:600;margin:0;white-space:nowrap}.fd-sw input{position:absolute;opacity:0;pointer-events:none}
.fd-sw i{width:44px;height:26px;border-radius:999px;background:var(--line-2,#D6DAE1);position:relative;transition:background .15s}.fd-sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.fd-sw input:checked+i{background:var(--p,#1263F1)}.fd-sw input:checked+i::after{transform:translateX(18px)}.fd-sw input:focus-visible+i{outline:3px solid var(--p,#1263F1);outline-offset:2px}
.fd-body{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}.fd-body[hidden]{display:none}
@media (max-width:640px){.fd-ph{flex-wrap:wrap}.fd-ph .grow{flex-basis:calc(100% - 60px)}}

/* seletor de data: ícone do calendário na cor do texto (contraste bom em qualquer tema) */
input[type=date]::-webkit-calendar-picker-indicator{opacity:1;width:20px;height:20px;padding:0;cursor:pointer;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}
input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.8}

/* Operação de hoje: colunas de largura fixa, alinhadas à esquerda e na mesma linha base */
@media (min-width:600px){.op-t table{table-layout:fixed;width:100%}.op-t th:nth-child(1),.op-t td:nth-child(1){width:15%}.op-t th:nth-child(2),.op-t td:nth-child(2){width:30%}.op-t th:nth-child(3),.op-t td:nth-child(3){width:30%}.op-t th:nth-child(4),.op-t td:nth-child(4){width:25%}
  .op-t th,.op-t td{text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding-block:.7rem}.op-t td:first-child{white-space:nowrap}}

/* notas clicáveis nas avaliações */
button.rv-b{width:100%;padding:.25rem .4rem;margin:0 -.4rem;border:0;border-radius:10px;background:transparent;font:inherit;cursor:pointer;text-align:left}
button.rv-b:hover{background:var(--soft,rgba(127,127,127,.12))}
button.rv-b[aria-pressed=true]{background:var(--soft,rgba(127,127,127,.15));box-shadow:inset 0 0 0 1.5px var(--p,#1263F1);color:var(--ink,inherit)}
button.rv-b:focus-visible{outline:3px solid var(--p,#1263F1);outline-offset:1px}
.rv-flt{margin:.9rem 0 0}.rv-c[hidden]{display:none}

/* relatório de recorrência / clientes */
.crm-f{display:flex;flex-direction:column;gap:.5rem;margin:.9rem 0}.crm-f .chips{display:flex;flex-wrap:wrap;gap:.4rem}
.crm-rt .crm-ac{display:flex;flex-wrap:wrap;gap:.4rem}.crm-rt td small{font-size:.78rem}
.crm-bd{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1rem}
.crm-bd{padding:.7rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--soft,#EEF3FB);margin:0 0 1rem}

/* categorias de serviços */
.cat-l{margin-top:1rem;display:grid}.cat-r{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.cat-r:last-child{border-bottom:0}

/* agenda: setas ao redor da caixa de visão/período */
.vnav{display:inline-flex;align-items:center;gap:.4rem}.vnav .vsel{min-width:190px}

/* mapa e contatos nas abas Sobre */
.up-map{margin:.5rem 0 1rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:var(--soft,#EEF3FB)}.up-map iframe{display:block;width:100%;height:100%;border:0}
.pv-hr{margin:.4rem 0 1rem}.pv-hr summary{cursor:pointer;font-weight:600;padding:.3rem 0}
/* Metas mensais: leitura por cartão, detalhes do ritmo diário recolhidos. */
.goals-section{display:grid;gap:20px}.goals-heading h2{margin:0 0 4px;font-size:22px}.goals-heading p{margin:0;color:var(--mut);font-size:14px}
.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}
.goal-card{padding:20px;border:1px solid var(--line);border-radius:var(--aura-radius-card);background:var(--card,var(--aura-surface));min-width:0}
.goal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.goal-head>div{min-width:0}
.goal-head h3{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}.goal-scope{font-size:12px;color:var(--mut);margin:4px 0 0}
.goal-percent{font-size:28px;line-height:1.15;white-space:nowrap;color:var(--p);font-variant-numeric:tabular-nums}.goal-percent small{font-size:16px;margin-left:2px}
.goal-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.goal-values span{display:block;color:var(--mut);font-size:12px;margin-bottom:4px}.goal-values b{display:block;font-size:17px;line-height:1.4;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.goal-track{height:10px;border-radius:99px;background:var(--soft-2);overflow:hidden}.goal-track i{display:block;height:100%;border-radius:inherit;background:var(--p)}
.goal-status{font-size:13px;color:var(--mut);margin:12px 0 0}.goal-status b{color:var(--ink);font-weight:600}
.goal-reached .goal-status{color:var(--ok);font-weight:600}.goal-reached .goal-percent{color:var(--ok)}.goal-reached .goal-track i{background:var(--ok)}
.goal-details{border-top:1px solid var(--line);padding-top:12px;margin-top:16px;font-size:12px}.goal-details summary{cursor:pointer;color:var(--mut)}.goal-details p{margin:8px 0 0;color:var(--mut)}.goal-details b{color:var(--ink);font-weight:600}
.goal-caption{font-size:13px;line-height:1.5;margin:10px 0 0;font-variant-numeric:tabular-nums}.goal-caption span{color:var(--mut)}
.goals-overview .goals-grid{padding:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.goal-compact{padding:16px;background:transparent}.goal-compact .goal-head{margin-bottom:12px}.goal-compact .goal-percent{font-size:22px}.goal-compact .goal-status{margin-top:6px}
.goals-method{color:var(--mut);font-size:12px;line-height:1.6}.goals-method summary{cursor:pointer}.goals-method p{margin:8px 0 0;max-width:720px}
@media(max-width:420px){.goal-card{padding:16px}.goal-values b{font-size:16px}.goal-percent{font-size:26px}}

/* Gerenciamento de estoque */
.stock-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.stock-toolbar h2{margin-bottom:.3rem}
.stock-toolbar p{margin:0}
.stock-toolbar .row{white-space:nowrap}
.stock-meta{display:block;margin-top:.25rem}
.stock-in{color:var(--p-text,var(--p));font-weight:600}
.stock-out{color:var(--mut);font-weight:600}
/* diálogo de agendamento sem cadastro */
dialog.gd-dlg>.row:last-child{display:none}
.gd{position:relative}
.gd h2{margin:0 2rem .25rem 0}
.gd>.mut{margin:0 0 1rem}
.gd-x{position:absolute;top:-.25rem;right:-.25rem;width:2rem;height:2rem;border:0;border-radius:50%;background:transparent;color:inherit;opacity:.6;font-size:1rem;cursor:pointer}
.gd-x:hover{opacity:1;background:rgba(128,128,128,.18)}
.gd .f{grid-template-columns:1fr}
.gd .f .actions .btn{width:100%;justify-content:center;padding:.8rem 1rem;font-size:1rem}
.gd-or{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0 .9rem;opacity:.55;font-size:.85rem}
.gd-or::before,.gd-or::after{content:"";flex:1;height:1px;background:currentColor;opacity:.4}
.gd-alt{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.gd-alt .btn{justify-content:center;text-align:center;text-decoration:none}

/* ordem de chegada: coluna por profissional */
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;align-items:start}
.qcol{display:flex;flex-direction:column;gap:.6rem}
.qcol>header{padding-bottom:.6rem;border-bottom:1px solid var(--line-2)}
.qcol small{display:block}
.qcard{display:flex;flex-direction:column;gap:.5rem;padding:.65rem;border:1px solid var(--line-2);border-radius:12px}
.qcard.called{border-color:#1263F1;background:rgba(18,99,241,.08)}
.qact{display:flex;flex-wrap:wrap;gap:.35rem}

.qcard[draggable=true]{cursor:grab}
.qcard.dragging{opacity:.4}
.qcol{min-height:140px;transition:box-shadow .12s}
.qcol.over{box-shadow:0 0 0 2px #1263F1 inset}
@media(max-width:640px){.qgrid{grid-template-columns:1fr}.qact .btn{flex:1}}

/* ordem de chegada em formato de agenda */
.qboard{display:grid;grid-template-columns:52px repeat(var(--qn),minmax(170px,1fr));overflow:auto;max-height:calc(100vh - 170px);border:1px solid var(--line-2);border-radius:14px;background:var(--card,#fff)}
.qh{position:sticky;top:0;z-index:3;padding:.55rem .6rem;background:inherit;border-bottom:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.qh small{display:block}
.qg{position:sticky;left:0;z-index:2;background:inherit;position:sticky}
.qh.qg{z-index:4;border-left:0}
.qg span{position:absolute;left:0;right:6px;text-align:right;font-size:.72rem;opacity:.6;transform:translateY(-.5em)}
.qc{position:relative;border-left:1px solid var(--line-2);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--qh) - 1px),var(--line-2) calc(var(--qh) - 1px),var(--line-2) var(--qh))}
.qc.over{box-shadow:0 0 0 2px #1263F1 inset}
.qb{position:absolute;left:4px;right:4px;overflow:hidden;padding:.15rem .4rem;border-radius:8px;font-size:.8rem;line-height:1.25;white-space:nowrap;text-overflow:ellipsis;border:1px solid #1263F1;background:rgba(18,99,241,.14);cursor:grab}
.qb.called{background:rgba(18,99,241,.35)}
.qb.busy{border-color:rgba(128,128,128,.5);background:rgba(128,128,128,.18);cursor:default}
.qb.dragging{opacity:.4}
.qnow{position:absolute;left:0;right:0;height:0;border-top:2px solid #e5484d;pointer-events:none;z-index:1}
.qempty{position:absolute;top:.5rem;left:.5rem;right:.5rem;margin:0;font-size:.8rem;pointer-events:none}

.qghost{position:absolute;left:4px;right:4px;z-index:2;padding:.15rem .4rem;border-radius:8px;border:2px dashed #1263F1;background:rgba(18,99,241,.22);font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;pointer-events:none}
.qghost.bad{border-color:#e5484d;background:rgba(229,72,77,.2)}
.qoff{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,rgba(128,128,128,.12) 0 6px,transparent 6px 12px);pointer-events:none}
.qb.pinned{border-style:solid;border-width:2px}

.qbubble{position:fixed;z-index:9999;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .85rem;border-radius:14px;background:#171717;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.35);pointer-events:none;transform:rotate(-1.5deg);animation:qpop .12s ease-out}
.qbubble b{font-size:1.7rem;line-height:1;letter-spacing:-.02em}
.qbubble span{font-size:.8rem;opacity:.85}
.qbubble small{font-size:.72rem;opacity:.65}
.qbubble::after{content:"";position:absolute;left:-6px;top:calc(50% - 6px);width:12px;height:12px;background:inherit;transform:rotate(45deg);border-radius:2px}
.qbubble.bad{background:#c8323a}
@keyframes qpop{from{transform:scale(.85) rotate(-1.5deg);opacity:0}to{transform:scale(1) rotate(-1.5deg);opacity:1}}
/* Administração da plataforma */
.sa-admin{display:grid;grid-template-columns:232px minmax(0,1fr);gap:28px;align-items:start}
.sa-sidebar{position:sticky;top:88px;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:20px 12px}
.sa-brand{display:flex;align-items:center;gap:10px;padding:0 10px 20px;border-bottom:1px solid var(--line);color:var(--p)}
.sa-brand b{display:block;color:var(--ink);font-size:17px}.sa-brand small{display:block;font-size:11px;color:var(--mut);margin-top:3px}
.sa-sidebar nav{display:block;width:100%}
.sa-nav-group{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;width:100%;padding-top:20px}.sa-nav-group>span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding:0 12px 6px;font-weight:700}
.sa-nav-group button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:46px;border:0;background:transparent;color:var(--mut);font:inherit;font-size:12px;font-weight:500;text-align:left;border-radius:10px;padding:10px 12px;margin:0;line-height:18px;cursor:pointer}
.sa-nav-group button>.ico{justify-self:center}.sa-nav-group button>span{min-width:0}
.sa-nav-group button:hover{background:var(--soft);color:var(--ink)}.sa-nav-group button[aria-current=page]{background:var(--soft);color:var(--p-text);font-weight:700;box-shadow:inset 3px 0 var(--p)}
.sa-back{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:18px 10px 0;margin-top:22px;font-size:12px;color:var(--mut)}
.sa-content{min-width:0}.sa-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 24px}.sa-heading>div{min-width:0}
.sa-eyebrow{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--mut)}.sa-heading h1{font-size:28px;margin:7px 0 8px}.sa-heading p{font-size:13px;color:var(--mut);margin:0;max-width:540px;line-height:1.6}.sa-heading>.tbtn{flex:none}
.sa-content #tb{display:grid;gap:18px}.sa-content #tb>.card{margin:0}.sa-content .kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:12px}.sa-content .kpi{min-width:0;padding:16px}.sa-content .kpi>b{font-size:23px;overflow-wrap:anywhere}.sa-content .kpi .kpi-l{font-size:11px}
.sa-overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.sa-overview-grid>.card{margin:0;min-width:0}
.sa-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.sa-card-title h2{font-size:14px;margin:0}.sa-card-title .linkish,.sa-card-title>.mut{font-size:11px;white-space:nowrap}
.sa-distribution{margin:18px 0}.sa-distribution>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px;color:var(--mut)}.sa-distribution b{color:var(--ink);font-variant-numeric:tabular-nums}.sa-track{height:7px;background:var(--soft-2);border-radius:99px;overflow:hidden}.sa-track i{height:100%;display:block;border-radius:inherit}
.sa-activity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sa-activity>div{border-left:2px solid var(--line);padding-left:16px}.sa-activity span{display:block;font-size:11px;color:var(--mut)}.sa-activity b{display:block;font-size:26px;margin-top:8px;color:var(--ink);font-variant-numeric:tabular-nums}
.sa-account b{display:block;font-weight:600}.sa-account small,.sa-sub{display:block;color:var(--mut);font-size:11px;margin-top:4px;overflow-wrap:anywhere}.sa-account{min-width:160px}.sa-content .tc .card-h{flex-wrap:wrap}.sa-content .tc .tools{flex-wrap:wrap}.sa-content .tc .srch{width:160px}
.sa-note{font-size:12px;line-height:1.6;color:var(--mut);padding:4px 0}.sa-note summary{cursor:pointer}.sa-empty{padding:24px 0;color:var(--mut);font-size:13px;text-align:center}
.sa-content .cat-r{flex-wrap:wrap}.sa-content .cat-r>.row{flex-wrap:wrap}.sa-content #kf{flex-wrap:wrap!important}
@media(max-width:1000px){.sa-admin{grid-template-columns:216px minmax(0,1fr);gap:18px}.sa-content .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-overview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sa-admin{grid-template-columns:1fr;gap:22px}.sa-sidebar{position:static;padding:12px;min-width:0}.sa-brand{padding:2px 4px 12px}.sa-sidebar nav{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding:10px 0 2px}.sa-nav-group{display:contents}.sa-nav-group>span{display:none}.sa-nav-group button{width:auto;white-space:nowrap;flex:none;padding:10px 12px;margin:0}.sa-nav-group button[aria-current=page]{box-shadow:inset 0 -2px var(--p)}.sa-back{display:none}.sa-heading{align-items:flex-start;gap:8px;margin:0 0 20px}.sa-heading h1{font-size:24px}.sa-heading>.tbtn{font-size:11px;padding:0 8px}.sa-heading p{font-size:12px}.sa-activity{grid-template-columns:1fr;gap:18px}.sa-activity>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.sa-activity b{margin:0;font-size:24px}.sa-content .kpi{padding:14px}.sa-card-title{flex-wrap:wrap}.sa-content .tc .srch{width:100%}.sa-content .tc .tools{width:100%}.sa-content .f{grid-template-columns:1fr}}
.sa-content #tb>*{min-width:0}.sa-content .scroll{max-width:100%}

.qbubble.flip::after{left:auto;right:-6px}
.qghost{background:linear-gradient(rgba(18,99,241,.22),rgba(18,99,241,.22)),var(--card,#fff)}
.qghost.bad{background:linear-gradient(rgba(229,72,77,.2),rgba(229,72,77,.2)),var(--card,#fff)}

/* painel do cliente na ordem de chegada */
.qd{min-width:0}
.qd-h{display:flex;align-items:center;gap:.8rem;margin:0 2rem .9rem 0}
.qd-h h2{margin:0 0 .25rem;font-size:1.15rem}
.qd-info{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}
.qd-info>div{padding:.55rem .65rem;border:1px solid var(--line-2);border-radius:10px;min-width:0}
.qd-info small{display:block;font-size:.7rem;opacity:.65;text-transform:uppercase;letter-spacing:.04em}
.qd-info b{display:block;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qd .f{grid-template-columns:1fr 1fr}
.qd .f .fld:nth-child(3){grid-column:1/-1}
.qd .f .actions .btn{width:100%;justify-content:center}
.qd-hint{margin:.5rem 0 1rem;font-size:.8rem}
.qd-st{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;margin-bottom:.6rem}
.qd-st .btn{justify-content:center}
.qd-open{width:100%;justify-content:center}
@media(max-width:480px){.qd .f{grid-template-columns:1fr}.qd-info{grid-template-columns:1fr 1fr}}

/* editor de plano (admin) */
dialog.pe-dlg{width:min(720px,94vw)}
.pe-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem 1rem}
.pe-g.pe-b{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line-2)}
.pe-r{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}
.pe-r.chk{flex-direction:row;align-items:center;gap:.5rem}
.pe-r input[type=number]{width:100%}
.pe-r .row>label{display:flex;align-items:center;gap:.35rem;white-space:nowrap;font-weight:400}
/* admin: menu lateral encostado à esquerda, altura total, conteúdo ocupa o resto da tela */
@media(min-width:761px){
  main:has(.sa-admin){max-width:none;margin:0;padding:0}
  .sa-admin{grid-template-columns:248px minmax(0,1fr);gap:0;min-height:calc(100vh - 59px)}
  .sa-sidebar{top:59px;height:calc(100vh - 59px);border-radius:0;border-width:0 1px 0 0;overflow:auto}
  .sa-content{padding:28px 32px;min-width:0}
}

/* admin: visão geral */
.sa-sec{margin:1.2rem 0 .6rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.sa-sec:first-child{margin-top:0}
.sa-bars{width:100%;height:auto;display:block;color:var(--ink)}
.sa-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin:0 .2rem 0 .5rem}

/* calendário e horários da página de reserva */
.cal2{margin:.4rem 0 1.2rem}
.cal2-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.cal2-h b{font-size:1.1rem;text-transform:none}
.cal2-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer}
.cal2-nav:disabled{opacity:.35;cursor:default}
.cal2-w,.cal2-g{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}
.cal2-w span{text-align:center;font-size:.72rem;letter-spacing:.06em;opacity:.6;padding:.3rem 0 .5rem}
.cal2-d{aspect-ratio:1.15;border-radius:14px;border:1px solid var(--line-2);background:transparent;color:inherit;font:inherit;font-size:1rem;cursor:pointer;padding:0}
.cal2-d:disabled{opacity:.3;cursor:default;border-color:transparent}
.cal2-d:not(:disabled):hover{border-color:var(--p)}
.cal2-d[aria-pressed=true]{background:var(--p);color:var(--on-p);border-color:var(--p);font-weight:700}
.hr-h{margin:1.2rem 0 .2rem}
.hr-d{margin:0 0 .7rem;opacity:.75;text-transform:none}
.hr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.hr-pill{height:48px;border-radius:16px;border:1px solid var(--line-2);background:transparent;color:inherit;font:inherit;font-size:1rem;cursor:pointer}
.hr-pill:disabled{opacity:.3;cursor:default}
.hr-pill:not(:disabled):hover{border-color:var(--p)}
.hr-pill[aria-pressed=true]{background:var(--p);color:var(--on-p);border-color:var(--p);font-weight:700}
.hr-msg{grid-column:1/-1;margin-top:.4rem}
@media(max-width:420px){.cal2-w,.cal2-g{gap:.3rem}.cal2-d{border-radius:12px}}
