/* D7HS Build 328 — responsividade comum para Apps e portais */
:root{--app-safe-top:env(safe-area-inset-top,0px);--app-safe-right:env(safe-area-inset-right,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px);--app-vh:1vh}
html{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%}input,select,textarea,button{max-width:100%}
body.d7-responsive-portal{min-height:calc(var(--app-vh)*100);padding-right:var(--app-safe-right);padding-left:var(--app-safe-left)}
body.d7-responsive-portal .topbar,body.d7-responsive-portal>.top,body.d7-responsive-portal .assessment-topbar{padding-top:calc(12px + var(--app-safe-top))}
body.d7-responsive-portal main,body.d7-responsive-portal .shell,body.d7-responsive-portal .container,body.d7-responsive-portal .assessment-workspace{width:100%;max-width:1440px;margin-right:auto;margin-left:auto}
body.d7-responsive-portal .card,body.d7-responsive-portal .hero,body.d7-responsive-portal .policy,body.d7-responsive-portal .steps,body.d7-responsive-portal .layout{min-width:0}
body.d7-responsive-portal .table-wrap,body.d7-responsive-portal .table-container{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
body.d7-responsive-portal [role="dialog"],body.d7-responsive-portal .modal,body.d7-responsive-portal .class-modal,body.d7-responsive-portal .notification-consent{padding-top:calc(12px + var(--app-safe-top));padding-right:calc(12px + var(--app-safe-right));padding-bottom:calc(12px + var(--app-safe-bottom));padding-left:calc(12px + var(--app-safe-left))}
body.d7-responsive-portal [role="dialog"]{max-height:calc(var(--app-vh)*94);overflow:auto;overscroll-behavior:contain}
body.d7-responsive-portal .btn,body.d7-responsive-portal button,body.d7-responsive-portal a[role="button"]{touch-action:manipulation}
body.d7-responsive-portal input,body.d7-responsive-portal select,body.d7-responsive-portal textarea{font-size:max(16px,1em)}
body.portal-aluno main,body.portal-professor main{padding-bottom:calc(88px + var(--app-safe-bottom))}body.portal-avaliacao .assessment-workspace{padding-bottom:calc(28px + var(--app-safe-bottom))}body.portal-saude .container,body.portal-recovery .shell{padding-bottom:calc(30px + var(--app-safe-bottom))}
@media(max-width:900px){body.d7-responsive-portal .content-grid,body.d7-responsive-portal .layout,body.d7-responsive-portal .clinical-layout,body.d7-responsive-portal .assessment-layout{grid-template-columns:minmax(0,1fr)!important}body.d7-responsive-portal .hero{align-items:stretch;flex-direction:column}body.d7-responsive-portal .student-picker{width:100%;max-width:none}}
@media(max-width:680px){body.d7-responsive-portal .topbar-inner,body.d7-responsive-portal>.top,body.d7-responsive-portal .assessment-topbar{gap:10px}body.d7-responsive-portal .top-actions,body.d7-responsive-portal .student-actions{gap:6px}body.d7-responsive-portal .card{padding:16px!important;border-radius:16px!important}body.d7-responsive-portal .hero{padding:18px!important;border-radius:17px!important}body.d7-responsive-portal .form-grid,body.d7-responsive-portal .vitals,body.d7-responsive-portal .vital-fields,body.d7-responsive-portal .agenda-tools,body.d7-responsive-portal .modalities,body.d7-responsive-portal .charts,body.d7-responsive-portal .steps{grid-template-columns:minmax(0,1fr)!important}body.d7-responsive-portal .form-actions,body.d7-responsive-portal .actions{flex-wrap:wrap}body.d7-responsive-portal .form-actions>.btn{flex:1 1 150px;min-height:48px}body.d7-responsive-portal .row{align-items:flex-start;flex-direction:column}body.d7-responsive-portal .row>.actions{width:100%}body.d7-responsive-portal .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}body.d7-responsive-portal .tabs button{min-width:max-content}body.portal-recovery>.top .brand small{display:none}}
@media(max-width:430px){body.d7-responsive-portal .card{padding:14px!important}body.d7-responsive-portal h1{font-size:clamp(22px,7vw,30px)}body.d7-responsive-portal h2{font-size:clamp(19px,6vw,25px)}body.d7-responsive-portal .top-actions #user-name{display:none}body.d7-responsive-portal .btn,body.d7-responsive-portal button{min-height:44px}body.d7-responsive-portal .login-card{width:100%!important;padding:24px 19px!important;border-radius:21px!important}body.d7-responsive-portal .notification-consent-actions{grid-template-columns:1fr!important}body.d7-responsive-portal .appointment-head,body.d7-responsive-portal .training-class-head{align-items:flex-start;gap:8px;flex-direction:column}}
@media(orientation:landscape) and (max-height:560px){body.d7-responsive-portal .login-screen,body.d7-responsive-portal .login{align-items:start;overflow:auto}body.d7-responsive-portal [role="dialog"]{max-height:calc(var(--app-vh)*90)}}
@media(hover:none) and (pointer:coarse){body.d7-responsive-portal button,body.d7-responsive-portal .btn,body.d7-responsive-portal select,body.d7-responsive-portal input{min-height:44px}body.d7-responsive-portal input[type="checkbox"],body.d7-responsive-portal input[type="radio"]{min-height:0;width:20px;height:20px}}
@media print{body.d7-responsive-portal{padding:0!important}body.d7-responsive-portal main,body.d7-responsive-portal .shell,body.d7-responsive-portal .container{max-width:none!important;padding:0!important}}
