/* RH ONFITNESS · estilos compartilhados. Marca: #FDB913 (amarelo) e #231F20 (grafite). */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--wash);color:var(--ink);font:16px/1.45 Calibri,Carlito,"Segoe UI",system-ui,-apple-system,sans-serif}
main{max-width:1180px;margin:auto;padding:22px clamp(14px,4vw,32px) 90px}
main.narrow{max-width:760px}
h1{font-size:clamp(26px,4.4vw,38px);letter-spacing:-.02em;margin:6px 0 14px;line-height:1.1}
h2{font-size:21px;margin:4px 0 12px}
h3{font-size:16px;margin:18px 0 8px}
p,small,.muted{color:var(--muted)}
a{color:var(--ink)}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:12px 0}
.card>h2:first-child,.card>h3:first-child{margin-top:0}
details.card>summary{cursor:pointer;font-weight:700;list-style:none}
details.card>summary::before{content:'▸ ';color:var(--muted)}
details.card[open]>summary::before{content:'▾ '}
form{display:grid;gap:12px;margin:12px 0}
form.inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
label{display:grid;gap:4px;font-size:14px;font-weight:650}
input,select,textarea,button,.btn{font:inherit;border-radius:9px;padding:10px 13px;border:1px solid var(--line);max-width:100%;background:#fff;color:var(--ink)}
input[type=checkbox]{width:20px;height:20px;padding:0}
textarea{min-height:70px}
button,.btn{background:var(--yellow);border-color:var(--yellow);font-weight:700;cursor:pointer;width:fit-content;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:#fff;border-color:var(--line)}
button.danger{background:#fff;border-color:#b3261e;color:#8c1d18}
button.small{padding:6px 10px;font-size:14px}
button:disabled{opacity:.5;cursor:not-allowed}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.row{border-top:1px solid var(--line);padding:11px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.row>span:not(.badge){flex:1;min-width:200px}
.note{background:var(--tint);padding:12px 14px;border-radius:10px;color:var(--ink)}
.note.warn{background:#fde8e6}
.note.ok{background:#e7f4ea}
output:not(:empty),.out:not(:empty){display:block;padding:10px 12px;background:var(--tint);border-radius:10px;margin-top:8px;overflow-wrap:anywhere}
.out.error:not(:empty){background:#fde8e6}
#error:empty{display:none}
#error{background:#fde8e6;padding:12px 14px;border-radius:10px}
.badge{display:inline-block;border-radius:20px;padding:2px 10px;font-size:13px;font-weight:700;background:#eee;white-space:nowrap}
.badge.wait,.badge.Pendente,.badge.Aguardando{background:var(--tint)}
.badge.okay,.badge.Aprovado,.badge.Fechado{background:#dff0e3;color:#185c2b}
.badge.bad,.badge.Devolvido,.badge.Revogado,.badge.Reaberto{background:#fde8e6;color:#8c1d18}
.badge.Cancelado{background:#eee;color:#555}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;margin:6px 0 14px;background:#fff;border:1px solid var(--line);border-radius:12px;scrollbar-width:thin}
.tabs button{background:transparent;border:0;border-radius:8px;padding:9px 13px;font-weight:700;color:var(--muted);white-space:nowrap}
.tabs button.active{background:var(--yellow);color:var(--ink)}
.tabs button .count{display:inline-block;min-width:20px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px;padding:0 6px;margin-left:6px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:6px 0 12px}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:7px 9px}
th{background:#f4f2ef;font-weight:700;position:sticky;top:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr.weekend td{background:#faf8f4}
tr.today td{box-shadow:inset 3px 0 var(--yellow)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}
.kpis div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px;color:var(--muted)}
.kpis strong{display:block;font-size:22px;color:var(--ink)}
.userbar{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}
.userbar a{color:var(--ink)}
.sched td{min-width:92px;font-size:13px}
.sched td.cell{cursor:pointer}
.sched td.cell:hover{background:var(--tint)}
.sched .shift{display:block;font-weight:700}
.sched .off{color:var(--muted)}
.issues li{margin:4px 0}
.hidden,[hidden]{display:none!important}
.receipt{border:2px dashed var(--ink);border-radius:12px;padding:14px;background:#fff;font-variant-numeric:tabular-nums}
.mirror h2{margin-bottom:2px}
.mirror .sub{margin:0 0 8px}
.mirror td.adj{font-style:italic}
.printonly{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body{background:#fff;font-size:11px}
  header.brandbar,.tabs,.toolbar,.noprint,nav,button,#error,.userbar{display:none!important}
  main{padding:0;max-width:none}
  .card{border:0;padding:0;margin:0 0 6px}
  .mirror{break-after:page}
  .mirror:last-child{break-after:auto}
  .printonly{display:block}
  .tablewrap{overflow:visible;border:0}
  th{position:static}
  tr{break-inside:avoid}
  thead{display:table-header-group}
  td,th{padding:2px 4px}
  table{font-size:9.5px}
  h2{font-size:15px;margin:0}
  h3{font-size:12px;margin:6px 0 2px}
  .mirror .sub,.mirror p,.mirror li{font-size:9.5px;margin:2px 0}
  .kpis{grid-template-columns:repeat(8,1fr);gap:4px;margin:4px 0}
  .kpis div{padding:3px 6px;font-size:9px;border-radius:5px}
  .kpis strong{font-size:12px}
  .note{padding:4px 8px;font-size:10px}
  .printonly img{width:80px}
}
@media(max-width:600px){
  .row>span:not(.badge){min-width:0}
  th,td{padding:6px}
}
