/* Mobile layout shared by every private page. */
@media(max-width:760px){
 html{overflow-x:clip}body{padding-bottom:calc(82px + env(safe-area-inset-bottom));overflow-x:clip}
 .layout{display:block!important;min-width:0}
 .content,.agenda-content{margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:18px 14px 26px!important;--heading-inset-x:14px!important;--heading-inset-y:18px!important}
 .content>main{padding:0!important}
 .sidebar{position:fixed!important;inset:auto 0 0!important;display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:none!important;height:calc(72px + env(safe-area-inset-bottom))!important;min-height:72px!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;z-index:2500!important;background:#fffdfb!important;border-top:1px solid #e4d8d5!important;box-shadow:0 -5px 24px rgba(67,31,40,.06)!important}
 .sidebar .logo,.sidebar .connection-status{display:none!important}.sidebar-main{flex:1;min-width:0}.sidebar .menu{display:flex!important;gap:3px!important;width:100%;overflow:visible!important}
 .sidebar .menu a{flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:54px!important;padding:7px 2px!important;gap:5px!important;flex-direction:column!important;font-size:10px!important;border-radius:12px!important;box-shadow:none!important}
 .sidebar .menu a span{display:block!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important}.sidebar .menu a i{font-size:17px!important;width:auto!important}
 .sidebar-bottom{border:0!important;padding:0!important;flex:0 0 40px!important;width:40px!important;margin:0 0 0 4px!important}.sidebar-logout{width:40px!important;min-height:44px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}.sidebar-logout span{display:none!important}
 .content>.topbar,.agenda-content>.agenda-topbar,.content>.page-header{grid-template-columns:1fr!important;gap:14px!important;padding:16px 14px 18px!important;margin-bottom:22px!important}
 .content>.topbar>div:first-child,.agenda-content>.agenda-topbar>div:first-child,.content>.page-header>div:first-child{grid-column:1!important;grid-row:1!important;min-height:40px!important}
 .content>.topbar h1,.agenda-content>.agenda-topbar h1,.content>.page-header h1{font-size:31px!important;line-height:40px!important}
 .top-actions,.topbar-actions{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:10px!important;width:100%!important;grid-column:1!important;grid-row:2!important}.top-actions button{width:auto!important;min-width:128px}.topbar-actions button{flex:1;min-width:0;min-height:46px}
 .business-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-bottom:20px!important}.business-cards>.routine-card:first-child{grid-column:1/-1;min-height:115px!important}.business-cards>.routine-card{min-height:132px!important;padding:18px 10px!important;gap:10px!important}.business-cards .routine-card>strong{font-size:40px!important}.business-cards .revenue-card>strong{font-size:clamp(22px,6vw,30px)!important}
 .widget{padding:22px 16px!important;border-radius:18px!important}.widget-header{flex-direction:column!important;align-items:stretch!important;gap:18px!important;text-align:center!important}.widget-title{font-size:24px!important}.routine-agenda-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;width:100%}.routine-agenda-actions a{padding:0 8px!important;min-height:46px;font-size:12px!important;white-space:normal!important;text-align:center}
 .summary-appointment{gap:12px;padding:18px 0}.summary-appointment time{min-width:44px;font-size:16px}.summary-appointment strong{font-size:14px}.today-confirmation{font-size:11px}.appointment-followup{gap:8px}.followup-toggle{min-height:40px;font-size:11px!important}.tomorrow-count{text-align:center}
 .table-header{padding:20px 16px!important}.table-responsive{overflow:visible!important}.patients-table,.patients-table tbody{display:block!important;width:100%!important;min-width:0!important}.patients-table thead{display:none!important}.patients-table tbody tr{display:block!important;margin:0 14px 14px;padding:16px;border:1px solid #eadcde;border-radius:16px;background:#fffdfb!important}.patients-table td{display:block!important;width:100%!important;max-width:none!important;padding:6px 0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere}.patients-table td[hidden]{display:none!important}.patients-table td:nth-child(2):before{content:'Contato · ';color:#a0848c;font-size:12px}.patients-table td:nth-child(3):before{content:'Origem · ';color:#a0848c;font-size:12px}.patients-table td.coluna-acoes{margin-top:10px;padding-top:12px!important;border-top:1px solid #ede3e0!important}.grupo-acoes-paciente{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.grupo-acoes-paciente button{flex:1 1 100px;min-height:44px!important;font-size:12px!important;padding:10px!important}.patients-table .estado-tabela{text-align:center}
 input,select,textarea,.patient-toolbar .search-box.patient-search input{font-size:16px!important;min-height:48px}.patient-toolbar{margin-bottom:18px!important}.patient-search{max-width:100%!important}.patient-drawer{z-index:3000!important;width:100%!important}
 .schedule-modal,.modal-edicao-overlay,.modal,.reminder-overlay{z-index:4000!important;padding:12px!important}.schedule-modal-card,.modal-edicao-overlay .modal-edicao,.modal-card,.reminder-dialog{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;border-radius:20px!important}.schedule-modal-card>header,.modal-edicao-header{padding:20px 16px!important}.schedule-modal-card h2,.modal-edicao h2,.reminder-dialog h2{font-size:25px!important}.schedule-modal form{padding:18px 16px!important}.schedule-modal footer{margin:8px -16px -18px!important;padding:16px!important}.modal-edicao-body{padding:18px 16px!important}.edicao-grid,.form-row,.reminder-fields{grid-template-columns:1fr!important}.reminder-dialog{padding:24px 18px!important}.reminder-dialog header{padding:0 22px 8px!important}.reminder-dialog footer{flex-direction:column!important;gap:10px}.reminder-dialog footer button{width:100%;min-height:46px}.reminder-dialog textarea{min-height:220px!important}.modal-edicao-footer{gap:10px;flex-wrap:wrap}.modal-edicao-footer button{flex:1;min-height:46px}
 .agenda-toolbar{grid-template-columns:1fr!important;padding:16px!important;gap:16px}.period-navigation{justify-content:center}.period-title{text-align:center!important}.agenda-toolbar .refresh-button{justify-self:center!important;min-height:44px}.calendar-scroll{max-height:65dvh!important;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.week-calendar{min-width:940px;grid-template-columns:54px repeat(7,minmax(126px,1fr))}.day-header{min-height:70px}.calendar-slot,.time-label{min-height:66px}.appointment-card{min-height:44px}
 .team-page .summary-card{grid-template-columns:1fr!important;gap:12px}.team-page .summary-card>div{min-height:115px}.team-page .member{grid-template-columns:1fr!important}.team-page .member-name{min-width:0}.team-page .member-name>div{min-width:0}.team-page .member-name small{white-space:normal;overflow-wrap:anywhere}
 .login-page{padding:24px 16px!important;min-height:100dvh}.login-card{padding:32px 24px!important}.login-card .login-logo{width:100%!important;max-width:290px!important}.login-card #btnEntrar{width:100%}
 body:has(.login-page){padding-bottom:0}
}

@media(max-width:760px){.sidebar{flex-direction:row!important}.sidebar-main{height:54px!important;min-height:54px!important;overflow:visible!important}.sidebar-bottom{align-self:center!important}.sidebar .menu{height:54px!important}}

@media(max-width:760px){.patients-table tbody tr,.patients-table tbody td{height:auto!important;min-height:0!important;max-height:none!important}.patients-table tbody tr{padding:16px!important}.patients-table td:first-child{padding-bottom:12px!important}.patients-table td.coluna-acoes{height:auto!important}.table-card{overflow:visible!important}}

/* Final touch targets, consistent field spacing and balanced card actions. */
@media(max-width:760px){
 input:not([type=checkbox]):not([type=radio]),select,textarea,.painel-financeiro input,.painel-financeiro select{box-sizing:border-box!important;width:100%!important;min-width:0!important;font-size:16px!important;border-radius:12px!important;min-height:48px!important}
 input[type=date],input[type=time],input[type=datetime-local]{display:block!important;max-width:100%!important;min-width:0!important;text-align:left!important}
 .edicao-grid>div,.form-group,.form-row>label,.reminder-fields>label,.financeiro-form-card{min-width:0}
 .edicao-grid,.schedule-modal form,.reminder-fields{gap:18px!important}
 label,.form-label{line-height:1.5!important;font-size:13px!important}
 select option{font-size:16px!important;min-height:46px!important;padding:13px 12px!important}
 select::picker(select){max-height:min(320px,45dvh);max-width:calc(100vw - 32px);overflow-y:auto;border-radius:14px}
 .grupo-acoes-paciente{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%}
 .grupo-acoes-paciente button{display:flex!important;flex-direction:column!important;gap:7px!important;width:100%!important;min-width:0!important;min-height:64px!important;padding:10px 4px!important;font-size:11px!important;border-radius:12px!important;white-space:normal!important}
 .grupo-acoes-paciente button i{font-size:16px!important}.grupo-acoes-paciente .reminder-action-icon{width:20px!important;height:20px!important}
 .summary-appointment>div{gap:0;min-width:0}.summary-appointment strong{overflow-wrap:anywhere}
 .business-cards .routine-card h3{font-size:9px!important;line-height:1.5!important;text-wrap:balance}.business-cards .revenue-card>strong{font-variant-numeric:tabular-nums;max-width:100%;font-size:clamp(20px,5.7vw,28px)!important}
 .painel-financeiro .financeiro-form-card{padding:18px 14px!important}.painel-financeiro #registrarAvaliacao{width:100%;margin-top:24px!important;min-height:48px!important}.financeiro-resumo{border-radius:14px!important}
 button:focus-visible,a:focus-visible{outline:2px solid #9e6479!important;outline-offset:3px}
}
