/* Camada responsiva compartilhada por aplicativo, portal, Central e verificação. */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
button,input,select,textarea{max-width:100%}
.nav-scrim{display:none}
.responsive-auth-brand{display:none}
.table-wrap,.central-table-wrap,.log-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap table,.central-table,.logs-table{min-width:680px}
.modal-card,.central-modal>section,.portal-modal>div{max-width:calc(100vw - 32px)}

@media(max-width:1180px){
  .content,.central-workspace>div,.portal-workspace #portal-content{padding-inline:26px}
  .page-header,.page-head,.portal-header,.section-action{flex-wrap:wrap}
  .header-actions,.page-head>.primary,.portal-header>button{flex:0 0 auto}
  .metrics,.central-metrics,.release-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid,.central-grid,.portal-grid{grid-template-columns:1fr}
}

@media(max-width:900px){
  .content,.central-workspace>div,.portal-workspace #portal-content{padding-inline:22px}
  .toolbar,.filters,.section-action,.operations-head,.logs-toolbar{align-items:stretch;flex-wrap:wrap}
  .toolbar>*,.filters>*,.logs-toolbar>*{min-width:min(100%,210px)}
  .form-grid,.central-form,.portal-form{grid-template-columns:1fr}
  .form-grid .wide,.central-form .wide,.portal-form .wide,.portal-form button{grid-column:auto}
  .summary-cards,.form-metrics,.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendar-grid,.week-grid{min-width:720px}
  .calendar-wrap,.agenda-board{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:760px){
  :root{--mobile-edge:14px}
  body.nav-open{overflow:hidden}
  .nav-scrim{position:fixed;inset:0;z-index:19;display:block;border:0;background:rgba(10,18,31,.48);opacity:0;pointer-events:none;transition:opacity .22s ease;backdrop-filter:blur(2px)}
  body.nav-open .nav-scrim{opacity:1;pointer-events:auto}
  .sidebar,.central-shell>aside,.portal-app>aside{z-index:30!important;width:min(286px,86vw)!important;max-width:86vw;overflow-y:auto;overscroll-behavior:contain;box-shadow:20px 0 55px rgba(8,18,34,.24)}
  .topbar,.central-workspace>header,.portal-workspace>header{position:sticky;top:0;z-index:15;height:64px;padding-inline:var(--mobile-edge);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
  .menu,#central-menu,#portal-menu{display:grid!important;width:42px;height:42px;min-width:42px;padding:0;border-radius:11px;background:#edf4f2!important;color:#17354a;place-items:center;touch-action:manipulation}
  .content,.central-workspace>div,.portal-workspace #portal-content{width:100%;padding:22px var(--mobile-edge) 36px}
  .welcome,.page-header,.page-head,.portal-header,.section-action,.manager-intro{align-items:stretch!important;flex-direction:column;gap:14px}
  .page-header>div,.page-head>div,.portal-header>div{min-width:0}
  .page-header h1,.page-header h2,.page-head h1,.portal-header h1,.welcome h2{font-size:clamp(27px,8vw,33px)!important;overflow-wrap:anywhere}
  .header-actions,.section-action>div:last-child,.portal-response-actions{display:grid!important;width:100%;grid-template-columns:1fr;gap:8px}
  .header-actions button,.section-action>div:last-child button,.portal-response-actions button,.page-head>.primary,.portal-header>button{width:100%!important;min-height:44px}
  .page-header>.primary.compact,.welcome>.primary.compact{width:100%!important;min-width:0!important;font-size:12px!important}
  .page-header>.primary.compact:after{content:none!important}
  .metrics,.central-metrics,.release-metrics,.summary-cards,.form-metrics,.health-grid{grid-template-columns:1fr!important}
  .panel,.central-metrics article,.release-metrics article,.portal-panel,.portal-metrics article{padding:17px}
  .modal,.central-modal,.portal-modal{align-items:end;padding:0!important}
  .modal-card,.central-modal>section,.portal-modal>div{width:100%!important;max-width:100%!important;max-height:92dvh!important;margin:0;border-radius:22px 22px 0 0!important;padding:24px var(--mobile-edge)!important;overscroll-behavior:contain}
  .modal-close,.central-modal>section>#central-modal-close,.portal-modal>div>#portal-modal-close{position:sticky!important;z-index:2;top:0!important;float:right;width:42px;height:42px;border-radius:12px;background:#f2f4f1!important}
  .form-grid,.central-form,.portal-form,.permission-fieldset{display:grid!important;grid-template-columns:1fr!important}
  .form-grid>*,.central-form>*,.portal-form>*,.permission-fieldset>*{grid-column:auto!important;min-width:0}
  .toolbar,.filters,.logs-toolbar{display:grid!important;grid-template-columns:1fr!important}
  .toolbar>*,.filters>*,.logs-toolbar>*{width:100%!important;min-width:0!important}
  .table-wrap{margin-inline:calc(var(--mobile-edge) * -1);padding-inline:var(--mobile-edge)}
  .central-list>article,.central-list>button,.portal-list article,.portal-list button,.resource-line,.approval-line{align-items:flex-start;flex-wrap:wrap}
  .portal-list time{width:auto!important;flex:0 0 100%}
  .portal-list article>div,.portal-list button>div{min-width:160px}
  .portal-money{font-size:16px!important}
  .portal-badge{margin-left:auto}
  .suggestions{flex-wrap:wrap}
  .suggestions button{flex:1 1 130px;min-height:40px}
  #page-content .row-action,#page-content .pdf-actions button,#page-content .attachment-actions button,#page-content .template-actions button,#page-content .card-actions button,#page-content .agenda-period-nav button,#page-content .settings-tabs button{min-height:38px;padding-top:7px;padding-bottom:7px}
  .bia-input input{min-width:0}
  .toast,#central-toast{top:12px!important;right:var(--mobile-edge)!important;bottom:auto!important;left:var(--mobile-edge)!important;width:auto;max-width:none;transform:translateY(-160px);text-align:center}
  .toast.show,#central-toast.show{transform:none}
  #portal-toast{top:auto!important;right:var(--mobile-edge)!important;bottom:var(--mobile-edge)!important;left:var(--mobile-edge)!important;width:auto;max-width:none;transform:translateY(140px);text-align:center}
  #portal-toast.show{transform:none}
}

@media(max-width:480px){
  :root{--mobile-edge:12px}
  .auth-panel,.central-auth-panel,.portal-auth-card{min-height:100dvh;padding:22px var(--mobile-edge)!important}
  .central-auth-panel,.portal-auth-card{align-content:center;gap:28px}
  .responsive-auth-brand{display:flex;align-items:center;gap:10px;color:#17233d;text-decoration:none;font-size:17px;letter-spacing:.13em}
  .responsive-auth-brand img{width:36px!important;height:36px!important;margin:0!important}
  .responsive-auth-brand small{color:#2e8b83;font-size:8px;letter-spacing:.12em}
  .mobile-brand{margin-bottom:32px}
  .wordmark{font-size:19px}
  .auth-card h2,.central-auth-panel h2,.portal-screen h2{font-size:29px}
  .auth-card,.central-auth-panel form,.central-auth-panel>section,.portal-screen{width:100%;min-width:0}
  .portal-screen{padding:24px 18px!important}
  .qr-wrap,.portal-qr,#central-qr{width:min(176px,65vw);height:auto}
  .code-input{font-size:21px;letter-spacing:.2em}
  .recovery-codes,#central-codes,.portal-codes{grid-template-columns:1fr}
  .user{padding-left:8px;border-left:0}.user>span{width:36px;height:36px}
  .top-actions{gap:7px}
  .icon-button{width:38px;height:38px;padding:0}
  .metrics article{gap:11px;padding:16px}
  .metric-icon{width:38px;height:38px;flex-basis:38px}
  .quick>div{grid-template-columns:1fr!important}
  .guardian-card,.schedule-professional,.release-card{padding:14px}
  .release-actions{display:grid;grid-template-columns:1fr 1fr}
  .release-actions button{width:100%}
  .operations-log article{overflow-wrap:anywhere}
  .verify-shell{padding:20px 12px}.verify-card{padding:26px 18px}.verify-brand{font-size:17px}
}

@media(min-width:1600px){
  .content,.central-workspace>div,.portal-workspace #portal-content{max-width:1540px;padding-inline:48px}
}

@media(hover:none) and (pointer:coarse){
  button,a,input,select,textarea{touch-action:manipulation}
  .sidebar button,.central-shell aside button,.portal-app aside button{min-height:44px}
}
