/* Responsividade global V87 */
html,body{max-width:100%;overflow-x:clip}
main,section,article,aside,form,header,footer,div{min-width:0}
img,video,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%}
:where(.admin-workspace,.site-professional-dashboard,.page-head,.home-section,.product-grid,.course-list,.about-layout,.values,.results-grid,.contact-grid,.booking-shell,.evaluation-page,.evaluation-steps){min-width:0}
:where(.admin-panel-card,.professional-detail,.booking,.contact-form-shell,.login-box,.evaluation-shell,.agenda-list-card,.agenda-form-card,.agenda-calendar-card){max-width:100%;min-width:0}
:where(.admin-form-grid,.admin-split-grid,.admin-overview,.cashbook-overview,.product-grid,.results-grid,.contact-grid,.booking-shell,.feature-grid,.values){min-width:0}
:where(.admin-form-grid,.admin-split-grid,.admin-overview,.cashbook-overview,.product-grid,.results-grid,.contact-grid,.booking-shell,.feature-grid,.values)>*{min-width:0}
:where(h1,h2,h3,h4,p,strong,span,small,label,a){overflow-wrap:anywhere}

/* rolagem consistente */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 55%,var(--line)) color-mix(in srgb,var(--paper2) 92%,transparent)}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:color-mix(in srgb,var(--paper2) 92%,transparent);border-radius:999px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 48%,var(--line));border:2px solid color-mix(in srgb,var(--paper2) 92%,transparent);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gold) 72%,var(--line))}

