/* Responsive rules shared by Brand Hub and Gestão. Desktop layouts are unchanged. */
@media (max-width:1050px){
  .sidebar{height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
  .sidebar-brand .sidebar-toggle{display:none}
  .sidebar-close{width:40px;height:40px;top:23px;right:12px}
  .sidebar-brand{padding-right:58px}
  .sidebar-compact .sidebar-brand .brand-button strong{display:block}
  .sidebar-compact .nav-text,.sidebar-compact .profile-copy{display:block}
  .sidebar-compact .sidebar-nav .nav-item{justify-content:flex-start;padding:12px 14px}
  .sidebar-compact .sidebar-profile .profile-card{justify-content:flex-start}
}
@media (max-width:780px){
  .workspace,.content-area,.content-area>*,.demands-content,.demands-layout,.workspace-section,.operation-card,.finance-analysis,.finance-columns,.goal-card,.records,.record-metrics,.editable-table-shell,.preferences-content,.contract-layout{min-width:0;max-width:100%;box-sizing:border-box}
  .content-area{padding:24px 16px calc(32px + env(safe-area-inset-bottom))}
  .topbar{height:64px;padding:0 max(12px,env(safe-area-inset-left));gap:8px}
  .topbar-left{gap:8px;flex:1;min-width:0}
  .breadcrumbs{overflow:hidden;flex:1;min-width:0}
  .breadcrumbs strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-actions{gap:6px}
  .mobile-menu,.apps-button,.global-save-state,.icon-button{min-width:40px;min-height:40px;flex-shrink:0}
  .page-head,.management-heading,.dashboard-heading,.finance-page-heading{gap:16px;align-items:stretch;flex-direction:column}
  .page-head h1,.management-heading h1,.dashboard-heading h1,.preferences-heading h1{font-size:clamp(26px,7vw,32px);overflow-wrap:break-word}
  .page-actions,.section-actions,.card-title,.chart-head,.goal-header,.preview-heading{flex-wrap:wrap}
  .page-actions{display:flex;gap:8px}
  .date-selector{width:100%;max-width:100%;box-sizing:border-box}
  .workspace-section,.operation-card,.finance-chart-card,.preferences-content,.overview-card,.content-card,.visual-intro-card,.module-block{padding:18px}
  :is(.workspace-form,.preferences-form,.field-row,.form-grid,.calendar-inputs)>*,.folder-date-filter>*,.management-toolbar>*,.grid-tools>*,.profile-picture-row>*,.theme-options>*{min-width:0;max-width:100%}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;box-sizing:border-box;max-width:100%;min-width:0}
  .login-view,.login-shell,.login-panel{min-height:100dvh}
  .login-panel{padding:28px 20px calc(28px + env(safe-area-inset-bottom))}
  .login-copy{margin-top:0}
  .login-brand{max-width:100%}
  .login-form,.register-form,.auth-form,.workspace-form{min-width:0}
  .management-toolbar{display:flex;gap:10px;align-items:stretch}
  .management-toolbar>label,.management-toolbar>.search-field{flex:1 1 180px;width:auto;margin:0}
  .management-toolbar input,.management-toolbar select,.demands-content .search-field input{width:100%;max-width:100%}
  .management-toolbar .view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;flex:1 0 100%;gap:4px}
  .view-tabs button{padding:10px 4px;font-size:11px;min-height:42px}
  .folder-date-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .demands-layout{grid-template-columns:minmax(0,1fr)}
  .demand-tree{min-width:0;max-width:100%}
  .demand-tree #demandTree{max-width:100%;overscroll-behavior-x:contain}
  .record-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .record-metrics article{padding:14px;min-width:0}
  .record-metrics span{overflow-wrap:break-word;line-height:1.5}
  .record-metrics strong{font-size:26px}
  .grid-tools{gap:8px;align-items:stretch}
  .grid-tools label{flex:1 0 100%;min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr)}
  .grid-tools select{flex:1;min-width:0}
  .grid-tools>select,.grid-tools>button{flex:1 1 125px}
  .grid-tools button{min-height:40px}
  .inline-ag-grid{max-width:100%;touch-action:pan-x pan-y}
  .inline-ag-grid .ag-root-wrapper{max-width:100%}
  .inline-add-footer{min-height:44px}
  .inline-options button{min-height:44px;font-size:14px}
  .ag-popup-editor:has(.inline-options){position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;max-width:none!important}
  .ag-popup-editor .inline-options{width:100%;min-width:0;max-width:100%;max-height:40dvh;box-sizing:border-box}
  #demandViews{overflow:visible;min-width:0;max-width:100%}
  .kanban-board{width:100%;max-width:100%;grid-template-columns:repeat(7,min(260px,82vw));overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
  .kanban-column{min-width:0;scroll-snap-align:start}
  .task-card{overflow-wrap:anywhere}
  .task-card select{width:100%}
  .demand-calendar{min-width:0;width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}
  .demand-day,.calendar-empty{min-width:0;min-height:98px;padding:4px}
  .calendar-day-label{padding:10px 0;font-size:9px}
  .calendar-task{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:32px}
  .calendar-task .demand-drag-handle{padding:4px 0;margin-right:2px}
  .calendar-navigation label{flex-wrap:wrap}
  .demand-overview-row>span:first-child,.upcoming-row>div{min-width:0;overflow-wrap:anywhere;flex-basis:100%}
  .finance-analysis,.finance-columns,.dashboard-operation{grid-template-columns:minmax(0,1fr)}
  .finance-month-label{margin:0;width:100%}
  .goal-header h2{white-space:normal}
  .goal-header input{width:auto;flex:1 1 150px}
  .goal-editor-layout{gap:12px}
  .goal-editor-layout .goal-ring{width:84px;height:84px}
  .goal-value-field{flex:1}
  .metric-main{flex-wrap:wrap;gap:12px}
  .metric-value{font-size:32px!important}
  .contract-period{gap:12px}
  .contract-period input{max-width:100%}
  .contract-editor{padding:18px;width:100%;height:100dvh}
  .contract-editor>header{gap:12px;align-items:flex-start}
  .contract-editor>header>div{min-width:0}
  .contract-editor .contract-layout,.contract-editor .workspace-form{grid-template-columns:minmax(0,1fr)}
  .contract-preview-panel{position:static}
  #contractPdfPreview{height: min(65dvh,480px)}
  .contract-preview,.template-help{overflow-wrap:anywhere}
  .calendar-dialog{box-sizing:border-box;padding:16px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;margin:auto}
  .calendar-layout{grid-template-columns:minmax(0,1fr);gap:16px}
  .calendar-inputs{grid-template-columns:minmax(0,1fr)}
  .calendar-days button{height:36px}
  .calendar-presets button{min-height:36px}
  .calendar-footer{flex-wrap:wrap}
  .calendar-error{flex-basis:100%}
  .preferences-tabs{gap:6px}
  .preferences-tabs button{min-height:42px}
  .profile-picture-row{gap:14px}
  .profile-picture-row label{flex-basis:100%}
  .profile-picture-row input{width:100%;max-width:100%}
  .theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .theme-options button{min-width:0;padding:12px}
  .theme-preview{height:80px}
  .access-row>div{flex-basis:100%;overflow-wrap:anywhere}
  .access-row select{flex:1}
  .modal{padding:12px}
  .modal-card{padding:18px;max-height:calc(100dvh - 24px);box-sizing:border-box}
  .modal-head>div{min-width:0}
  .modal-head h3,.section-title-row h2{overflow-wrap:break-word}
  .modal-actions{flex-wrap:wrap}
  .modal-actions button{flex:1;min-height:44px}
  .section-title-row .edit-link{position:static;margin-top:12px;min-height:36px}
  .module-controls{position:static;justify-content:flex-end;opacity:1;margin-bottom:10px;flex-wrap:wrap}
  .module-controls button{width:36px;height:36px}
  .module-asset,.visual-intro-top,.visual-placeholder-top{grid-template-columns:minmax(0,1fr);flex-wrap:wrap}
  .brand-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-swatch p{padding:10px;font-size:11px;overflow-wrap:anywhere}
  .font-specimen{padding:18px;min-width:0}
  .manual-downloads>*{max-width:100%;overflow-wrap:anywhere}
  .spec-row{flex-wrap:wrap;gap:8px}
  .apps-drawer{max-height:calc(100dvh - 24px);overflow-y:auto;top:12px}
  .apps-grid .app-card{min-height:132px}
}
