
/* TONCAR UI v1.2
   Linguagem visual clara, funcional e responsiva para celular, tablet e desktop.
*/
:root{
  --primary:#ef7a24;
  --primary-dark:#d96515;
  --primary-soft:#fff3e8;
  --navy:#0f172a;
  --navy-2:#172033;
  --bg:#f4f6f8;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --line:#dbe3ea;
  --line-strong:#c9d4df;
  --text:#111827;
  --muted:#667085;
  --muted-2:#8491a3;
  --success:#079455;
  --success-soft:#ecfdf3;
  --danger:#d92d20;
  --danger-soft:#fef3f2;
  --warning:#b54708;
  --warning-soft:#fffaeb;
  --info:#175cd3;
  --shadow:0 8px 24px rgba(15,23,42,.06);
  --shadow-sm:0 2px 8px rgba(15,23,42,.05);
  --r-sm:8px;
  --r-md:12px;
  --r-lg:16px;
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
  background:var(--bg)!important;
  color:var(--text)!important;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font:inherit}

/* ---------- Marca ---------- */
.brand-logo-slot{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}
.brand-logo-slot img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.brand-logo-slot .logo-placeholder{
  display:none;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.brand-logo-slot.logo-missing .logo-placeholder{display:block}

/* ---------- Site público ---------- */
.main-wrapper{
  width:100%;
  max-width:1080px!important;
  margin:0 auto;
  padding:28px 18px 120px!important;
}
.app-header{
  background:var(--navy)!important;
  color:#fff!important;
  padding:34px 30px!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:var(--shadow)!important;
  text-align:center;
  position:relative;
  overflow:hidden;
  margin-bottom:18px!important;
}
.app-header::after{display:none!important}
.public-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.public-logo{
  width:min(230px,58vw)!important;
  height:88px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  margin:0 auto 10px!important;
}
.public-logo img{padding:0!important}
.powered-tonos{
  display:flex;
  align-items:center;
  gap:8px;
  margin:-2px 0 10px;
  color:#d1d5db;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.powered-tonos img{width:118px;height:30px;object-fit:contain}
.footer-tonos{display:inline-flex;align-items:center;gap:8px}
.footer-tonos img{width:112px;height:30px;object-fit:contain}
.brand-badge{
  display:inline-flex!important;
  align-items:center;
  min-height:24px;
  background:rgba(255,255,255,.08)!important;
  color:#f3f4f6!important;
  border:1px solid rgba(255,255,255,.12)!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  font-size:.7rem!important;
  font-weight:700!important;
  letter-spacing:.07em!important;
  text-transform:uppercase;
  margin-bottom:11px!important;
}
.app-header h1{
  color:#fff!important;
  font-size:clamp(1.65rem,4vw,2.15rem)!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
  margin:0!important;
}
.app-header p{
  color:#cbd5e1!important;
  font-size:.94rem!important;
  max-width:620px!important;
  margin:9px auto 0!important;
  line-height:1.6!important;
}

.step-progress{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin-bottom:18px!important;
  box-shadow:none!important;
}
.step-item{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  color:var(--muted)!important;
  border-radius:12px!important;
  padding:12px 10px!important;
  font-size:.83rem!important;
  font-weight:700!important;
  text-align:left!important;
}
.step-num{
  width:28px!important;
  height:28px!important;
  min-width:28px;
  margin:0!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:#eef2f6!important;
  border:0!important;
  border-radius:8px!important;
  color:#64748b!important;
  font-size:.78rem!important;
  font-weight:800!important;
}
.step-item.active{
  border-color:#f5b582!important;
  color:var(--text)!important;
  background:#fffaf6!important;
}
.step-item.active .step-num{
  background:var(--primary)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
.step-item.completed{
  border-color:#a6dfc2!important;
  color:#087443!important;
  background:#f5fff9!important;
}
.step-item.completed .step-num{
  background:var(--success)!important;
  color:#fff!important;
  border:0!important;
}

.content-card{
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  padding:28px!important;
  box-shadow:var(--shadow-sm)!important;
  margin-bottom:0!important;
}
.section-title{
  color:var(--text)!important;
  font-size:1.18rem!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  padding-bottom:14px!important;
  margin-bottom:20px!important;
  border-bottom:1px solid var(--line)!important;
}
.services-grid{gap:12px!important}
.service-card{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  padding:18px!important;
  box-shadow:none!important;
}
.service-card:hover{
  border-color:#f2b17d!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
.service-card.selected{
  background:#fffaf6!important;
  border-color:var(--primary)!important;
}
.service-info h3{color:var(--text)!important}
.service-info p{color:var(--muted)!important}
.service-bottom{border-top-color:var(--line)!important}
.service-price{color:var(--primary-dark)!important}
.checkbox-custom{
  background:#fff!important;
  border-color:var(--line-strong)!important;
  color:#fff!important;
}
.service-card.selected .checkbox-custom{
  background:var(--primary)!important;
  border-color:var(--primary)!important;
}
.promo-tag{
  background:var(--success)!important;
  color:#fff!important;
  box-shadow:none!important;
}

.date-picker-card{
  max-width:560px!important;
  background:var(--surface-soft)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  padding:18px!important;
  box-shadow:none!important;
  gap:16px!important;
}
.date-picker-card:focus-within{
  border-color:#f2ad76!important;
  box-shadow:0 0 0 4px rgba(239,122,36,.10)!important;
}
.date-picker-icon{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--primary-soft)!important;
  color:var(--primary-dark)!important;
  border-radius:12px!important;
  font-size:0!important;
}
.date-picker-icon svg{width:26px;height:26px;display:block}
.notice-box{
  background:var(--warning-soft)!important;
  border:1px solid #fedf89!important;
  color:#7a2e0e!important;
  border-radius:10px!important;
}
.notice-icon{
  display:inline-flex;
  width:24px;height:24px;
  align-items:center;justify-content:center;
  border-radius:50%;
  background:#f79009;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  flex:0 0 auto;
}

.form-label{
  color:#344054!important;
  font-weight:700!important;
  font-size:.82rem!important;
}
.form-control{
  width:100%;
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid var(--line-strong)!important;
  border-radius:9px!important;
  outline:none!important;
  box-shadow:none!important;
  color-scheme:light!important;
}
.form-control::placeholder{color:#98a2b3!important}
.form-control:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(239,122,36,.10)!important;
}
.time-slot{
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
}
.time-slot:hover:not(.disabled){border-color:var(--primary)!important;color:var(--primary-dark)!important}
.time-slot.selected{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.time-slot.selected .time-slot-vagas{color:#cbd5e1!important}
.time-slot-vagas{color:var(--muted)!important}
#horariosSection h3{color:var(--text)!important}

.summary-card{
  background:var(--surface-soft)!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.summary-card h3,.summary-card strong{color:var(--text)!important}
.summary-row{border-bottom-color:var(--line)!important}
.summary-row span{color:var(--muted)!important}
#summaryTotal{color:var(--success)!important}

.footer-action-bar{
  background:rgba(255,255,255,.96)!important;
  border-top:1px solid var(--line)!important;
  box-shadow:0 -8px 24px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(10px);
}
.total-label{color:var(--muted)!important}
.total-value{color:var(--navy)!important}
.btn-action{
  border-radius:9px!important;
  background:var(--primary)!important;
  color:#fff!important;
}
#btnVoltar{
  background:#eef2f6!important;
  color:var(--text)!important;
}
.site-footer{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px 16px;
  flex-wrap:wrap;
  color:#7b8794;
  font-size:.72rem;
  text-align:center;
  padding:18px 20px;
}
.public-site-footer{max-width:1080px;margin:0 auto 88px}

/* ---------- Painel administrativo ---------- */
.login-overlay{
  background:#0f172a!important;
  backdrop-filter:none!important;
}
.login-card{
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
}
.login-card h2{color:var(--text)!important}
.login-card p{color:var(--muted)!important}

.admin-header{
  background:#fff!important;
  color:var(--text)!important;
  border-bottom:1px solid var(--line)!important;
  padding:12px 24px!important;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.admin-brand{gap:14px!important}
.admin-brand .brand-logo-slot{
  width:72px!important;
  height:54px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.admin-brand-copy{display:flex;flex-direction:column;gap:4px}
.admin-brand h1{
  color:var(--navy)!important;
  font-size:1.02rem!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
.admin-brand-meta{display:flex;align-items:center;gap:7px}
.status-badge-live,.version-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  font-size:.67rem;
  font-weight:700;
}
.status-badge-live{
  background:var(--success-soft)!important;
  color:#027a48!important;
  border:1px solid #abefc6!important;
}
.status-badge-live::before{background:#12b76a!important;width:6px!important;height:6px!important}
.version-badge{background:#f2f4f7;color:#475467;border:1px solid #e4e7ec}
#lblUserNome{color:#667085!important}
.admin-header a{color:#475467!important}
.container{
  width:100%;
  max-width:1440px!important;
  padding:22px 20px!important;
}
.stats-grid{gap:12px!important;margin-bottom:14px!important}
.stat-card{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  padding:18px!important;
  box-shadow:none!important;
}
.stat-card:hover{border-color:var(--line-strong)!important}
.stat-card p{
  color:var(--muted)!important;
  font-size:.69rem!important;
  letter-spacing:.06em!important;
}
.stat-card h3{color:var(--navy)!important;font-weight:800!important}
.stats-grid{grid-template-columns:minmax(420px,1.65fr) minmax(210px,.75fr) minmax(280px,1fr)!important;align-items:stretch}
.day-agenda-card{min-width:0}.day-agenda-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.day-agenda-head h3{font-size:1.05rem!important;margin-top:3px}.day-agenda-head label{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.day-agenda-head label span{color:#667085;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.day-agenda-head input{width:145px;height:32px!important;padding:5px 8px!important;font-size:.7rem!important}.day-agenda-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:7px;margin-top:13px}.day-slot{display:flex;min-width:0;min-height:64px;padding:9px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc;flex-direction:column;justify-content:center}.day-slot strong{color:#101828;font-size:.78rem}.day-slot span{margin-top:2px;color:#344054;font-size:.7rem;font-weight:800}.day-slot small{margin-top:3px;color:#98a2b3;font-size:.55rem}.day-slot.is-open{border-color:#abefc6;background:#ecfdf3}.day-slot.is-open span{color:#067647}.day-slot.is-low{border-color:#fedf89;background:#fffaeb}.day-slot.is-low span{color:#b54708}.day-slot.is-full{border-color:#fecdca;background:#fef3f2}.day-slot.is-full span{color:#b42318}.day-slot.is-blocked{border-color:#e4e7ec;background:#f2f4f7}.day-slot.is-blocked span{color:#667085}.day-agenda-closed{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed #d0d5dd;border-radius:10px;background:#f8fafc}.day-agenda-closed strong{color:#344054;font-size:.73rem}.day-agenda-closed span{color:#667085;font-size:.65rem;text-align:right}
@media(max-width:1100px){.stats-grid{grid-template-columns:1fr 1fr!important}.day-agenda-card{grid-column:1/-1}}
@media(max-width:680px){.day-agenda-head{align-items:flex-end}.day-agenda-head label span{display:none}.day-agenda-head input{width:138px}.day-agenda-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.day-slot{min-height:60px}.day-agenda-closed{align-items:flex-start;flex-direction:column}.day-agenda-closed span{text-align:left}}
.appointments-calendar{width:100%;margin-top:17px;padding:16px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.appointments-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.appointments-calendar-title{display:flex;align-items:center;gap:10px;min-width:0}.appointments-calendar-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#fff3e8;color:#ea580c;font-size:1.2rem;font-weight:900}.appointments-calendar-title div{display:flex;min-width:0;flex-direction:column}.appointments-calendar-title strong{color:#101828;font-size:.95rem}.appointments-calendar-title small{margin-top:2px;color:#667085;font-size:.66rem}.appointments-calendar-controls{display:flex;align-items:center;gap:5px}.appointments-calendar-controls button{display:grid;place-items:center;height:32px;min-width:34px;padding:0 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;font-size:1rem;font-weight:850;cursor:pointer}.appointments-calendar-controls button:hover{border-color:#f79009;color:#c2410c;background:#fffaf5}.appointments-calendar-controls .calendar-today-btn{font-size:.68rem}.appointments-calendar-weekdays,.appointments-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.appointments-calendar-weekdays{margin-bottom:6px;padding:7px 4px;border:1px solid #ffdfbd;border-radius:9px;background:#fffaf5}.appointments-calendar-weekdays span{text-align:center;color:#475467;font-size:.61rem;font-weight:850;text-transform:uppercase}.appointments-calendar-weekdays span:first-child,.appointments-calendar-weekdays span:last-child{color:#d92d20}.calendar-day{position:relative;display:flex;min-width:0;min-height:94px;padding:7px;border:1px solid #eaecf0;border-radius:10px;background:#fff;flex-direction:column;align-items:stretch;text-align:left;cursor:pointer;overflow:hidden}.calendar-day:hover{border-color:#f5a15f;background:#fffdf9}.calendar-day.is-outside{background:#fcfcfd;opacity:.48}.calendar-day.is-today{border-color:#f79009;box-shadow:inset 0 0 0 1px #f79009}.calendar-day.is-selected{background:#fff7ed;border-color:#f97316;box-shadow:inset 0 0 0 1px #f97316}.calendar-day-number{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;color:#344054;font-size:.68rem;font-weight:850}.calendar-day.is-today .calendar-day-number{background:#f97316;color:#fff}.calendar-events{display:flex;min-width:0;flex-direction:column;gap:3px;margin-top:5px}.calendar-event{display:block;overflow:hidden;padding:4px 5px;border:1px solid #d0d5dd;border-radius:6px;background:#f8fafc;color:#475467;font-size:.56rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.calendar-event b{font-size:.54rem}.calendar-event.is-scheduled{border-color:#b2ddff;background:#eff8ff;color:#175cd3}.calendar-event.is-patio{border-color:#c7d7fe;background:#eef4ff;color:#3538cd}.calendar-event.is-done{border-color:#abefc6;background:#ecfdf3;color:#067647}.calendar-event.is-rejected{border-color:#fecdca;background:#fef3f2;color:#b42318}.calendar-event.is-pending{border-color:#fedf89;background:#fffaeb;color:#b54708}.calendar-more{color:#667085;font-size:.55rem;font-weight:750;padding-left:3px}.calendar-count{display:none}
@media(max-width:760px){.appointments-calendar{padding:11px;margin-top:13px}.appointments-calendar-head{align-items:flex-start}.appointments-calendar-title small{display:none}.appointments-calendar-title strong{font-size:.82rem}.appointments-calendar-icon{width:32px;height:32px;flex-basis:32px}.appointments-calendar-controls button{height:30px;min-width:30px;padding:0 8px}.appointments-calendar-weekdays,.appointments-calendar-grid{gap:3px}.appointments-calendar-weekdays{padding:6px 1px}.appointments-calendar-weekdays span{font-size:.5rem}.calendar-day{min-height:49px;padding:4px;border-radius:7px}.calendar-day-number{width:19px;height:19px;font-size:.6rem}.calendar-events{display:none}.calendar-count{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#0f766e;color:#fff;font-size:.52rem;font-weight:900}.calendar-day.is-outside .calendar-count{background:#98a2b3}}
.calendar-day-manager{margin-top:15px;padding-top:14px;border-top:1px solid #eaecf0}.calendar-manager-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.calendar-manager-head>div{display:flex;flex-direction:column;gap:2px}.calendar-manager-head span{color:#f97316;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.calendar-manager-head strong{color:#101828;font-size:.85rem}.calendar-manager-head>small{color:#667085;font-size:.65rem}.calendar-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calendar-manager-slot{min-width:0;border:1px solid #e4e7ec;border-radius:10px;background:#fcfcfd;overflow:hidden}.calendar-manager-slot>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#f8fafc;border-bottom:1px solid #eaecf0}.calendar-manager-slot>header>div{display:flex;align-items:center;gap:8px}.calendar-manager-slot>header strong{color:#101828;font-size:.74rem}.calendar-manager-slot>header span{color:#067647;font-size:.61rem;font-weight:750}.calendar-manager-slot>header>small{color:#667085;font-size:.58rem}.calendar-manager-slot.is-full>header span{color:#b42318}.calendar-manager-slot.is-blocked>header span{color:#667085}.calendar-manager-services{display:grid;gap:4px;padding:7px 9px}.calendar-manager-booking{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 7px;border:1px solid #eaecf0;border-radius:7px;background:#fff}.calendar-manager-booking>span{display:flex;min-width:0;flex-direction:column}.calendar-manager-booking b{overflow:hidden;color:#344054;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.calendar-manager-booking small{overflow:hidden;margin-top:2px;color:#667085;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.calendar-manager-booking em{flex:0 0 auto;color:#175cd3;font-size:.55rem;font-style:normal;font-weight:800}.calendar-manager-empty{padding:6px;color:#98a2b3;font-size:.59rem;text-align:center}.calendar-manager-slot>footer{display:flex;align-items:flex-end;gap:5px;padding:8px 9px;border-top:1px solid #eaecf0;background:#fff}.calendar-manager-slot>footer label{display:flex;max-width:78px;flex-direction:column;gap:3px}.calendar-manager-slot>footer label span{color:#667085;font-size:.52rem;font-weight:750}.calendar-manager-slot>footer input{width:100%;height:28px;padding:3px 6px;border:1px solid #d0d5dd;border-radius:7px;color:#101828}.calendar-manager-slot>footer button{height:28px;padding:0 8px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#344054;font-size:.56rem;font-weight:800;cursor:pointer}.calendar-manager-slot>footer button.is-block{border-color:#fecdca;color:#b42318}.calendar-manager-slot>footer button.is-unblock{border-color:#abefc6;color:#067647}.calendar-manager-no-slots{grid-column:1/-1;padding:18px;border:1px dashed #d0d5dd;border-radius:9px;color:#667085;text-align:center;font-size:.68rem}
@media(max-width:760px){.calendar-manager-head{align-items:flex-start;flex-direction:column;gap:3px}.calendar-manager-grid{grid-template-columns:1fr}.calendar-manager-slot>footer{display:grid;grid-template-columns:75px 1fr 1fr}.calendar-manager-slot>footer label{max-width:none}.calendar-manager-slot>footer button{width:100%}}
.calendar-manager-booking{width:100%;text-align:left;cursor:pointer}.calendar-manager-booking:hover{border-color:#f5a15f;background:#fffaf5}
.calendar-page-card{padding:18px!important}.calendar-page-card .appointments-calendar{margin-top:0}.calendar-manager-head-actions{display:flex;align-items:center;gap:9px}.calendar-manager-head-actions button{height:30px;padding:0 10px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;font-size:.6rem;font-weight:850;cursor:pointer}.calendar-manager-head-actions button:hover{border-color:#f79009;color:#c2410c;background:#fffaf5}
@media(max-width:760px){.calendar-page-card{padding:8px!important}.calendar-manager-head-actions{width:100%;align-items:flex-start;flex-direction:column}.calendar-manager-head-actions button{width:100%}}

/* V1.6 — envio fiscal em lote e padronização de nome */
.uppercase-name{text-transform:uppercase}
.fiscal-xml-export{display:flex;flex-direction:column;gap:14px;margin:18px 0;padding:18px;border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc}.fiscal-xml-export h3{margin:3px 0 4px;color:#101828;font-size:1rem}.fiscal-xml-export p,.fiscal-xml-export>small{margin:0;color:#667085;font-size:.72rem}.fiscal-xml-export-fields{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(140px,.7fr) minmax(240px,1.6fr) auto;gap:10px;align-items:end}.fiscal-xml-export-fields label{display:flex;min-width:0;flex-direction:column;gap:6px}.fiscal-xml-export-fields label>span{color:#344054;font-size:.68rem;font-weight:800}.fiscal-xml-export-fields .btn{height:42px;white-space:nowrap}
@media(max-width:860px){.fiscal-xml-export{padding:14px}.fiscal-xml-export-fields{grid-template-columns:1fr 1fr}.fiscal-xml-export-fields label:nth-child(3),.fiscal-xml-export-fields .btn{grid-column:1/-1;width:100%}}
@media(max-width:520px){.fiscal-xml-export-fields{grid-template-columns:1fr}.fiscal-xml-export-fields label,.fiscal-xml-export-fields label:nth-child(3),.fiscal-xml-export-fields .btn{grid-column:1}}

.nav-tabs{
  display:flex!important;
  align-items:center;
  gap:4px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  padding:6px!important;
  margin-bottom:16px!important;
  overflow-x:auto;
  box-shadow:none!important;
  scrollbar-width:thin;
}
.tab-btn{
  border:0!important;
  border-bottom:0!important;
  border-radius:8px!important;
  padding:10px 13px!important;
  color:#667085!important;
  font-size:.82rem!important;
  font-weight:700!important;
  background:transparent!important;
}
.tab-btn:hover{background:#f8fafc!important;color:#344054!important}
.tab-btn.active{
  color:var(--navy)!important;
  background:#eef2f6!important;
  box-shadow:inset 0 0 0 1px #e2e8f0!important;
}

.card,.box-add,.finance-panel{
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.card{padding:20px!important}
.card-title{color:var(--navy)!important;font-weight:800!important;letter-spacing:-.025em!important}
.card-header{gap:14px!important}
.box-add{background:#f8fafc!important}
.box-add h3{color:var(--navy)!important}
.box-add label{color:#344054!important}
.section-description,.finance-section-title p,.box-title-row p,.reports-head p,.annual-head p{
  color:var(--muted)!important;
  font-size:.79rem!important;
  line-height:1.5!important;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:8px!important;
  padding:9px 14px!important;
  font-size:.82rem!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.btn-success{background:var(--success)!important;color:#fff!important}
.btn-success:hover{background:#067647!important}
.btn-secondary{background:#667085!important;color:#fff!important}
.btn-secondary:hover{background:#475467!important}
.btn-danger{background:#d92d20!important;color:#fff!important}
.btn-warning{background:#f79009!important;color:#fff!important}
.btn-sm{min-height:30px!important;padding:6px 10px!important;font-size:.74rem!important}
.btn:not(.btn-success):not(.btn-secondary):not(.btn-danger):not(.btn-warning){background:var(--navy)!important;color:#fff!important}
.filter-bar{gap:8px!important}

.table-responsive{
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  overflow:auto!important;
  background:#fff;
  scrollbar-width:thin;
}
table{
  width:100%;
  border-collapse:collapse!important;
  font-size:.8rem!important;
  color:var(--text)!important;
}
th{
  background:#f2f4f7!important;
  color:#475467!important;
  border-bottom:1px solid var(--line)!important;
  padding:10px 12px!important;
  font-size:.67rem!important;
  letter-spacing:.045em!important;
  font-weight:800!important;
}
td{
  background:#fff!important;
  color:#344054!important;
  border-bottom:1px solid #eef2f6!important;
  padding:11px 12px!important;
}
tr:last-child td{border-bottom:0!important}
tr:hover td{background:#fcfcfd!important}
.vehicle-badge{
  background:#f8fafc!important;
  color:#344054!important;
  border-color:var(--line)!important;
}
.muted-text{color:var(--muted)!important;font-size:.72rem}
.empty-state{color:var(--muted)!important;text-align:center;padding:24px!important}
.badge{border-radius:999px!important}
.badge-pendente{background:#fffaeb!important;color:#b54708!important;border-color:#fedf89!important}
.badge-confirmado{background:#eff8ff!important;color:#175cd3!important;border-color:#b2ddff!important}
.badge-no-patio{background:#f4f3ff!important;color:#6938ef!important;border-color:#d9d6fe!important}
.badge-concluido{background:#ecfdf3!important;color:#027a48!important;border-color:#abefc6!important}
.badge-recusado{background:#fef3f2!important;color:#b42318!important;border-color:#fecdca!important}

/* ---------- Financeiro ---------- */
.finance-page{display:grid;gap:14px}
.page-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:4px 2px 2px;
}
.page-eyebrow,.section-kicker{
  display:block;
  color:#7c8797;
  font-size:.66rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.page-heading h2{
  margin:0;
  color:var(--navy);
  font-size:1.55rem;
  letter-spacing:-.04em;
}
.page-heading p{margin:6px 0 0;color:var(--muted);font-size:.84rem}

.filter-surface{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr auto;
  gap:10px;
  align-items:end;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
}
.field-inline,.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field-inline label,.form-field label{
  color:#475467!important;
  font-size:.69rem!important;
  font-weight:800!important;
  letter-spacing:.02em;
}

.finance-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.finance-stat{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:17px;
}
.finance-stat::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:#cbd5e1;
}
.finance-stat-income::before{background:#12b76a}
.finance-stat-expense::before{background:#f04438}
.finance-stat-balance::before{background:var(--primary)}
.finance-stat-receivable::before{background:#f59e0b}
.finance-stat span{
  display:block;
  color:var(--muted);
  font-size:.69rem;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.05em;
}
.finance-stat strong{
  display:block;
  color:var(--navy);
  font-size:clamp(1.15rem,2vw,1.45rem);
  margin:7px 0 3px;
  letter-spacing:-.035em;
}
.finance-stat small{color:#98a2b3;font-size:.7rem}
.finance-stat-income strong,.finance-type-income{color:#067647!important}
.finance-stat-expense strong,.finance-type-expense{color:#b42318!important}
.finance-stat-balance strong{color:#c45c10!important}
.finance-stat-receivable strong{color:#b45309!important}

.finance-form-box{margin:0!important;padding:16px!important}
.box-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.box-title-row h3{color:var(--navy)!important;font-size:1rem}
.finance-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.form-field-wide{grid-column:span 2}
.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

.finance-grid-main{
  display:grid;
  grid-template-columns:minmax(0,1.48fr) minmax(360px,.82fr);
  gap:14px;
  align-items:start;
}
.finance-main-column,.finance-side-column{display:grid;gap:14px;min-width:0}
.finance-panel{padding:16px!important;min-width:0}
.finance-section-title{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  margin:0 0 11px;
}
.finance-section-title h3,.reports-head h3,.annual-head h3{
  margin:0;
  color:var(--navy);
  font-size:1rem;
  letter-spacing:-.02em;
}
.finance-ledger-table{min-width:1040px}
.finance-type{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:800;
}
.finance-type-income{background:var(--success-soft)!important}
.finance-type-expense{background:var(--danger-soft)!important}
.finance-mobile-list{display:none}

.reports-panel{padding:18px!important}
.reports-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.report-controls{
  width:min(440px,50%);
  display:grid;
  grid-template-columns:minmax(210px,1fr) auto;
  gap:9px;
  align-items:center;
}
.report-buttons{display:flex;gap:8px}
.report-buttons .btn{min-width:82px}
.report-preview{padding-top:14px}
.report-preview h4{margin:0 0 10px;color:var(--navy);font-size:.94rem}
.report-preview-table th{white-space:nowrap}
.report-preview-table td{font-size:.76rem}
.report-value-cell{text-align:right;font-weight:800;white-space:nowrap}

.annual-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.year-field{width:112px;flex:0 0 auto}
.annual-mini-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:12px 0;
}
.annual-mini-stats>div{
  background:#f8fafc;
  border:1px solid #e8edf2;
  border-radius:9px;
  padding:10px;
  min-width:0;
}
.annual-mini-stats span{
  display:block;
  color:#7c8797;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:800;
  margin-bottom:5px;
}
.annual-mini-stats strong{
  display:block;
  color:var(--navy);
  font-size:.9rem;
  overflow-wrap:anywhere;
}
.compact-table th,.compact-table td{padding:8px 9px!important;font-size:.69rem!important}
.compact-table th{font-size:.61rem!important}

/* ---------- Rodapé admin ---------- */
.admin-site-footer{
  margin:4px 20px 0;
  border-top:1px solid var(--line);
}

/* ---------- Responsividade ---------- */
@media(max-width:1180px){
  .finance-grid-main{grid-template-columns:1fr}
  .finance-side-column{grid-template-columns:1fr 1fr}
  .annual-panel{grid-column:1/-1}
}
@media(max-width:980px){
  .filter-surface{grid-template-columns:1fr 1fr}
  .finance-stats{grid-template-columns:1fr 1fr}
  .finance-form-grid{grid-template-columns:1fr 1fr}
  .finance-side-column{grid-template-columns:1fr}
  .annual-panel{grid-column:auto}
  .reports-head{flex-direction:column}
  .report-controls{width:100%}
}
@media(max-width:760px){
  .main-wrapper{padding:14px 10px 112px!important}
  .app-header{padding:24px 16px!important;border-radius:14px!important}
  .public-logo{width:min(210px,72vw)!important;height:76px!important}
  .step-progress{gap:6px!important}
  .step-item{padding:9px 7px!important;gap:6px;font-size:.68rem!important}
  .step-num{width:24px!important;height:24px!important;min-width:24px}
  .content-card{padding:16px 13px!important;border-radius:13px!important}
  .section-title{font-size:1.02rem!important}
  .services-grid{grid-template-columns:1fr!important}
  .date-picker-card{max-width:100%!important;padding:14px!important}
  .date-picker-icon{width:48px!important;height:48px!important;min-width:48px!important}
  .footer-action-bar{padding:10px 12px!important;gap:8px}
  .total-value{font-size:1.15rem!important}
  .btn-action{padding:11px 13px!important;font-size:.84rem!important}

  .admin-header{
    padding:10px 12px!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  .admin-header>div:last-child{width:100%;justify-content:space-between;gap:8px!important}
  .admin-brand .brand-logo-slot{width:62px!important;height:44px!important}
  #lblUserNome{max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .container{padding:12px 9px!important}
  .stats-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .stat-card{padding:13px!important}
  .stat-card h3{font-size:1.18rem!important}
  .nav-tabs{margin-bottom:12px!important;border-radius:10px!important}
  .tab-btn{padding:9px 10px!important;font-size:.75rem!important;white-space:nowrap}
  .card{padding:14px!important}
  .card-header{align-items:flex-start!important}
  .filter-bar{width:100%}
  .filter-bar .form-control,.filter-bar .btn{flex:1 1 145px;min-width:0!important}

  .page-heading{flex-direction:column}
  .page-heading .btn{width:100%}
  .filter-surface{grid-template-columns:1fr}
  .filter-surface .btn{width:100%}
  .finance-stats{grid-template-columns:1fr 1fr}
  .finance-form-grid{grid-template-columns:1fr}
  .form-field-wide{grid-column:auto}
  .finance-ledger-panel .finance-table-wrap{display:none!important}
  .finance-mobile-list{display:grid;gap:9px}
  .finance-mobile-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:13px;
  }
  .finance-mobile-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
  .finance-mobile-date{color:#7c8797;font-size:.68rem;margin:8px 0 5px}
  .finance-mobile-card h4{color:var(--navy);font-size:.86rem;line-height:1.35;margin-bottom:9px}
  .finance-mobile-card dl{display:grid;gap:6px}
  .finance-mobile-card dl>div{display:grid;grid-template-columns:82px 1fr;gap:7px;font-size:.72rem}
  .finance-mobile-card dt{color:#7c8797}
  .finance-mobile-card dd{margin:0;color:#344054;text-align:right;overflow-wrap:anywhere}
  .finance-mobile-actions{display:flex;gap:7px;margin-top:10px}
  .finance-mobile-actions .btn{flex:1}
  .reports-head{gap:12px}
  .report-controls{grid-template-columns:1fr}
  .report-buttons .btn{flex:1}
  .report-buttons{display:flex}
  .annual-head{flex-direction:column}
  .year-field{width:100%}
  .annual-mini-stats{grid-template-columns:1fr 1fr}
  .admin-site-footer{margin-inline:10px}
}

/* TONCAR V1.6.3 — segmento automático e ações compactas da agenda */
.step-progress.three-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.segment-services-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;margin:0 0 16px;padding:13px 15px;border:1px solid #fdba74;border-radius:12px;background:#fff7ed;color:#7c2d12}
.segment-services-notice[hidden]{display:none!important}
.segment-services-notice>span{font-size:.69rem;font-weight:750}
.segment-services-notice>strong{justify-self:start;padding:4px 9px;border-radius:999px;background:#ea580c;color:#fff;font-size:.73rem;letter-spacing:.01em}
.segment-services-notice>small{grid-column:1/-1;color:#9a3412;font-size:.65rem;line-height:1.35}
.playlist-segment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
.playlist-segment-option{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;font-size:.72rem;font-weight:750;cursor:pointer;transition:.15s ease}
.playlist-segment-option:hover{border-color:#fdba74;background:#fffaf5}
.playlist-segment-option:has(input:checked){border-color:#f79009;background:#fff7ed;color:#9a3412;box-shadow:0 0 0 2px rgba(247,144,9,.08)}
.playlist-segment-option input{width:17px!important;height:17px;flex:0 0 17px;accent-color:#ea580c}
.calendar-event{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px!important}
.calendar-event>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(min-width:761px){
  #tableAgendamentos td:last-child{min-width:286px;padding:9px!important;background:#fafbfc}
  #tableAgendamentos td:last-child>.action-btns{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    padding:7px!important;
    border:1px solid #e4e7ec!important;
    border-radius:11px!important;
    background:#fff!important;
    box-shadow:0 2px 6px rgba(16,24,40,.04)!important;
  }
  #tableAgendamentos td:last-child>.action-btns .appointment-action{width:100%!important;min-width:0!important;margin:0!important;padding:6px 4px!important;justify-content:center!important;font-size:.62rem!important;white-space:nowrap!important}
  #tableAgendamentos td:last-child>.action-btns .appointment-action-delete{grid-column:1/-1!important;min-height:38px!important}
}

@media(max-width:600px){
  .segment-services-notice{grid-template-columns:1fr}
  .segment-services-notice>strong{justify-self:stretch;text-align:center}
  .segment-services-notice>small{grid-column:1}
  .playlist-segment-grid{grid-template-columns:1fr}
}

/* V1.5.3.2.4 — status fiscal automático e Ordem de Serviço */
.appointment-nfse-label{display:inline-flex;align-items:center;width:max-content;margin-top:6px;padding:5px 9px;border:1px solid;border-radius:999px;font-size:.66rem;font-weight:850;white-space:nowrap}
.appointment-nfse-label.is-issued{border-color:#86efac;background:#ecfdf3;color:#067647}
.appointment-nfse-label.is-missing{border-color:#d0d5dd;background:#f8fafc;color:#667085}
.os-inline{display:inline-block;margin-top:5px;color:#344054;font-weight:850}
.appointment-mobile-fiscal,.appointment-mobile-os{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #f0f2f5}
.appointment-mobile-fiscal>span,.appointment-mobile-os>span{color:#667085;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.appointment-mobile-fiscal .appointment-nfse-label{margin-top:0}.appointment-mobile-os strong{color:#101828;font-size:.76rem}

@media(max-width:760px){
  .appointment-mobile-fiscal,.appointment-mobile-os{flex-wrap:wrap}
  .appointment-mobile-fiscal .appointment-nfse-label{max-width:100%}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr!important}
  .finance-stats{grid-template-columns:1fr}
  .annual-mini-stats{grid-template-columns:1fr}
  .step-item span{display:none}
  .step-item{justify-content:center}
  .vehicle-input-row{flex-wrap:wrap!important}
  .vehicle-input-row .form-control{flex:1 1 130px}
  .public-site-footer{padding-inline:12px}
}


/* =========================================================
   V1.2.1 - AJUSTE DE DISTRIBUIÇÃO / DENSIDADE
   ========================================================= */

/* Agenda */
.appointments-card-header{
  display:block!important;
  margin-bottom:16px!important;
}
.appointments-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.appointments-heading .card-title{margin:2px 0 0!important}
.appointments-new-btn{flex:0 0 auto;min-width:190px}
.appointments-toolbar{
  display:grid;
  grid-template-columns:minmax(190px,.72fr) minmax(220px,1fr) auto;
  gap:10px;
  align-items:end;
  width:100%;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafc;
}
.appointments-filter{min-width:0}
.appointments-filter label{
  display:block;
  margin:0 0 5px;
  color:#667085;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.appointments-filter .form-control{
  width:100%!important;
  min-width:0!important;
}
.appointments-clear-btn{min-width:120px;white-space:nowrap}

/* Agendamentos aproveitam melhor a largura do card */
#tabAgendamentos .table-responsive{width:100%}
#tabAgendamentos table{table-layout:auto}
#tabAgendamentos th,
#tabAgendamentos td{padding-left:10px!important;padding-right:10px!important}

/* Extrato financeiro sem rolagem lateral no notebook */
.finance-ledger-table{
  min-width:0!important;
  width:100%!important;
  table-layout:fixed;
}
.finance-ledger-table th,
.finance-ledger-table td{
  padding:9px 8px!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.finance-ledger-table th:nth-child(1),
.finance-ledger-table td:nth-child(1){width:9%}
.finance-ledger-table th:nth-child(2),
.finance-ledger-table td:nth-child(2){width:9%}
.finance-ledger-table th:nth-child(3),
.finance-ledger-table td:nth-child(3){width:10%}
.finance-ledger-table th:nth-child(4),
.finance-ledger-table td:nth-child(4){width:10%}
.finance-ledger-table th:nth-child(5),
.finance-ledger-table td:nth-child(5){width:18%}
.finance-ledger-table th:nth-child(6),
.finance-ledger-table td:nth-child(6){width:16%}
.finance-ledger-table th:nth-child(7),
.finance-ledger-table td:nth-child(7){width:10%}
.finance-ledger-table th:nth-child(8),
.finance-ledger-table td:nth-child(8){width:10%}
.finance-ledger-table th:nth-child(9),
.finance-ledger-table td:nth-child(9){width:8%}

.finance-table-wrap{overflow-x:hidden!important}

/* Notebook médio: retira só a coluna Origem, que é redundante visualmente */
@media(max-width:1360px) and (min-width:981px){
  .finance-grid-main{
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important;
  }
  .finance-ledger-table{font-size:.74rem!important}
  .finance-ledger-table th,
  .finance-ledger-table td{padding:8px 6px!important}
  .finance-ledger-table .col-fin-origin,
  .finance-ledger-table td:nth-child(3){display:none}
  .finance-ledger-table th:nth-child(1),
  .finance-ledger-table td:nth-child(1){width:10%}
  .finance-ledger-table th:nth-child(2),
  .finance-ledger-table td:nth-child(2){width:9%}
  .finance-ledger-table th:nth-child(4),
  .finance-ledger-table td:nth-child(4){width:11%}
  .finance-ledger-table th:nth-child(5),
  .finance-ledger-table td:nth-child(5){width:22%}
  .finance-ledger-table th:nth-child(6),
  .finance-ledger-table td:nth-child(6){width:18%}
  .finance-ledger-table th:nth-child(7),
  .finance-ledger-table td:nth-child(7){width:11%}
  .finance-ledger-table th:nth-child(8),
  .finance-ledger-table td:nth-child(8){width:11%}
  .finance-ledger-table th:nth-child(9),
  .finance-ledger-table td:nth-child(9){width:8%}
}

/* Tablet: financeiro em uma coluna e extrato compacto */
@media(max-width:1180px){
  .finance-grid-main{grid-template-columns:1fr!important}
  .finance-side-column{grid-template-columns:1fr 1fr!important}
  .annual-panel{grid-column:1/-1}
  .finance-ledger-table .col-fin-origin,
  .finance-ledger-table td:nth-child(3),
  .finance-ledger-table .col-fin-payment,
  .finance-ledger-table td:nth-child(7){display:none}
  .finance-ledger-table th:nth-child(1),
  .finance-ledger-table td:nth-child(1){width:11%}
  .finance-ledger-table th:nth-child(2),
  .finance-ledger-table td:nth-child(2){width:10%}
  .finance-ledger-table th:nth-child(4),
  .finance-ledger-table td:nth-child(4){width:13%}
  .finance-ledger-table th:nth-child(5),
  .finance-ledger-table td:nth-child(5){width:25%}
  .finance-ledger-table th:nth-child(6),
  .finance-ledger-table td:nth-child(6){width:21%}
  .finance-ledger-table th:nth-child(8),
  .finance-ledger-table td:nth-child(8){width:12%}
  .finance-ledger-table th:nth-child(9),
  .finance-ledger-table td:nth-child(9){width:8%}
}

@media(max-width:980px){
  .appointments-heading{align-items:flex-end}
  .appointments-toolbar{grid-template-columns:1fr 1fr auto}
}

@media(max-width:760px){
  .appointments-heading{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .appointments-new-btn{width:100%;min-width:0}
  .appointments-toolbar{grid-template-columns:1fr;padding:10px}
  .appointments-clear-btn{width:100%}
  .finance-table-wrap{overflow:visible!important}
}

@media(max-width:480px){
  .appointments-card-header{margin-bottom:12px!important}
}



/* =========================================================
   V1.2.1 - AGENDA COMMAND BAR RESPONSIVA
   Ajuste final de distribuição sem mudar a identidade visual.
   ========================================================= */
#tabAgendamentos > .card{
  overflow:hidden;
}
.appointments-card-header{
  display:grid!important;
  grid-template-columns:minmax(220px,.72fr) minmax(650px,1.55fr);
  gap:24px!important;
  align-items:end!important;
  margin-bottom:16px!important;
  padding-bottom:16px!important;
  border-bottom:1px solid var(--line);
}
.appointments-heading{
  display:block!important;
  min-width:0;
  margin:0!important;
  padding:0 0 4px;
}
.appointments-heading .section-kicker{
  display:block;
  margin-bottom:4px;
}
.appointments-heading .card-title{
  margin:0!important;
  line-height:1.18;
}
.appointments-commandbar{
  display:grid;
  grid-template-columns:minmax(190px,1.08fr) minmax(145px,.78fr) minmax(180px,1fr) auto;
  gap:8px;
  align-items:end;
  width:100%;
  min-width:0;
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8fafc;
}
.appointments-commandbar .btn,
.appointments-commandbar .form-control{
  min-height:40px!important;
  height:40px;
  margin:0!important;
}
.appointments-new-btn{
  min-width:0!important;
  width:100%;
  white-space:nowrap;
}
.appointments-filter{
  min-width:0;
}
.appointments-filter label{
  display:block;
  margin:0 0 4px;
  color:#667085;
  font-size:.62rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.appointments-filter .form-control{
  width:100%!important;
  min-width:0!important;
}
.appointments-clear-btn{
  min-width:84px!important;
  white-space:nowrap;
}

/* Desktop/notebook menor: título acima, barra usa toda a largura. */
@media(max-width:1280px){
  .appointments-card-header{
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .appointments-heading{padding:0}
  .appointments-commandbar{
    grid-template-columns:minmax(190px,1.15fr) minmax(150px,.8fr) minmax(190px,1fr) auto;
  }
}

/* Tablet horizontal e telas intermediárias: 2 colunas, sem elementos soltos. */
@media(max-width:860px){
  .appointments-commandbar{
    grid-template-columns:1fr 1fr;
    gap:9px;
    padding:10px;
  }
  .appointments-new-btn{
    grid-column:1/-1;
  }
  .appointments-clear-btn{
    grid-column:1/-1;
    width:100%;
  }
}

/* Celular: bloco vertical integral. */
@media(max-width:560px){
  .appointments-card-header{
    gap:10px!important;
    padding-bottom:12px!important;
  }
  .appointments-commandbar{
    grid-template-columns:1fr;
    gap:8px;
    padding:9px;
  }
  .appointments-new-btn,
  .appointments-filter,
  .appointments-clear-btn{
    grid-column:1!important;
    width:100%!important;
  }
  .appointments-commandbar .btn,
  .appointments-commandbar .form-control{
    min-height:44px!important;
    height:44px;
  }
}

/* =========================================================
   V1.2.1 - FINANCEIRO: REORGANIZAÇÃO DE HIERARQUIA
   Extrato em largura total; análises distribuídas abaixo.
   ========================================================= */

/* Faz as colunas intermediárias deixarem de limitar os painéis filhos. */
.finance-grid-main{
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.finance-main-column,
.finance-side-column{
  display:contents!important;
}

/* Extrato é o elemento principal: largura total. */
.finance-ledger-panel{
  grid-column:1 / -1!important;
  grid-row:1!important;
  padding:20px!important;
}
.finance-ledger-panel .finance-section-title{
  margin-bottom:14px!important;
}
.finance-ledger-panel .finance-table-wrap{
  border-radius:10px!important;
  overflow:hidden!important;
}
.finance-ledger-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  font-size:.78rem!important;
}
.finance-ledger-table th,
.finance-ledger-table td{
  padding:11px 10px!important;
  line-height:1.32!important;
  vertical-align:middle!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.finance-ledger-table th{
  white-space:normal!important;
}
.finance-ledger-table td:nth-child(1),
.finance-ledger-table td:nth-child(2),
.finance-ledger-table td:nth-child(8){
  white-space:nowrap!important;
}

/* Proporções confortáveis no extrato desktop. */
.finance-ledger-table th:nth-child(1),.finance-ledger-table td:nth-child(1){width:9%}
.finance-ledger-table th:nth-child(2),.finance-ledger-table td:nth-child(2){width:8%}
.finance-ledger-table th:nth-child(3),.finance-ledger-table td:nth-child(3){width:10%}
.finance-ledger-table th:nth-child(4),.finance-ledger-table td:nth-child(4){width:10%}
.finance-ledger-table th:nth-child(5),.finance-ledger-table td:nth-child(5){width:18%}
.finance-ledger-table th:nth-child(6),.finance-ledger-table td:nth-child(6){width:18%}
.finance-ledger-table th:nth-child(7),.finance-ledger-table td:nth-child(7){width:10%}
.finance-ledger-table th:nth-child(8),.finance-ledger-table td:nth-child(8){width:10%}
.finance-ledger-table th:nth-child(9),.finance-ledger-table td:nth-child(9){width:7%}

/* Segunda linha: relatórios + visão anual. */
.reports-panel{
  grid-column:1!important;
  grid-row:2!important;
  min-width:0!important;
}
.annual-panel{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
}

/* Terceira linha: resumo mensal + receita por serviço. */
.finance-side-column > .finance-panel:nth-child(2){
  grid-column:1!important;
  grid-row:3!important;
  min-width:0!important;
}
.finance-side-column > .finance-panel:nth-child(3){
  grid-column:2!important;
  grid-row:3!important;
  min-width:0!important;
}

/* Relatórios ganham espaço interno e controles mais elegantes. */
.reports-panel{
  padding:20px!important;
}
.reports-head{
  gap:16px!important;
  align-items:center!important;
}
.report-controls{
  width:min(500px,55%)!important;
  grid-template-columns:minmax(230px,1fr) auto!important;
}
.report-preview .table-responsive{
  overflow-x:auto!important;
}

/* A análise anual deixa de parecer uma coluna espremida. */
.annual-panel{
  padding:20px!important;
}
.annual-head{
  align-items:center!important;
}
.annual-mini-stats{
  gap:10px!important;
  margin:14px 0!important;
}
.annual-mini-stats>div{
  padding:12px!important;
}
.compact-table th,
.compact-table td{
  padding:9px 10px!important;
  line-height:1.35!important;
}

/* Em notebooks ainda mostramos todas as colunas do extrato, pois ele agora é full-width. */
@media(max-width:1360px) and (min-width:981px){
  .finance-ledger-table .col-fin-origin,
  .finance-ledger-table td:nth-child(3){display:table-cell!important}
  .finance-ledger-table .col-fin-payment,
  .finance-ledger-table td:nth-child(7){display:table-cell!important}
  .finance-ledger-table{font-size:.76rem!important}
  .finance-ledger-table th,
  .finance-ledger-table td{padding:10px 8px!important}
}

/* Notebook menor / tablet horizontal: uma coluna por linha para os painéis grandes. */
@media(max-width:1180px){
  .finance-grid-main{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .finance-ledger-panel,
  .reports-panel,
  .annual-panel,
  .finance-side-column > .finance-panel:nth-child(2),
  .finance-side-column > .finance-panel:nth-child(3){
    grid-column:1!important;
    grid-row:auto!important;
  }
  .finance-ledger-table .col-fin-origin,
  .finance-ledger-table td:nth-child(3),
  .finance-ledger-table .col-fin-payment,
  .finance-ledger-table td:nth-child(7){
    display:table-cell!important;
  }
  .reports-head{
    align-items:flex-start!important;
  }
}

/* Tablet: simplifica somente as colunas menos essenciais do extrato. */
@media(max-width:980px) and (min-width:761px){
  .finance-ledger-table .col-fin-origin,
  .finance-ledger-table td:nth-child(3),
  .finance-ledger-table .col-fin-payment,
  .finance-ledger-table td:nth-child(7){
    display:none!important;
  }
  .finance-ledger-table{
    font-size:.73rem!important;
  }
  .finance-ledger-table th,
  .finance-ledger-table td{
    padding:9px 7px!important;
  }
  .finance-ledger-table th:nth-child(1),.finance-ledger-table td:nth-child(1){width:11%}
  .finance-ledger-table th:nth-child(2),.finance-ledger-table td:nth-child(2){width:10%}
  .finance-ledger-table th:nth-child(4),.finance-ledger-table td:nth-child(4){width:13%}
  .finance-ledger-table th:nth-child(5),.finance-ledger-table td:nth-child(5){width:24%}
  .finance-ledger-table th:nth-child(6),.finance-ledger-table td:nth-child(6){width:22%}
  .finance-ledger-table th:nth-child(8),.finance-ledger-table td:nth-child(8){width:12%}
  .finance-ledger-table th:nth-child(9),.finance-ledger-table td:nth-child(9){width:8%}
  .report-controls{
    width:100%!important;
  }
}

/* Celular: mantém a experiência por cards já existente. */
@media(max-width:760px){
  .finance-ledger-panel{padding:15px!important}
  .reports-panel,.annual-panel,.finance-side-column > .finance-panel{padding:15px!important}
  .finance-ledger-panel .finance-table-wrap{display:none!important}
  .finance-mobile-list{display:grid!important}
  .reports-head{align-items:stretch!important}
  .report-controls{width:100%!important;grid-template-columns:1fr!important}
  .report-buttons{width:100%!important}
  .report-buttons .btn{flex:1!important}
}


/* =========================================================
   V1.2.1 - EQUIPE / PERMISSÕES
   ========================================================= */
#tabEquipe #boxEquipeUser{
  padding:18px!important;
  background:#f8fafc!important;
}
#tabEquipe #eqFormTitle{
  color:var(--navy)!important;
  font-size:1rem!important;
  margin-bottom:14px!important;
}
.permissions-section{
  margin:16px 0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.permissions-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:13px;
}
.permissions-heading h4{
  margin:2px 0 0;
  color:var(--navy);
  font-size:.98rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.permissions-heading p{
  margin:0;
  max-width:520px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
  text-align:right;
}
.permissions-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.permission-option{
  position:relative;
  display:block;
  min-width:0;
  cursor:pointer;
  user-select:none;
}
.permission-option input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.permission-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:10px 12px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  background:var(--surface);
  color:#344054;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.permission-option:hover .permission-card{
  border-color:#98a2b3;
  background:#fbfcfd;
}
.permission-check{
  position:relative;
  flex:0 0 21px;
  width:21px;
  height:21px;
  border:1.5px solid #b8c2ce;
  border-radius:6px;
  background:#fff;
  transition:all .16s ease;
}
.permission-check::after{
  content:'✓';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  opacity:0;
  transform:scale(.7);
  transition:opacity .14s ease, transform .14s ease;
}
.permission-name{
  min-width:0;
  color:inherit;
  font-size:.8rem;
  font-weight:700;
  line-height:1.25;
}
.permission-option input:checked + .permission-card{
  border-color:#6ce9a6;
  background:var(--success-soft);
  color:#05603a;
  box-shadow:0 0 0 1px rgba(7,148,85,.03);
}
.permission-option input:checked + .permission-card .permission-check{
  border-color:var(--success);
  background:var(--success);
}
.permission-option input:checked + .permission-card .permission-check::after{
  opacity:1;
  transform:scale(1);
}
.permission-option input:focus-visible + .permission-card{
  outline:none;
  border-color:var(--info);
  box-shadow:0 0 0 3px rgba(23,92,211,.12);
}

@media(max-width:900px){
  .permissions-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .permissions-heading p{
    max-width:none;
    text-align:left;
  }
  .permissions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .permissions-section{padding:12px}
  .permissions-grid{grid-template-columns:1fr}
  .permission-card{min-height:46px}
}


/* =========================================================
   V1.2.1 - REFINO FINANCEIRO / LOGIN
   ========================================================= */

/* Resumo financeiro superior mais compacto e melhor aproveitado */
.finance-stats{
  gap:7px!important;
}
.finance-stat{
  padding:12px 14px!important;
  min-height:96px;
}
.finance-stat strong{
  margin:4px 0 2px!important;
  font-size:clamp(1.08rem,1.55vw,1.34rem)!important;
}
.finance-stat span{font-size:.65rem!important}
.finance-stat small{font-size:.66rem!important}

/* Convenção financeira: entrada verde, saída vermelha e negativa */
.report-value-income,
.report-type-income,
.finance-month-income{
  color:#067647!important;
}
.report-value-expense,
.report-type-expense,
.finance-month-expense,
.finance-month-balance-negative{
  color:#b42318!important;
}
.finance-month-balance-positive{color:#067647!important}
.report-value-cell{font-weight:800!important;white-space:nowrap}
.report-type-income,.report-type-expense{font-weight:700!important}

/* Resumo mensal: colunas proporcionais e menos espaço desperdiçado */
.finance-monthly-summary-panel{padding:15px!important}
.finance-monthly-summary-panel .finance-section-title{margin-bottom:8px!important}
.finance-monthly-summary-table{table-layout:fixed!important}
.finance-monthly-summary-table th,
.finance-monthly-summary-table td{padding:8px 10px!important}
.finance-monthly-summary-table th:nth-child(1),
.finance-monthly-summary-table td:nth-child(1){width:38%}
.finance-monthly-summary-table th:nth-child(2),
.finance-monthly-summary-table td:nth-child(2){width:21%}
.finance-monthly-summary-table th:nth-child(3),
.finance-monthly-summary-table td:nth-child(3){width:21%}
.finance-monthly-summary-table th:nth-child(4),
.finance-monthly-summary-table td:nth-child(4){width:20%}

@media(max-width:980px){
  .finance-stats{gap:8px!important}
  .finance-stat{min-height:92px}
}
@media(max-width:560px){
  .finance-stat{min-height:auto;padding:12px!important}
  .finance-monthly-summary-table th,
  .finance-monthly-summary-table td{padding:8px 7px!important;font-size:.72rem!important}
}


/* V1.2.1 - Lixeira: contraste no tema claro */
#tabLixeira td{
  color:var(--text)!important;
}
.trash-item-description{
  display:block;
  color:#344054!important;
  font-size:.78rem;
  line-height:1.4;
  font-weight:600;
  overflow-wrap:anywhere;
}
#tabLixeira td:nth-child(3){
  color:#475467!important;
  white-space:nowrap;
}
#tabLixeira td:nth-child(4){
  white-space:nowrap;
}
@media(max-width:760px){
  .trash-item-description{font-size:.8rem}
}


/* =========================================================
   V1.3.3 - EXPERIÊNCIA DO AGENDAMENTO PÚBLICO
   ========================================================= */
.plate-found-message[hidden],
.booking-success-overlay[hidden]{display:none!important}

.plate-found-message{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  color:#067647;
  font-size:.74rem;
  font-weight:650;
  line-height:1.4;
}
.plate-found-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:50%;
  background:var(--success-soft);
  border:1px solid #abefc6;
  color:var(--success);
  font-size:.68rem;
  font-weight:900;
}

body.booking-success-open{overflow:hidden}
.booking-success-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.66);
  backdrop-filter:blur(8px);
  opacity:0;
  transition:opacity .2s ease;
}
.booking-success-overlay.is-visible{opacity:1}
.booking-success-card{
  width:min(100%,620px);
  max-height:calc(100vh - 44px);
  overflow:auto;
  background:#fff;
  border:1px solid rgba(255,255,255,.7);
  border-radius:20px;
  padding:28px;
  box-shadow:0 30px 80px rgba(15,23,42,.28);
  text-align:center;
  transform:translateY(10px) scale(.985);
  transition:transform .22s ease;
}
.booking-success-overlay.is-visible .booking-success-card{transform:translateY(0) scale(1)}
.booking-success-brand{
  display:flex;
  justify-content:center;
  margin-bottom:8px;
}
.booking-success-logo{
  width:88px;
  height:58px;
  object-fit:contain;
}
.booking-success-check{
  width:58px;
  height:58px;
  margin:6px auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--success-soft);
  border:1px solid #abefc6;
  color:var(--success);
  font-size:1.7rem;
  font-weight:900;
}
.booking-success-kicker{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 10px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.booking-success-card h2{
  margin:12px auto 8px;
  max-width:500px;
  color:var(--navy);
  font-size:clamp(1.35rem,4vw,1.8rem);
  line-height:1.18;
  letter-spacing:-.035em;
}
.booking-success-copy{
  max-width:510px;
  margin:0 auto;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.6;
}
.booking-success-copy strong{color:#344054}
.booking-success-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin:22px 0 16px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--line);
  text-align:left;
}
.booking-success-row{
  min-width:0;
  padding:13px 14px;
  background:var(--surface-soft);
}
.booking-success-row-wide{grid-column:1/-1}
.booking-success-row span{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.booking-success-row strong{
  display:block;
  color:var(--text);
  font-size:.82rem;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.booking-success-row .booking-success-total{color:var(--success);font-size:.96rem}
.booking-success-whatsapp{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:14px;
  margin-bottom:18px;
  border:1px solid #abefc6;
  border-radius:12px;
  background:var(--success-soft);
  text-align:left;
}
.booking-success-whatsapp-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
  margin-top:1px;
  border-radius:50%;
  background:var(--success);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
}
.booking-success-whatsapp strong{
  display:block;
  color:#05603a;
  font-size:.81rem;
  margin-bottom:2px;
}
.booking-success-whatsapp span{
  display:block;
  color:#067647;
  font-size:.75rem;
  line-height:1.45;
}
.booking-success-button{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:10px;
  background:var(--primary);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.booking-success-button:hover{
  background:var(--primary-dark);
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(239,122,36,.18);
}
.booking-success-button:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(239,122,36,.18);
}

@media(max-width:600px){
  .plate-found-message{font-size:.71rem;align-items:flex-start}
  .booking-success-overlay{padding:12px;align-items:flex-end}
  .booking-success-card{
    width:100%;
    max-height:calc(100vh - 24px);
    padding:22px 17px 18px;
    border-radius:18px 18px 14px 14px;
  }
  .booking-success-logo{width:76px;height:48px}
  .booking-success-check{width:52px;height:52px;font-size:1.45rem}
  .booking-success-summary{grid-template-columns:1fr 1fr;margin-top:18px}
  .booking-success-row{padding:11px 12px}
}

@media(max-width:390px){
  .booking-success-summary{grid-template-columns:1fr}
  .booking-success-row-wide{grid-column:auto}
}


/* TONCAR V1.3.6 — playlists e CEP */
.playlist-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.playlist-card{
  width:100%; min-height:82px; padding:18px 18px;
  border:1px solid var(--gray-200); border-radius:14px;
  background:var(--input-bg); color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  transition:var(--transition); text-align:left;
}
.playlist-card:hover{border-color:rgba(255,119,0,.55);transform:translateY(-1px);}
.playlist-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px rgba(255,119,0,.12);background:rgba(255,119,0,.08);}
.playlist-card-title{font-size:1rem;font-weight:800;letter-spacing:.01em;}
.playlist-card-check{width:28px;height:28px;border-radius:50%;border:1px solid #475569;display:grid;place-items:center;color:#0b0e14;font-weight:900;flex:0 0 auto;}
.playlist-card.selected .playlist-card-check{background:var(--primary);border-color:var(--primary);}
.cep-status{font-size:.78rem;margin-top:7px;color:var(--gray-600);}
.cep-status.success{color:#34d399;}
.cep-status.error{color:#f87171;}
.cep-status.loading{color:#fbbf24;}
.step-progress.four-steps{gap:4px;}
@media(max-width:600px){
  .playlist-grid{grid-template-columns:1fr;}
  .step-progress.four-steps{padding:10px 8px;}
  .step-progress.four-steps .step-item{font-size:.66rem;}
  .step-progress.four-steps .step-num{width:25px;height:25px;font-size:.72rem;margin-bottom:5px;}
}


/* TONCAR V1.3.6.2 — modais de edição e gestão simplificada de playlists */
body.modal-open{overflow:hidden}
.toncar-modal{position:fixed;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:20px;z-index:5000}
.toncar-modal.open{display:flex}
.toncar-modal-panel{width:min(100%,760px);max-height:90vh;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.28);padding:22px}
.toncar-modal-large{width:min(100%,980px)}
.toncar-modal-medium{width:min(100%,720px)}
.toncar-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}
.toncar-modal-header h3{color:var(--navy);font-size:1.15rem;margin:2px 0 4px}
.toncar-modal-header p{color:var(--gray-600);font-size:.82rem;margin:0;line-height:1.45}
.toncar-modal-close{border:0;background:#f1f5f9;color:#334155;width:36px;height:36px;border-radius:10px;font-size:1.35rem;cursor:pointer;flex:0 0 auto}
.toncar-modal-close:hover{background:#e2e8f0}
.toncar-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #e2e8f0}
.toncar-field-label{display:block;font-size:.8rem;font-weight:700;color:#344054;margin-bottom:6px}
.toncar-switch-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:14px;color:#344054!important}
.toncar-switch-row input{margin-top:3px}
.toncar-switch-row strong{display:block;color:var(--navy);font-size:.84rem}
.toncar-switch-row small{display:block;color:var(--gray-600);font-size:.74rem;margin-top:2px}
.playlist-services-box{margin-top:16px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.playlist-services-title{font-size:.82rem;font-weight:800;color:var(--navy);margin-bottom:10px}
.playlist-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;padding-right:4px}
.playlist-service-option{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;font-size:.78rem;color:#344054;cursor:pointer}
.playlist-service-option:hover{border-color:#fdba74;background:#fff7ed}
.playlist-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.playlist-name-cell{display:flex;align-items:center;gap:10px}
.playlist-position{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:#fff7ed;color:#ea580c;font-size:.78rem;font-weight:800;border:1px solid #fed7aa}
.playlist-actions .btn[disabled]{opacity:.35;cursor:not-allowed}
#boxCRMClient.toncar-modal-panel{display:block!important;background:#fff!important}
#boxCRMClient.toncar-modal-panel h3,#boxCRMClient.toncar-modal-panel label{color:var(--navy)!important}
#boxCRMClient.toncar-modal-panel .vehicle-input-row{background:#f8fafc;border-color:#e2e8f0}
@media(max-width:680px){
  .toncar-modal{padding:10px;align-items:flex-end}
  .toncar-modal-panel{max-height:94vh;border-radius:18px 18px 10px 10px;padding:16px}
  .playlist-check-grid{grid-template-columns:1fr}
  .toncar-modal-actions{position:sticky;bottom:-16px;background:#fff;padding-bottom:4px}
}

/* TONCAR V1.3.6.2 — padronização de edição em modais */
.service-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:24px 0 14px}
.modal-subsection{margin-top:16px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
#modalAgendamento .auto-found-alert{margin-bottom:14px}
#modalAgendamento .form-grid-manual,#modalServico .form-grid-manual,#modalCRMClient .form-grid-manual{gap:10px}
#modalAgendamento .form-control,#modalServico .form-control,#modalCRMClient .form-control{background:#fff;color:#0f172a;border-color:#cbd5e1}
#modalAgendamento .form-control::placeholder,#modalServico .form-control::placeholder,#modalCRMClient .form-control::placeholder{color:#94a3b8}
@media(max-width:680px){
  .service-section-head .btn,.playlist-section-head .btn{width:100%}
  .toncar-modal-actions .btn{flex:1}
}

/* TONCAR V1.4.0 — Fiscal / NFS-e */
.fiscal-help{margin-top:5px;color:var(--gray-600,#94a3b8);font-size:.82rem;line-height:1.45;max-width:720px}
.fiscal-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 18px}
.fiscal-status-card{background:var(--input-bg,#0f172a);border:1px solid var(--gray-200,#334155);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:5px;min-height:100px;justify-content:center}
.fiscal-status-card>span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-600,#94a3b8)}
.fiscal-status-card>strong{font-size:1.05rem;color:#fff}
.fiscal-status-card>small{color:var(--gray-600,#94a3b8);font-size:.72rem;line-height:1.35}
.fiscal-drive-card .btn{align-self:flex-start;margin-top:7px;min-height:30px!important}
.fiscal-file-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:210px}
.fiscal-file-actions .btn{background:#f8fafc!important;border:1px solid #cbd5e1!important;color:#334155!important;box-shadow:none!important;white-space:nowrap}
.fiscal-file-actions .btn:hover{background:#eef2f7!important;border-color:#94a3b8!important;color:#0f172a!important}
.fiscal-file-pending{display:inline-block;color:#64748b;font-size:.75rem;font-weight:700;max-width:180px}
@media(max-width:768px){.fiscal-file-actions{display:grid;grid-template-columns:1fr;min-width:0;width:100%}.fiscal-file-actions .btn{width:100%}}
@media(max-width:1180px) and (min-width:781px){.fiscal-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fiscal-warning{margin:0 0 18px;padding:12px 14px;border-radius:8px;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.10);color:#fcd34d;font-size:.8rem;line-height:1.45}
.fiscal-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:18px 0 10px}
.fiscal-section-heading h3{font-size:1rem;color:#fff;margin-bottom:3px}
.fiscal-section-heading p{font-size:.77rem;color:var(--gray-600,#94a3b8)}
.fiscal-nfse-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:700;border:1px solid var(--gray-200,#334155)}
.fiscal-nfse-status.emitida{color:#34d399;border-color:rgba(52,211,153,.3);background:rgba(16,185,129,.10)}
.fiscal-nfse-status.erro,.fiscal-nfse-status.rejeitada{color:#f87171;border-color:rgba(248,113,113,.3);background:rgba(239,68,68,.10)}
.fiscal-nfse-status.enviando{color:#fbbf24;border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.10)}
.nfse-booking-summary{margin:0 0 16px;padding:12px 14px;border:1px solid #dbe3ea;background:#f8fafc;border-radius:10px;color:#475467;font-size:.82rem;line-height:1.5}
.nfse-booking-summary strong{color:#101828}
.nfse-textarea{min-height:105px;resize:vertical;font-family:inherit}
.fiscal-modal-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#eff8ff;border:1px solid #b2ddff;color:#344054;font-size:.78rem;line-height:1.5}
.fiscal-modal-note strong{color:#175cd3}
.service-fiscal-box,.nfse-review-section{margin-top:14px;padding:15px;border:1px solid #dbe3ea;border-radius:12px;background:#f8fafc}
.nfse-review-section{margin-bottom:20px}
.service-fiscal-box .playlist-services-title,.nfse-review-section .playlist-services-title{color:#101828}
.service-fiscal-help{margin:4px 0 12px;color:#667085;font-size:.78rem}
.nfse-service-rows{display:grid;gap:8px;margin-top:10px}
.nfse-service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e4e7ec;border-left:3px solid var(--primary);border-radius:9px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.nfse-service-row strong{display:block;color:#101828;font-size:.82rem}.nfse-service-row small{display:block;margin-top:3px;color:#667085;font-size:.72rem;line-height:1.45}.nfse-service-row b{color:#079455;white-space:nowrap;font-size:.84rem}
.nfse-fiscal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.nfse-fiscal-chip{padding:10px 11px;border-radius:9px;background:#fff;border:1px solid #e4e7ec;border-top:2px solid #98a2b3}
.nfse-fiscal-chip span{display:block;color:#667085;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.nfse-fiscal-chip strong{display:block;margin-top:4px;color:#101828;font-size:.82rem}
@media(max-width:720px){.nfse-fiscal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.nfse-service-row{grid-template-columns:1fr}.nfse-service-row b{justify-self:start}}
.manual-playlist-chips button.is-inactive,.manual-slot-service.is-inactive{opacity:.72;border-style:dashed}.manual-playlist-chips button.is-inactive:not(.is-active){background:rgba(100,116,139,.12)}
#modalServico .service-fiscal-box{background:#f8fafc!important;border-color:#dbe3ea!important;color:#101828!important}
#modalServico .service-fiscal-box .playlist-services-title{color:#101828!important}
#modalServico .service-fiscal-help{color:#667085!important}
#modalServico .service-fiscal-box .toncar-field-label{color:#344054!important}
#modalServico .service-fiscal-box .form-control{background:#fff!important;color:#101828!important;border-color:#d0d5dd!important}
#modalServico .service-fiscal-box .form-control::placeholder{color:#98a2b3!important}
#modalServico .playlist-services-box{background:#f8fafc!important;border-color:#dbe3ea!important}
#modalServico .playlist-services-box .playlist-services-title{color:#101828!important}
#modalServico .service-playlist-option{display:flex;align-items:center;gap:8px;padding:10px 11px;background:#fff!important;border:1px solid #d0d5dd!important;border-radius:9px;color:#344054!important;font-size:.78rem;line-height:1.3;cursor:pointer;transition:.15s ease}
#modalServico .service-playlist-option:hover{border-color:#fdba74!important;background:#fff7ed!important}
#modalServico .service-playlist-option:has(input:checked){border-color:#6ce9a6!important;background:#ecfdf3!important;color:#05603a!important}
#modalServico .service-playlist-option input{accent-color:#079455;flex:0 0 auto}
.nfse-tax-section{margin-top:20px;padding:15px;border:1px solid #dbe3ea;border-radius:12px;background:#f8fafc}
.nfse-tax-section .playlist-services-title{color:#101828}.nfse-tax-section .service-fiscal-help{color:#667085!important;margin:4px 0 12px}
.nfse-money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#modalNfse .form-control{background:#fff!important;color:#101828!important;border-color:#d0d5dd!important}
#modalNfse .form-control[readonly]{background:#f2f4f7!important;color:#475467!important}
#modalNfse .toncar-field-label{color:#344054!important}
@media(max-width:900px){.nfse-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.nfse-money-grid{grid-template-columns:1fr}}
@media(max-width:780px){.fiscal-status-grid{grid-template-columns:1fr}.fiscal-section-heading{align-items:flex-start;flex-direction:column}}

/* TONCAR V1.4.2 — CRM: edição detalhada de veículos */
#modalCRMClient .crm-vehicle-card{
  align-items:flex-start!important;
  gap:12px!important;
  padding:14px!important;
  margin:10px 0!important;
  border:1px solid var(--line,#e4e7ec)!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
#modalCRMClient .crm-vehicle-grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  margin-bottom:0!important;
}
#modalCRMClient .crm-vehicle-card .form-control{background:#fff!important;}
@media (max-width:760px){
  #modalCRMClient .crm-vehicle-card{flex-direction:column!important;}
  #modalCRMClient .crm-vehicle-card>.btn-danger{align-self:flex-end!important;}
  #tabCRM #crmStatusFilter{width:100%!important;min-width:100%!important;}
}


/* TONCAR V1.4.3 — ordenação da agenda */
.appointments-filter-sort { min-width: 260px; }
.appointments-filter-sort .form-control { min-width: 260px; }
@media (max-width: 760px) {
  .appointments-filter-sort,
  .appointments-filter-sort .form-control { min-width: 100%; width: 100%; }
}


/* =========================================================
   TONCAR V1.4.3.1 — Agenda: toolbar proprietária e responsiva
   ========================================================= */
#tabAgendamentos .appointments-card-header{
  display:block!important;
  margin-bottom:18px!important;
  padding-bottom:0!important;
  border-bottom:0!important;
}
#tabAgendamentos .appointments-header-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line,#e4e7ec);
}
#tabAgendamentos .appointments-heading{
  min-width:0;
  padding:0!important;
}
#tabAgendamentos .appointments-heading-copy{
  margin:6px 0 0;
  color:#667085;
  font-size:.78rem;
  line-height:1.45;
  max-width:560px;
}
#tabAgendamentos .appointments-new-btn{
  width:auto!important;
  min-width:226px!important;
  min-height:44px!important;
  justify-content:center;
  border-radius:10px!important;
  box-shadow:0 6px 16px rgba(16,185,129,.14);
  white-space:nowrap;
}
#tabAgendamentos .appointments-new-icon{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:7px;
  background:rgba(255,255,255,.18);
  font-size:1.05rem;
  line-height:1;
  font-weight:800;
}
#tabAgendamentos .appointments-filters-shell{
  margin-top:14px;
  padding:13px 14px 14px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfcfe 0%,#f8fafc 100%);
}
#tabAgendamentos .appointments-filters-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
#tabAgendamentos .appointments-filters-topline>div{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
#tabAgendamentos .appointments-filters-kicker{
  color:#98a2b3;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#tabAgendamentos .appointments-filters-topline strong{
  color:#344054;
  font-size:.79rem;
  font-weight:800;
}
#tabAgendamentos .appointments-commandbar{
  display:grid!important;
  grid-template-columns:minmax(165px,.8fr) minmax(175px,.85fr) minmax(165px,.8fr) minmax(255px,1.25fr)!important;
  gap:10px!important;
  align-items:end!important;
  width:100%;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#tabAgendamentos .appointments-filter{
  min-width:0!important;
}
#tabAgendamentos .appointments-filter label{
  display:block;
  margin:0 0 6px;
  color:#667085;
  font-size:.64rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
#tabAgendamentos .appointments-control-wrap{
  position:relative;
  min-width:0;
}
#tabAgendamentos .appointments-control{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 42px 0 13px!important;
  margin:0!important;
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#101828!important;
  font-size:.82rem!important;
  font-weight:650!important;
  line-height:44px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
#tabAgendamentos .appointments-control:hover{
  border-color:#f5a15f!important;
  background:#fffdfb!important;
}
#tabAgendamentos .appointments-control:focus{
  border-color:var(--primary,#f97316)!important;
  box-shadow:0 0 0 3px rgba(249,115,22,.11)!important;
  outline:none!important;
}
#tabAgendamentos .toncar-select{
  -webkit-appearance:none!important;
  appearance:none!important;
  cursor:pointer;
}
#tabAgendamentos .toncar-select-chevron{
  position:absolute;
  right:14px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #667085;
  border-bottom:2px solid #667085;
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
  transition:transform .18s ease,border-color .18s ease;
}
#tabAgendamentos .toncar-select-wrap:focus-within .toncar-select-chevron{
  border-color:var(--primary,#f97316);
  transform:translateY(-35%) rotate(225deg);
}
#tabAgendamentos .appointments-filter-date .appointments-control{
  padding-right:12px!important;
  color-scheme:light!important;
}
#tabAgendamentos .appointments-clear-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  min-width:0!important;
  width:auto!important;
  height:34px!important;
  padding:0 11px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#667085!important;
  font-size:.72rem!important;
  font-weight:750!important;
  cursor:pointer;
  transition:all .18s ease;
}
#tabAgendamentos .appointments-clear-btn:hover{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#c2410c!important;
}
#tabAgendamentos .appointments-clear-icon{
  font-size:.95rem;
  line-height:1;
}

@media(max-width:1050px){
  #tabAgendamentos .appointments-commandbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:820px){
  #tabAgendamentos .appointments-header-row{
    align-items:flex-start;
    flex-direction:column;
  }
  #tabAgendamentos .appointments-new-btn{
    width:100%!important;
    min-width:0!important;
  }
  #tabAgendamentos .appointments-commandbar{
    grid-template-columns:1fr 1fr!important;
  }
  #tabAgendamentos .appointments-filter-sort{
    grid-column:auto;
  }
}
@media(max-width:560px){
  #tabAgendamentos .appointments-heading-copy{font-size:.74rem;}
  #tabAgendamentos .appointments-filters-shell{padding:11px;}
  #tabAgendamentos .appointments-filters-topline{
    align-items:flex-start;
    gap:8px;
  }
  #tabAgendamentos .appointments-filters-topline>div{
    display:block;
  }
  #tabAgendamentos .appointments-filters-kicker{
    display:block;
    margin-bottom:3px;
  }
  #tabAgendamentos .appointments-clear-btn{
    padding:0 7px!important;
  }
  #tabAgendamentos .appointments-commandbar{
    grid-template-columns:1fr!important;
  }
  #tabAgendamentos .appointments-filter-sort{
    grid-column:auto;
  }
}


/* =========================================================
   TONCAR V1.4.4 — Configurações, mensagens e comissões
   ========================================================= */
.washer-inline{display:inline-block;margin-top:5px;color:#667085;font-size:.68rem;line-height:1.3}
.settings-page{display:flex;flex-direction:column;gap:16px}
.settings-heading{margin-bottom:0}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:16px;align-items:start}
.settings-card{margin-bottom:0!important}
.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.settings-card-head h3{margin:3px 0 4px;color:var(--gray-800,#f8fafc);font-size:1.03rem}
.settings-card-head p{color:var(--gray-600,#94a3b8);font-size:.78rem;line-height:1.45;max-width:640px}
.message-vars{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 14px;padding:10px;border:1px solid var(--gray-200,#334155);border-radius:10px;background:rgba(15,23,42,.45)}
.message-vars span{padding:4px 8px;border:1px solid rgba(249,115,22,.25);border-radius:999px;background:rgba(249,115,22,.08);color:#fdba74;font-size:.7rem;font-weight:700}
.message-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.message-template-field{display:flex;flex-direction:column;gap:5px;color:var(--gray-800,#f8fafc);font-size:.8rem}
.message-template-field>strong{font-size:.78rem}
.message-template-field>small{color:var(--gray-600,#94a3b8);font-size:.7rem;line-height:1.35}
.message-template-field textarea{min-height:154px;resize:vertical;line-height:1.5}
.settings-actions{display:flex;justify-content:flex-end;margin-top:14px}
.completion-summary{display:grid;gap:5px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#344054;font-size:.82rem;margin-bottom:14px}
.completion-summary strong{color:#101828;font-size:.92rem}.completion-summary span{color:#667085}
.completion-fields{margin-top:8px}.completion-fields .form-control{background:#fff!important;color:#101828!important;border-color:#d0d5dd!important}
.completion-commission-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.completion-commission-preview span{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.72rem}
.completion-commission-preview strong{font-size:.92rem;color:#c2410c}
.commission-fixed-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);color:#047857;font-size:.78rem}
#modalConclusao .toncar-select-wrap{position:relative}#modalConclusao .toncar-select{appearance:none;padding-right:42px!important}#modalConclusao .toncar-select-chevron{position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:2px solid #667085;border-bottom:2px solid #667085;transform:translateY(-70%) rotate(45deg);pointer-events:none}
@media(max-width:980px){.settings-grid{grid-template-columns:1fr}.settings-washers-card{order:-1}}
@media(max-width:680px){.message-template-grid{grid-template-columns:1fr}.settings-card-head{flex-direction:column}.settings-card-head .btn{width:100%;justify-content:center}.completion-commission-preview{grid-template-columns:1fr}}


/* =========================================================
   TONCAR V1.4.5 — coerência visual do painel claro
   ========================================================= */
#adminAppContent .settings-card-head h3,
#adminAppContent .settings-card-head p,
#adminAppContent .message-template-field,
#adminAppContent .message-template-field > strong,
#adminAppContent .message-template-field > small,
#adminAppContent .settings-card .section-kicker,
#adminAppContent .settings-card .card-title{
  color:var(--text)!important;
}
#adminAppContent .settings-card-head p,
#adminAppContent .message-template-field > small{
  color:var(--muted)!important;
}
#adminAppContent .message-vars{
  background:#f8fafc!important;
  border-color:var(--line)!important;
}
#adminAppContent .message-vars span{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
  color:#c2410c!important;
}
#adminAppContent #tabCRM .box-add h3,
#adminAppContent #tabCRM .box-add h4,
#adminAppContent #tabCRM .box-add label,
#adminAppContent #tabHorarios .box-add h3,
#adminAppContent #tabEquipe .box-add h3{
  color:var(--text)!important;
}
#adminAppContent #tabCRM .box-add p,
#adminAppContent #tabHorarios .box-add p{
  color:var(--muted)!important;
}
.btn-nfse{background:#7c3aed!important;color:#fff!important}
.btn-nfse:hover:not(:disabled){background:#6d28d9!important}
.btn-nfse:disabled{background:#e9d5ff!important;color:#7e22ce!important;cursor:not-allowed;opacity:.72!important}
.finance-period-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.report-washer-filter{min-width:220px}
.btn-whatsapp-report{background:#16a34a!important;color:#fff!important}
.btn-whatsapp-report:hover{background:#15803d!important}
@media(max-width:760px){
  .finance-period-actions{grid-column:1/-1;width:100%}
  .finance-period-actions .btn{flex:1 1 180px}
  .report-washer-filter{min-width:100%;width:100%}
}

.report-total-row td{background:#fff7ed!important;color:#9a3412!important;border-top:2px solid #fed7aa!important}
#adminAppContent .box-add strong{color:inherit!important}
#adminAppContent #importProgress{color:var(--text)!important}

/* TONCAR — confirmação visual de pagamento nos agendamentos */
.payment-status-select{
  appearance:none;
  min-width:116px;
  height:34px;
  padding:6px 30px 6px 12px!important;
  border-radius:999px!important;
  font-size:.74rem!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer;
  background-repeat:no-repeat!important;
  background-position:right 11px center!important;
  background-size:8px 8px!important;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.payment-status-select.is-unpaid{
  color:#9a3412!important;
  background-color:#fff7ed!important;
  border-color:#fed7aa!important;
  background-image:linear-gradient(45deg,transparent 50%,#c2410c 50%),linear-gradient(135deg,#c2410c 50%,transparent 50%)!important;
}
.payment-status-select.is-paid{
  color:#067647!important;
  background-color:#ecfdf3!important;
  border-color:#86efac!important;
  background-image:linear-gradient(45deg,transparent 50%,#067647 50%),linear-gradient(135deg,#067647 50%,transparent 50%)!important;
}
.payment-status-select:focus{outline:none!important;box-shadow:0 0 0 3px rgba(249,115,22,.14)!important}
.payment-status-select:disabled{cursor:wait;opacity:.65}
.booking-payment-field{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.booking-payment-field>span{font-size:.69rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.booking-payment-field .payment-status-select{width:100%}

/* V1.4.7 — contas a receber e agenda mobile em cartões */
.finance-receivables-panel{padding:16px!important}
.finance-receivables-table{min-width:760px}
.receivable-value{color:#b45309!important;white-space:nowrap}
.finance-stat-receivable{background:linear-gradient(180deg,#fff 0%,#fffbeb 100%)}
.appointments-mobile-list{display:none}
.appointment-complete-btn{background:#0284c7!important;color:#fff!important}
.btn-whatsapp-mobile{background:#16a34a!important;color:#fff!important;text-decoration:none!important}
.btn-patio{background:#6938ef!important;color:#fff!important}
.btn-patio:hover{background:#5925dc!important}
.appointment-observation{display:inline-block;margin-top:5px;max-width:230px;color:#667085;font-size:.67rem;line-height:1.35}
.appointment-mobile-observation{display:flex;flex-direction:column;gap:3px;margin:-2px 0 10px;padding:9px 10px;border-left:3px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#92400e;font-size:.7rem;line-height:1.4}
.appointment-mobile-observation strong{font-size:.61rem;text-transform:uppercase;letter-spacing:.05em}

.appointments-view-toggle{display:flex;gap:3px;margin-left:auto;padding:3px;border:1px solid #e4e7ec;border-radius:9px;background:#f2f4f7}
.appointments-view-toggle button{height:28px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#667085;font-size:.68rem;font-weight:800;cursor:pointer}
.appointments-view-toggle button.is-active{background:#fff;color:#c2410c;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.appointments-view-blocks>.card>.table-responsive{display:none}
.appointments-view-blocks .appointments-mobile-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;align-items:start}
.appointments-view-blocks .appointment-mobile-card{padding:15px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.055)}
.appointments-view-blocks .appointment-mobile-head,.appointments-view-blocks .appointment-mobile-person,.appointments-view-blocks .appointment-mobile-service,.appointments-view-blocks .appointment-mobile-payment{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.appointments-view-blocks .appointment-mobile-head{padding-bottom:11px;border-bottom:1px solid #f0f2f5}.appointments-view-blocks .appointment-mobile-head>div{display:flex;flex-direction:column;gap:3px}.appointments-view-blocks .appointment-mobile-head>div span{color:#98a2b3;font-size:.62rem;font-weight:800;text-transform:uppercase}.appointments-view-blocks .appointment-mobile-person{padding:12px 0 9px}.appointments-view-blocks .appointment-mobile-person a{color:#067647;font-size:.7rem;font-weight:750;text-decoration:none}
.appointments-view-blocks .appointment-mobile-vehicle{display:grid;grid-template-columns:1.35fr .7fr 1fr;gap:8px;padding:10px;border-radius:11px;background:#f8fafc}.appointments-view-blocks .appointment-mobile-vehicle span{display:flex;flex-direction:column;gap:2px;min-width:0}.appointments-view-blocks .appointment-mobile-vehicle small{color:#98a2b3;font-size:.58rem;font-weight:800;text-transform:uppercase}.appointments-view-blocks .appointment-mobile-vehicle strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.appointments-view-blocks .appointment-mobile-service{padding:12px 2px}.appointments-view-blocks .appointment-mobile-payment{align-items:center;padding:10px 0;border-top:1px solid #f0f2f5}.appointments-view-blocks .appointment-mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:auto;padding-top:10px;border-top:1px solid #f0f2f5}.appointments-view-blocks .appointment-mobile-actions .btn{width:100%!important;min-height:38px!important;justify-content:center!important;margin:0!important;font-size:.68rem!important}.appointments-view-blocks .appointment-mobile-card{display:flex;flex-direction:column}

.form-grid-full{grid-column:1/-1}
.manual-services-field{padding:14px;border:1px solid #d0d5dd;border-radius:13px;background:#f8fafc}
.manual-services-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.manual-services-heading>div{display:flex;flex-direction:column;gap:3px}.manual-services-heading strong{color:#101828;font-size:.86rem}.manual-services-heading small{color:#667085;font-size:.7rem;line-height:1.35}.manual-services-heading>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:.66rem;font-weight:800}
.manual-service-playlists{display:grid;gap:12px;max-height:420px;overflow:auto;padding-right:3px}.manual-service-group{padding:11px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.manual-service-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.manual-service-group-title strong{color:#344054;font-size:.78rem}.manual-service-group-title span{color:#98a2b3;font-size:.62rem}.manual-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.manual-service-card{display:block;cursor:pointer}.manual-service-card>input{position:absolute;opacity:0;pointer-events:none}.manual-service-card-body{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:58px;padding:9px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;transition:.16s ease}.manual-service-checkmark{display:flex;align-items:center;justify-content:center;width:21px;height:21px;border:1.5px solid #d0d5dd;border-radius:6px;color:transparent;font-size:.72rem;font-weight:900}.manual-service-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.manual-service-copy strong{overflow:hidden;color:#344054;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.manual-service-copy small{overflow:hidden;color:#98a2b3;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.manual-service-card-body>b{color:#067647;font-size:.69rem;white-space:nowrap}.manual-service-card>input:checked+.manual-service-card-body{border-color:#86efac;background:#ecfdf3;box-shadow:0 0 0 2px rgba(34,197,94,.08)}.manual-service-card>input:checked+.manual-service-card-body .manual-service-checkmark{border-color:#12b76a;background:#12b76a;color:#fff}.manual-service-card:hover .manual-service-card-body{border-color:#f5a15f}.manual-services-empty{padding:18px;color:#667085;text-align:center}
.manual-observation-field{display:flex;flex-direction:column;gap:6px}.manual-observation-field>span{color:#475467;font-size:.7rem;font-weight:800}.manual-observation-field textarea{resize:vertical;min-height:82px}
.btn-add-service{background:#f79009!important;color:#fff!important;white-space:nowrap}.manual-services-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid #e4e7ec}.manual-services-footer span{color:#667085;font-size:.7rem;font-weight:750}.manual-services-footer strong{color:#067647;font-size:.9rem}.manual-service-slots{display:grid;gap:10px}.manual-service-slot{padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.manual-service-slot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.manual-service-slot-head>div{display:flex;flex-direction:column;gap:2px}.manual-service-slot-head span{color:#98a2b3;font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.manual-service-slot-head strong{color:#344054;font-size:.78rem}.manual-service-remove{border:0;background:transparent;color:#d92d20;font-size:.67rem;font-weight:800;cursor:pointer}.manual-playlist-chips{display:flex;gap:6px;overflow-x:auto;padding:1px 0 8px}.manual-playlist-chips button{flex:0 0 auto;padding:7px 10px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#667085;font-size:.67rem;font-weight:800;cursor:pointer}.manual-playlist-chips button.is-active{border-color:#f79009;background:#fff7ed;color:#c2410c;box-shadow:0 0 0 2px rgba(247,144,9,.08)}.manual-slot-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.manual-slot-service{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:9px 10px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.manual-slot-service>span{display:flex;flex-direction:column;gap:2px;min-width:0}.manual-slot-service strong{overflow:hidden;color:#344054;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.manual-slot-service small{overflow:hidden;color:#98a2b3;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.manual-slot-service>b{color:#067647;font-size:.69rem;white-space:nowrap}.manual-slot-service:hover{border-color:#f5a15f;background:#fffdfb}.manual-slot-service.is-selected{border-color:#12b76a;background:#ecfdf3;box-shadow:0 0 0 2px rgba(18,183,106,.09)}.manual-slot-service.is-selected:before{content:'✓';display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border-radius:6px;background:#12b76a;color:#fff;font-size:.68rem;font-weight:900}.manual-slot-hint{padding:14px;border:1px dashed #d0d5dd;border-radius:9px;background:#f8fafc;color:#667085;text-align:center;font-size:.69rem}.patio-preview{grid-column:1/-1!important;background:#f4f3ff!important;border-color:#d9d6fe!important;color:#5925dc!important}.patio-preview strong{color:#5925dc!important}

@media(max-width:1180px){
  .finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .appointments-view-toggle{display:none}
  #tabAgendamentos .table-responsive{display:none}
  .appointments-mobile-list{display:grid;gap:12px;padding-top:2px}
  .appointments-mobile-empty{padding:24px 16px;border:1px dashed #d0d5dd;border-radius:12px;background:#f8fafc;color:#667085;text-align:center;font-size:.82rem}
  .appointment-mobile-card{padding:14px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.055)}
  .appointment-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #f0f2f5}
  .appointment-mobile-head>div{display:flex;flex-direction:column;gap:3px}.appointment-mobile-head>div span{color:#98a2b3;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.appointment-mobile-head>div strong{color:#101828;font-size:.92rem}
  .appointment-mobile-person{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0 9px}.appointment-mobile-person strong{font-size:.9rem;color:#101828}.appointment-mobile-person a{font-size:.7rem;color:#067647;font-weight:750;text-decoration:none}
  .appointment-mobile-vehicle{display:grid;grid-template-columns:1.35fr .7fr 1fr;gap:8px;padding:10px;border-radius:11px;background:#f8fafc}
  .appointment-mobile-vehicle span{display:flex;flex-direction:column;gap:2px;min-width:0}.appointment-mobile-vehicle small{color:#98a2b3;font-size:.58rem;font-weight:800;text-transform:uppercase}.appointment-mobile-vehicle strong{overflow:hidden;color:#344054;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
  .appointment-mobile-service{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 2px}.appointment-mobile-service span{color:#475467;font-size:.76rem;line-height:1.35}.appointment-mobile-service strong{color:#101828;font-size:.88rem;white-space:nowrap}
  .appointment-mobile-payment{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #f0f2f5}.appointment-mobile-payment>span{color:#667085;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.appointment-mobile-payment .payment-status-select{width:128px}
  .appointment-mobile-washer{margin-bottom:10px;padding:8px 10px;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-size:.68rem;font-weight:700}
  .appointment-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:3px}
  .appointment-mobile-actions .btn{width:100%!important;min-height:40px!important;justify-content:center!important;margin:0!important;padding:8px 7px!important;font-size:.7rem!important}
  .manual-service-grid,.manual-slot-options{grid-template-columns:1fr}.manual-services-heading{flex-direction:column}.manual-service-playlists{max-height:360px}.btn-add-service{width:100%!important;justify-content:center!important}.manual-service-slot{padding:10px}
  .finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(min-width:761px) and (max-width:1180px){
  .appointments-view-blocks .appointments-mobile-list{grid-template-columns:1fr}
  .appointments-view-blocks .appointment-mobile-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:430px){
  .appointment-mobile-vehicle{grid-template-columns:1fr 1fr}.appointment-mobile-vehicle span:first-child{grid-column:1/-1}
  .finance-stats{grid-template-columns:1fr!important}
}

/* V1.5.3 — comissão individual por serviço */
.commission-settings-box{display:flex;align-items:flex-end;gap:12px;margin:0 0 16px;padding:14px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc}.commission-settings-box .message-template-field{flex:1}.commission-settings-box .form-control{max-width:220px}.manual-service-execution{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);gap:10px;margin-top:11px;padding:11px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc}.manual-service-execution label,.completion-service-fields label{display:flex;flex-direction:column;gap:5px}.manual-service-execution label>span,.completion-service-fields label>span{color:#344054;font-size:.66rem;font-weight:800}.completion-service-assignments{display:grid;gap:10px;margin-top:12px}.completion-service-row{padding:13px;border:1px solid #dbe4ee;border-radius:12px;background:#fff}.completion-service-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#101828}.completion-service-title strong{font-size:.82rem}.completion-service-title span{color:#067647;font-size:.76rem;font-weight:850}.completion-service-fields{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px}.completion-service-value{margin-top:9px;color:#667085;font-size:.68rem;text-align:right}.completion-service-value strong{color:#067647;font-size:.78rem}
@media(max-width:700px){.commission-settings-box{align-items:stretch;flex-direction:column}.commission-settings-box .form-control{max-width:none}.manual-service-execution,.completion-service-fields{grid-template-columns:1fr}.completion-service-value{text-align:left}}

/* V1.5.3.1 — seleção de playlist sem rolagem horizontal */
.manual-playlist-select-label{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.manual-playlist-select-label>span{color:#344054;font-size:.66rem;font-weight:850}.manual-playlist-select{width:100%;min-height:42px;padding-right:38px!important;background:#fff;color:#101828;font-weight:750}.manual-playlist-select option{background:#fff;color:#101828}.manual-service-slot .toncar-select-wrap{width:100%}

/* V1.5.3.2.1 — SOMENTE MOBILE. Desktop permanece idêntico à V1.5.3.2. */
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
  body{touch-action:pan-y}
  #adminAppContent,.admin-header,.container,.tab-section,.card,.box-add,.finance-panel,.settings-page,.settings-grid{width:100%!important;max-width:100%!important;min-width:0!important}
  #adminAppContent,.container,.tab-section{overflow-x:hidden!important}
  #adminAppContent *{box-sizing:border-box;min-width:0}
  #adminAppContent img,#adminAppContent svg,#adminAppContent canvas,#adminAppContent video{max-width:100%;height:auto}

  .nav-tabs{width:100%!important;max-width:100%!important;display:flex!important;flex-wrap:wrap!important;overflow-x:hidden!important}
  .tab-btn{flex:1 1 calc(50% - 4px)!important;min-width:0!important;max-width:100%!important;white-space:normal!important;text-align:center!important}

  .stats-grid,.settings-grid,.finance-layout,.finance-stats,.filter-surface,.filter-bar,.form-grid-manual{width:100%!important;max-width:100%!important;grid-template-columns:minmax(0,1fr)!important}
  .page-heading,.card-header,.settings-card-head,.box-title-row,.reports-head,.annual-head{max-width:100%;min-width:0;flex-wrap:wrap}
  .form-control,input,select,textarea{width:100%;max-width:100%!important;min-width:0!important}

  .appointments-mobile-list,.appointments-view-blocks .appointments-mobile-list{display:grid!important;width:100%!important;max-width:100%!important;grid-template-columns:minmax(0,1fr)!important;overflow-x:hidden!important}
  .appointment-mobile-card,.appointments-view-blocks .appointment-mobile-card{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}
  .appointment-mobile-card *{min-width:0;max-width:100%}
  .appointment-mobile-head,.appointment-mobile-person,.appointment-mobile-service,.appointment-mobile-payment{min-width:0;max-width:100%;flex-wrap:wrap!important}
  .appointment-mobile-service span{flex:1 1 170px;white-space:normal!important;overflow-wrap:anywhere}
  .appointment-mobile-service strong{white-space:nowrap!important}
  .appointment-mobile-actions,.appointments-view-blocks .appointment-mobile-actions{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .appointment-mobile-actions .btn{width:100%!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere}
  .appointment-mobile-payment .payment-status-select{width:min(100%,150px)!important;min-width:0!important}

  .toncar-modal{width:100vw!important;max-width:100vw!important;padding:8px!important;overflow-x:hidden!important;align-items:flex-end}
  .toncar-modal-panel,.toncar-modal-large,.toncar-modal-medium{width:100%!important;max-width:calc(100vw - 16px)!important;min-width:0!important;max-height:94vh!important;margin:0!important;padding:14px!important;overflow-x:hidden!important;overscroll-behavior-x:none}
  .toncar-modal-panel *{min-width:0;max-width:100%}
  .toncar-modal-header>div{min-width:0;max-width:calc(100% - 48px)}
  .toncar-modal-header h3,.toncar-modal-header p{white-space:normal;overflow-wrap:anywhere}
  .toncar-modal-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .toncar-modal-actions .btn{width:100%!important;min-width:0!important;white-space:normal!important}

  #modalAgendamento .form-grid-manual{width:100%!important;grid-template-columns:minmax(0,1fr)!important}
  #modalAgendamento .form-grid-manual>*{width:100%;max-width:100%;min-width:0}
  #modalAgendamento .manual-services-field,#modalAgendamento .manual-service-slots,#modalAgendamento .manual-service-slot,#modalAgendamento .manual-slot-options,#modalAgendamento .manual-service-execution{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  #modalAgendamento .manual-services-field{padding:10px!important}
  #modalAgendamento .manual-services-heading{width:100%;align-items:stretch!important;flex-direction:column!important}
  #modalAgendamento .manual-services-heading>div{width:100%;min-width:0}
  #modalAgendamento .manual-services-heading strong,#modalAgendamento .manual-services-heading small,#modalAgendamento .manual-service-slot-head strong{white-space:normal!important;overflow-wrap:anywhere}
  #modalAgendamento .manual-slot-options,#modalAgendamento .manual-service-execution{grid-template-columns:minmax(0,1fr)!important}
  #modalAgendamento .manual-service-slot-head{width:100%;flex-wrap:wrap!important}
  #modalAgendamento .manual-slot-service{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
  #modalAgendamento .manual-slot-service>span{width:100%;min-width:0;max-width:100%}
  #modalAgendamento .manual-slot-service strong,#modalAgendamento .manual-slot-service small{width:100%;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;text-overflow:clip!important}
  #modalAgendamento .manual-slot-service>b{grid-column:2;justify-self:start;margin-top:5px;white-space:nowrap!important}

  .table-responsive{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  .table-responsive table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
  .table-responsive th,.table-responsive td{width:auto!important;min-width:0!important;padding:7px 4px!important;white-space:normal!important;word-break:break-word!important;font-size:.6rem!important}
  .table-responsive .action-btns{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
  .table-responsive .btn,.table-responsive .form-control{width:100%!important;max-width:100%!important;min-width:0!important;padding:5px 3px!important;white-space:normal!important;font-size:.58rem!important}
  .finance-receivables-table,.finance-ledger-table{width:100%!important;min-width:0!important}
}

@media(max-width:420px){
  .tab-btn{flex-basis:100%!important}
  .appointment-mobile-actions,.appointments-view-blocks .appointment-mobile-actions{grid-template-columns:minmax(0,1fr)!important}
  .appointment-mobile-vehicle,.appointments-view-blocks .appointment-mobile-vehicle{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
}

/* TONCAR — hierarquia elegante das ações dos agendamentos */
#tableAgendamentos .appointment-action,
.appointment-mobile-actions .appointment-action{
  min-height:34px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.08)!important;
  font-weight:750!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease!important;
}
#tableAgendamentos .appointment-action:hover:not(:disabled),
.appointment-mobile-actions .appointment-action:hover:not(:disabled){transform:translateY(-1px)}
#tableAgendamentos .appointment-action-edit,
.appointment-mobile-actions .appointment-action-edit{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important}
#tableAgendamentos .appointment-action-edit:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-edit:hover:not(:disabled){background:#e5e7eb!important;border-color:#9ca3af!important;color:#1f2937!important}
#tableAgendamentos .appointment-action-confirm,
.appointment-mobile-actions .appointment-action-confirm{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}
#tableAgendamentos .appointment-action-confirm:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-confirm:hover:not(:disabled){background:#067647!important;border-color:#067647!important}
#tableAgendamentos .appointment-action-operational,
.appointment-mobile-actions .appointment-action-operational{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important;text-decoration:none!important}
#tableAgendamentos .appointment-action-operational:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-operational:hover:not(:disabled){background:#e5e7eb!important;border-color:#9ca3af!important;color:#1f2937!important}
#tableAgendamentos .appointment-action-reminder,
.appointment-mobile-actions .appointment-action-reminder{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}
#tableAgendamentos .appointment-action-reminder:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-reminder:hover:not(:disabled){background:#d97706!important;border-color:#d97706!important;color:#fff!important}
#tableAgendamentos .appointment-action-whatsapp,
.appointment-mobile-actions .appointment-action-whatsapp{background:#128c7e!important;border-color:#128c7e!important;color:#fff!important;text-decoration:none!important}
#tableAgendamentos .appointment-action-whatsapp:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-whatsapp:hover:not(:disabled){background:#0f766e!important;border-color:#0f766e!important;color:#fff!important}
#tableAgendamentos .appointment-action-reject,
.appointment-mobile-actions .appointment-action-reject{background:#fff!important;border-color:#f04438!important;color:#b42318!important}
#tableAgendamentos .appointment-action-reject:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-reject:hover:not(:disabled){background:#fff1f0!important;border-color:#d92d20!important}
#tableAgendamentos .appointment-action-delete,
.appointment-mobile-actions .appointment-action-delete{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
#tableAgendamentos .appointment-action-delete:hover:not(:disabled),
.appointment-mobile-actions .appointment-action-delete:hover:not(:disabled){background:#b42318!important;border-color:#b42318!important}
#tableAgendamentos .appointment-action:disabled,
.appointment-mobile-actions .appointment-action:disabled{background:#eaecf0!important;border-color:#d0d5dd!important;color:#98a2b3!important;box-shadow:none!important;opacity:1!important;cursor:not-allowed!important;transform:none!important}

/* O modo Blocos herda uma regra genérica forte dos botões do painel.
   O ID abaixo garante a mesma hierarquia visual usada no modo Lista. */
#appointmentsMobileList .appointment-action-edit{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important}
#appointmentsMobileList .appointment-action-confirm{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}
#appointmentsMobileList .appointment-action-operational{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important;text-decoration:none!important}
#appointmentsMobileList .appointment-action-reminder{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}
#appointmentsMobileList .appointment-action-whatsapp{background:#128c7e!important;border-color:#128c7e!important;color:#fff!important;text-decoration:none!important}
#appointmentsMobileList .appointment-action-reject{background:#fff!important;border-color:#f04438!important;color:#b42318!important}
#appointmentsMobileList .appointment-action-delete{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
#appointmentsMobileList .appointment-action:disabled{background:#eaecf0!important;border-color:#d0d5dd!important;color:#98a2b3!important;box-shadow:none!important;opacity:1!important}
#appointmentsMobileList .appointment-action-edit:hover:not(:disabled){background:#e5e7eb!important;border-color:#9ca3af!important;color:#1f2937!important}
#appointmentsMobileList .appointment-action-confirm:hover:not(:disabled){background:#067647!important;border-color:#067647!important}
#appointmentsMobileList .appointment-action-operational:hover:not(:disabled){background:#e5e7eb!important;border-color:#9ca3af!important;color:#1f2937!important}
#appointmentsMobileList .appointment-action-reminder:hover:not(:disabled){background:#d97706!important;border-color:#d97706!important;color:#fff!important}
#appointmentsMobileList .appointment-action-whatsapp:hover:not(:disabled){background:#0f766e!important;border-color:#0f766e!important;color:#fff!important}
#appointmentsMobileList .appointment-action-reject:hover:not(:disabled){background:#fff1f0!important;border-color:#d92d20!important}
#appointmentsMobileList .appointment-action-delete:hover:not(:disabled){background:#b42318!important;border-color:#b42318!important}

/* TONCAR V1.6.2 — linguagem visual operacional dos botões */
#tableAgendamentos .appointment-action-patio,
#appointmentsMobileList .appointment-action-patio{background:#475569!important;border-color:#475569!important;color:#fff!important}
#tableAgendamentos .appointment-action-box,
#appointmentsMobileList .appointment-action-box{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
#tableAgendamentos .appointment-action-nfse,
#appointmentsMobileList .appointment-action-nfse{background:#eef2ff!important;border-color:#c7d2fe!important;color:#3730a3!important}
#tableAgendamentos .appointment-action-washer,
#appointmentsMobileList .appointment-action-washer{background:#334155!important;border-color:#334155!important;color:#fff!important}
#tableAgendamentos .appointment-action-finish,
#appointmentsMobileList .appointment-action-finish{
  position:relative!important;
  overflow:hidden!important;
  border-color:#111827!important;
  background-color:#111827!important;
  background-image:linear-gradient(45deg,rgba(255,255,255,.96) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.96) 75%),linear-gradient(45deg,rgba(255,255,255,.96) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.96) 75%)!important;
  background-position:0 0,7px 7px!important;
  background-size:14px 14px!important;
  color:#fff!important;
  text-shadow:0 1px 3px #000,0 0 4px #000!important;
}
#tableAgendamentos .appointment-action-finish:hover:not(:disabled),
#appointmentsMobileList .appointment-action-finish:hover:not(:disabled){filter:brightness(.92)!important}
#tableAgendamentos .appointment-action-finish .finish-label,
#appointmentsMobileList .appointment-action-finish .finish-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:3px 9px!important;
  border:1px solid #94a3b8!important;
  border-radius:999px!important;
  background:rgba(248,250,252,.96)!important;
  color:#111827!important;
  box-shadow:0 1px 2px rgba(15,23,42,.18)!important;
  line-height:1!important;
  text-shadow:none!important;
}
#appointmentsMobileList .appointment-action-delete{grid-column:1 / -1!important;min-height:42px!important}
#tableAgendamentos .appointment-action-patio:disabled,
#tableAgendamentos .appointment-action-box:disabled,
#tableAgendamentos .appointment-action-nfse:disabled,
#tableAgendamentos .appointment-action-finish:disabled,
#appointmentsMobileList .appointment-action-patio:disabled,
#appointmentsMobileList .appointment-action-box:disabled,
#appointmentsMobileList .appointment-action-nfse:disabled,
#appointmentsMobileList .appointment-action-finish:disabled{background:#eaecf0!important;background-image:none!important;border-color:#d0d5dd!important;color:#98a2b3!important;text-shadow:none!important}
#tableAgendamentos .appointment-action-finish:disabled .finish-label,
#appointmentsMobileList .appointment-action-finish:disabled .finish-label{border-color:transparent!important;background:transparent!important;color:#98a2b3!important;box-shadow:none!important}

/* Resumo visual do lavador e da comissão */
#appointmentsMobileList .appointment-mobile-washer{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #e2e8f0!important;
  border-radius:11px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
}
.appointment-washer-avatar,.washer-inline-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e2e8f0;color:#334155;font-size:.78rem;font-weight:900}
.appointment-washer-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.appointment-washer-copy small,.appointment-washer-commission small{color:#64748b;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.appointment-washer-copy strong{overflow:hidden;color:#0f172a;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.appointment-washer-commission{display:flex;align-items:flex-end;flex-direction:column;gap:2px;padding:6px 9px;border-radius:8px;background:#ecfdf3;color:#067647}
.appointment-washer-commission strong{font-size:.74rem;white-space:nowrap}
#tableAgendamentos .washer-inline{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:7px;padding:6px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}
#tableAgendamentos .washer-inline-avatar{width:26px;height:26px;font-size:.64rem}
#tableAgendamentos .washer-inline span:not(.washer-inline-avatar){display:flex;min-width:0;flex-direction:column}
#tableAgendamentos .washer-inline small{color:#64748b;font-size:.52rem;font-weight:800;text-transform:uppercase}
#tableAgendamentos .washer-inline strong{overflow:hidden;color:#0f172a;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
#tableAgendamentos .washer-inline em{padding:4px 6px;border-radius:6px;background:#ecfdf3;color:#067647;font-size:.62rem;font-style:normal;font-weight:850;white-space:nowrap}

/* V1.5.3.2.2 — opções de serviço com a mesma estrutura do item selecionado */
@media(max-width:760px){
  #modalAgendamento .manual-slot-service::before{
    content:''!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:start!important;
    width:20px!important;
    height:20px!important;
    margin-top:1px!important;
    border:1.5px solid #d0d5dd!important;
    border-radius:6px!important;
    background:#fff!important;
    color:transparent!important;
    font-size:.68rem!important;
    font-weight:900!important;
  }
  #modalAgendamento .manual-slot-service.is-selected::before{
    content:'✓'!important;
    border-color:#12b76a!important;
    background:#12b76a!important;
    color:#fff!important;
  }
  #modalAgendamento .manual-slot-service>span{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
  }
  #modalAgendamento .manual-slot-service>b{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:start!important;
    width:auto!important;
    margin:6px 0 0!important;
  }
}

/* V1.5.3.2.3 — navegação mobile e ordenação dos serviços por playlist */
.mobile-nav-menu{display:none}
.playlist-order-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 12px}
.playlist-order-heading>div{min-width:0}.playlist-order-heading small{display:block;margin-top:3px;color:#667085;font-size:.7rem}
.playlist-order-heading>label{display:flex;flex:0 0 250px;flex-direction:column;gap:5px;color:#344054;font-size:.68rem;font-weight:800}
#playlistServiceChecks{display:grid;grid-template-columns:1fr;gap:8px}
.playlist-order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}
.playlist-order-item.is-selected{border-color:#86efac;background:#f0fdf4}
.playlist-order-item .playlist-service-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;cursor:pointer}
.playlist-order-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.playlist-order-copy strong{color:#101828;font-size:.75rem}.playlist-order-copy small{overflow:hidden;color:#667085;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.playlist-order-item b{color:#067647;font-size:.72rem;white-space:nowrap}.playlist-order-actions{display:flex;gap:5px}.playlist-order-actions .btn{width:34px;height:32px;padding:0!important}

@media(max-width:760px){
  .mobile-nav-menu{display:flex;width:100%;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
  .mobile-nav-menu>span{color:#667085;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
  #mainNavTabs{display:none!important}
  .playlist-order-heading{align-items:stretch;flex-direction:column}.playlist-order-heading>label{flex:1 1 auto;width:100%}
  .playlist-order-item{grid-template-columns:minmax(0,1fr)}
  .playlist-order-item .playlist-service-option{grid-template-columns:20px minmax(0,1fr)}
  .playlist-order-item .playlist-service-option>b{grid-column:2;justify-self:start}
  .playlist-order-copy small{white-space:normal;overflow-wrap:anywhere}
  .playlist-order-actions{grid-column:1;justify-content:flex-end}
}