@media(max-width:1366px){
  .admin-workspace,.site-professional-dashboard{width:100%!important;max-width:none!important;padding-inline:16px!important}
  .page-head,.home-section,.product-grid,.course-list,.about-layout,.values,.results-grid,.contact-grid,.booking-shell,.evaluation-page,.evaluation-steps{padding-inline:clamp(16px,3vw,34px)!important}
  .admin-section-head,.admin-card-title,.agenda-toolbar{gap:12px!important;flex-wrap:wrap!important}.admin-section-head>*,.admin-card-title>*,.agenda-toolbar>*{min-width:0}
  .admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-form-grid .wide{grid-column:1/-1}
  .admin-split-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important}
  .cashbook-overview,.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:1100px){
  .home-hero{grid-template-columns:1fr!important}.hero-carousel-wrap{max-width:760px;width:100%;margin-inline:auto}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.feature-grid,.values{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-split-grid{grid-template-columns:1fr!important}.admin-form-card{position:static!important;top:auto!important}
  .admin-tabs,.professional-work-tabs{overflow-x:auto;justify-content:flex-start!important}
  .admin-tabs button{flex:0 0 auto!important}
}

@media(max-width:820px){
  .header{padding-inline:14px!important}
  .page-head,.home-section,.product-grid,.course-list,.about-layout,.values,.results-grid,.contact-grid,.booking-shell,.evaluation-page,.evaluation-steps{padding-inline:14px!important}
  .admin-workspace,.site-professional-dashboard{padding-inline:10px!important}
  .admin-form-grid,.admin-overview,.cashbook-overview,.product-grid,.feature-grid,.values,.results-grid,.contact-grid{grid-template-columns:1fr!important}
  .admin-form-grid>*{grid-column:auto!important}.admin-section-head,.admin-card-title{align-items:stretch!important}
  .admin-section-head>.btn,.admin-section-head>button,.admin-card-title>.btn,.admin-card-title>button{width:100%}
  .booking-shell,.about-layout,.contact-form-shell,.login-wrap{grid-template-columns:1fr!important}
  footer{grid-template-columns:1fr!important;gap:16px!important}footer>span{grid-column:auto!important}
  dialog,.public-detail-dialog-card{max-width:calc(100vw - 24px)!important}
}

@media(max-width:600px){
  .header{height:70px!important;min-height:70px!important}.page-head{padding-top:48px!important;padding-bottom:34px!important}
  .page-head h1,.section-title h2{font-size:clamp(34px,11vw,46px)!important}
  .course-list article,.feature-card,.booking,.contact-form-shell,.admin-panel-card{padding:16px!important}
  .btn{max-width:100%;white-space:normal;text-align:center}
  .filters{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:14px!important}.filters .filter{flex:0 0 auto}
  .stats{grid-template-columns:1fr 1fr!important}.stats div{min-width:0}
  .public-detail-dialog-card{padding:16px!important}
}

/* V87 — responsividade consolidada para resoluções desktop, notebook, tablet e mobile */
html{min-width:0}
body{min-width:0}
main{width:100%;min-width:0;overflow-x:clip}
:where(.admin-workspace,.site-professional-dashboard,.professional-agenda-shell,.attendance-report-workspace,.doctor-workspace,.doctor-records-workspace,.professional-detail-pane,.professional-detail,.admin-section,.admin-panel-card,.agenda-one-level-grid,.agenda-calendar-card,.agenda-list-card,.agenda-form-card){min-width:0!important;max-width:100%!important}
:where(input,select,textarea){min-width:0;width:100%}
:where(.admin-section-head,.admin-card-title,.agenda-toolbar,.doctor-toolbar,.professional-detail-head){min-width:0}

/* Desktop amplo */
@media(min-width:1367px){
  .admin-appointment-overview{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}

/* Notebooks 1366 / 1280 */
@media(max-width:1366px){
  .header{padding-inline:clamp(14px,2.2vw,26px)!important;gap:16px!important}
  .header>nav{gap:clamp(10px,1.2vw,16px)!important}
  .admin-workspace,.site-professional-dashboard{padding-inline:12px!important}
  .admin-section-head,.agenda-toolbar{align-items:flex-start!important}
  .agenda-toolbar-right{width:auto;max-width:100%;align-items:stretch}
  .agenda-finance-summary{min-width:min(100%,420px)}
  .admin-appointment-overview{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-appointment-card{grid-template-columns:68px minmax(0,1fr) minmax(110px,.35fr)!important}
  .admin-appointment-value{grid-column:2/4!important}
  .admin-appointment-filters{margin-left:0!important;max-width:100%}
  .inventory-date-tools,.cashbook-date-control,.admin-appointment-date-control{max-width:100%;flex-wrap:wrap}
  .inventory-movement-row{grid-template-columns:minmax(0,1fr) 90px minmax(150px,.65fr)!important}
  .site-professional-layout{grid-template-columns:minmax(225px,260px) minmax(0,1fr)!important}
  .professional-detail{padding:18px!important}
}

/* Tablet horizontal / janelas menores */
@media(max-width:1100px){
  .header{grid-template-columns:auto auto 1fr!important}
  .admin-appointment-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-appointment-card{grid-template-columns:64px minmax(0,1fr)!important}
  .admin-appointment-status,.admin-appointment-value{grid-column:2!important}
  .admin-appointment-value{display:grid!important;justify-content:initial!important}
  .inventory-movement-row{grid-template-columns:minmax(0,1fr) 85px!important}
  .inventory-movement-row>small{grid-column:1/-1;text-align:left!important}
  .professional-work-tabs,.admin-tabs{scroll-snap-type:x proximity}
  .professional-work-tabs button,.admin-tabs button{scroll-snap-align:start}
}

@media(max-width:900px){
  .admin-workspace,.site-professional-dashboard{padding-inline:9px!important}
  .admin-section-head,.agenda-toolbar,.doctor-toolbar{display:grid!important;grid-template-columns:1fr!important}
  .agenda-toolbar-right{width:100%!important;margin-left:0!important;justify-content:stretch!important}
  .agenda-toolbar-actions{width:100%}
  .agenda-toolbar-actions button{flex:1}
  .admin-appointment-date-control,.inventory-date-tools,.cashbook-date-control{width:100%!important}
  .admin-appointment-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%!important}
  .admin-appointment-filters label{min-width:0!important}
  .admin-appointment-filters label:last-child{grid-column:1/-1}
  .admin-appointment-filters select{max-width:none!important;width:100%!important}
  .admin-split-grid{grid-template-columns:1fr!important}
  .admin-form-card{position:static!important}
  .site-professional-layout{grid-template-columns:1fr!important;gap:10px!important;overflow:visible!important}
  .site-professional-layout .professional-list-pane{position:static!important;top:auto!important;max-height:360px!important;border-right:1px solid var(--line)!important}
  .site-professional-layout .professional-detail-pane{overflow:visible!important}
}

@media(max-width:720px){
  .header{padding-inline:10px!important;gap:8px!important}
  .brand-copy{font-size:12px}
  .head-actions{gap:6px!important}
  .head-actions .btn{padding-inline:12px!important}
  .admin-overview,.cashbook-overview,.admin-appointment-overview{grid-template-columns:1fr!important}
  .admin-appointment-filters{grid-template-columns:1fr!important}
  .admin-appointment-filters label:last-child{grid-column:auto}
  .admin-appointment-card{grid-template-columns:1fr!important}
  .admin-appointment-time{border-right:0!important;border-bottom:1px solid var(--line);padding:0 0 8px!important;display:flex;gap:8px;align-items:end}
  .admin-appointment-status,.admin-appointment-value{grid-column:1!important}
  .inventory-movement-row{grid-template-columns:1fr!important;gap:5px!important;padding-block:12px!important}
  .inventory-movement-row>small{grid-column:auto!important}
  .professional-work-tabs button{min-width:112px!important}
  .site-professional-layout .professional-list-pane{max-height:320px!important}
  :where(input,select,textarea){font-size:16px!important}
  .return-booking-dialog,.agenda-inspect-dialog,.professional-photo-modal{max-width:calc(100vw - 18px)!important}
}

@media(max-width:480px){
  .admin-workspace,.site-professional-dashboard{padding-inline:6px!important}
  .admin-panel-card,.professional-agenda-shell,.doctor-workspace,.doctor-records-workspace{border-radius:14px!important}
  .admin-section-head h2,.agenda-toolbar h2{font-size:24px!important}
  .professional-work-tabs button{min-width:104px!important;padding-inline:10px!important}
  .site-professional-layout .professional-list-pane{max-height:none!important}
  .stats{grid-template-columns:1fr!important}
}

/* V90 — painéis administrativos: menos altura, mais campos por linha */
@media(min-width:821px){
 .admin-split-grid{grid-template-columns:minmax(350px,.95fr) minmax(0,1.05fr)!important;gap:12px!important}
 .admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .admin-form-grid .wide{grid-column:1/-1!important}
}
@media(min-width:1101px){
 .admin-inventory-grid,.admin-course-grid,.certificate-admin-grid{grid-template-columns:minmax(410px,1fr) minmax(0,1.12fr)!important}
}
@media(min-width:600px) and (max-width:820px){
 .admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .admin-form-grid .wide{grid-column:1/-1!important}
 .admin-form-grid>*:not(.wide){grid-column:auto!important}
}
.admin-panel-card{padding:clamp(12px,1.2vw,17px)!important;border-radius:15px!important}
.admin-card-title{margin-bottom:11px!important;padding-bottom:10px!important;gap:9px!important}
.admin-card-title h3{font-size:21px!important}
.admin-form-grid{gap:9px!important}
.admin-form-grid label{gap:4px!important;min-width:0}
.admin-form-grid label>span{font-size:10px!important}
.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{min-height:37px!important;padding:8px 10px!important;font-size:12px!important;border-radius:9px!important}
.admin-form-grid textarea{min-height:62px!important}
.admin-form-grid small{font-size:9px!important;line-height:1.35!important}
.admin-form-grid .btn,.admin-form-grid button{min-height:38px!important}
.admin-section-head{margin-bottom:12px!important}
.admin-overview,.cashbook-overview{gap:10px!important}
@media(max-width:599px){.admin-form-grid{grid-template-columns:1fr!important}.admin-form-grid>*{grid-column:auto!important}}
