/* BR Flow / GridLab v2.0.6.28 — Mobile Responsive Review
   Camada aditiva: preserva desktop e corrige SaaS Admin + Workspace em telas pequenas. */

/* Base defensiva */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
.page,.workspacePage,.card,.modal,.modalCard{box-sizing:border-box}

/* Meu Dia — Prioridades sempre alinhadas à esquerda */
.priorityList,
.priorityList .priorityRow,
.priorityList .priorityMain,
.priorityList .priorityClient,
.dashboardGrid .priorityRow,
.dashboardGrid .priorityMain,
.dashboardGrid .priorityClient{
  text-align:left!important;
}
.priorityRow{justify-items:stretch!important}
.priorityRow .reasonBadge{justify-self:end!important}

/* ===== SaaS Admin ===== */
@media (max-width: 900px){
  body>.app,.app{display:block!important;min-width:0!important;width:100%!important}
  .app>main,main{min-width:0!important;width:100%!important;margin:0!important}

  /* Menu SaaS vira navegação horizontal compacta. */
  .app>.side{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:10px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    scrollbar-width:thin;
  }
  .app>.side .brand{flex:0 0 auto!important;margin-right:6px!important;padding:5px 8px!important}
  .app>.side .contextBadge{flex:0 0 auto!important;margin:0 5px 0 0!important}
  .app>.side .contextHint,.app>.side .group,.app>.side .sideFoot{display:none!important}
  .app>.side .nav{
    flex:0 0 auto!important;
    width:auto!important;
    margin:0!important;
    padding:8px 10px!important;
    white-space:nowrap!important;
    border-radius:9px!important;
  }

  .top{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .top>div:first-child{min-width:0!important}
  .top h1{font-size:20px!important;margin:0!important}
  .top small{overflow-wrap:anywhere!important}
  .adminTopActions{
    width:100%!important;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:7px!important;
  }
  .adminTopActions .inlineForm,
  .adminTopActions .companySwitcher,
  .adminTopActions .enterCompanyBtn,
  .adminTopActions .user{max-width:100%!important}
  .companyMenu{left:0!important;right:auto!important;max-width:calc(100vw - 28px)!important}

  .page{padding:14px!important;min-width:0!important;width:100%!important;box-sizing:border-box!important}
  .page .hello,.hello,.pageHead{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  .hello>button,.pageHead>button{width:100%!important}
  .cards,.workspaceGrid,.planGrid,.moduleGrid{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .workspaceCard,.planCard,.moduleGrid>.card{min-width:0!important;width:100%!important}
  .limits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .toolbar,.toolbar .left{width:100%!important;min-width:0!important}
  .toolbar select,.toolbar input{width:100%!important;min-width:0!important}
  .row{min-width:0!important;gap:8px!important}
  .row>*{min-width:0}
  .contextCallout{padding:13px!important}

  /* Tabelas: preservar leitura, com scroll dentro do card e não na página. */
  .tableWrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .tableWrap .table,.tableWrap table{min-width:720px!important}

  /* Modais do SaaS */
  .modalbg{padding:8px!important;align-items:flex-start!important;overflow:auto!important}
  .modalbg .modal,.modalCard{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 16px)!important;
    overflow:auto!important;
    border-radius:14px!important;
    padding:14px!important;
    margin:auto!important;
  }
  .modalbg .formgrid,.modalCard .formgrid,.grid2{grid-template-columns:1fr!important}
  .modalbg .field.wide,.span2{grid-column:auto!important}
  .modalbg .row:first-child,.modalHead{align-items:flex-start!important}
}

@media (max-width: 560px){
  .app>.side .brand{font-size:16px!important}
  .app>.side .contextBadge{display:none!important}
  .adminTopActions{flex-direction:column!important}
  .adminTopActions .inlineForm,.adminTopActions .enterCompanyBtn,
  .adminTopActions .companySwitcher,.adminTopActions .companySwitcher summary,
  .adminTopActions .user{width:100%!important;box-sizing:border-box!important}
  .adminTopActions button,.adminTopActions a{width:100%!important}
  .limits{grid-template-columns:1fr!important}
  .page{padding:10px!important}
  .card{padding:12px!important}
}

/* Login / acesso */
@media (max-width: 600px){
  .loginBody{padding:14px!important;min-height:100dvh!important;box-sizing:border-box!important}
  .loginCard{width:100%!important;max-width:none!important;padding:20px 16px!important;box-sizing:border-box!important}
  .loginCard input,.loginCard button,.loginCard .wide,.loginCard .accessLink{width:100%!important;box-sizing:border-box!important}
}

/* ===== Workspace / BR Flow ===== */
@media (max-width: 900px){
  .workspaceShell{display:block!important;width:100%!important;min-width:0!important}
  .workspaceMain,.workspaceShell>main{width:100%!important;min-width:0!important;margin-left:0!important}

  /* Drawer real: não ocupa espaço e não empurra conteúdo. */
  .workspaceSide{
    position:fixed!important;
    top:0!important;left:0!important;bottom:0!important;
    width:min(82vw,300px)!important;
    height:100dvh!important;
    z-index:140!important;
    transform:translateX(-105%);
    transition:transform .2s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px!important;
  }
  body.workspaceMenuOpen .workspaceSide{transform:translateX(0)!important}
  .workspaceSide nav{display:block!important;overflow:visible!important;padding:0!important}
  .workspaceSide .nav{display:block!important;width:100%!important;white-space:normal!important;margin:3px 0!important;box-sizing:border-box!important}
  .workspaceSide .sideFoot{position:static!important;display:block!important;margin-top:22px!important;padding:12px 8px!important}
  .mobileWorkspaceOverlay{z-index:130!important}

  .workspaceTop{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:10px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    box-sizing:border-box!important;
  }
  .workspaceTop .topIdentity{display:flex!important;align-items:flex-start!important;gap:9px!important;min-width:0!important}
  .workspaceTop .topIdentity>div{min-width:0!important}
  .workspaceTop .topIdentity b{display:block!important;overflow-wrap:anywhere!important}
  .workspaceMenuBtn{display:inline-flex!important;flex:0 0 40px!important;align-items:center!important;justify-content:center!important}
  .workspaceTop .topActions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    align-items:stretch!important;
  }
  .workspaceTop .topActions>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .workspaceTop .orgSwitcher select{width:100%!important;min-width:0!important}
  .workspaceTop .backAdminBtn,.workspaceTop .user{width:100%!important;box-sizing:border-box!important;text-align:center!important}

  .workspacePage{padding:12px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .workspacePage .hello,.workspacePage .pageHead,.sectionTitle,.sectionHead{
    min-width:0!important;
  }
  .workspacePage .hello{flex-direction:column!important;align-items:flex-start!important;gap:9px!important}
  .workspacePage .hello>*,.sectionHead>*,.sectionTitle>*{min-width:0!important}

  /* Cards / grids */
  .workspaceCards,.dayKpis,.dashboardGrid,.clientProfileStats,
  .portalSummaryV202,.clientFichaOverviewV203,.workspaceCatalogGridV206,
  .cutoverGridV20,.aiHistoryGridV20,.automationRulesGridV20{
    grid-template-columns:1fr!important;
  }
  .clientCardsV203,.clientCardsV15,.nocaActiveGridV13,.portalProjectsV204,.portalProjectsV202{
    grid-template-columns:1fr!important;
  }
  .clientCardV203,.nocaCardV13,.portalProjectCardV204{max-width:none!important;width:100%!important;min-width:0!important}

  /* Meu Dia */
  .sectionHead{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;text-align:left!important}
  .sectionHead h3,.sectionHead span{display:block!important;text-align:left!important}
  .priorityList,.priorityRow,.priorityMain,.priorityClient{width:100%!important;text-align:left!important}
  .priorityRow{
    display:grid!important;
    grid-template-columns:12px minmax(0,1fr)!important;
    gap:4px 9px!important;
    padding:11px 2px!important;
    align-items:start!important;
    text-align:left!important;
  }
  .priorityRow .priorityMark{grid-column:1;grid-row:1 / span 3;margin-top:3px!important}
  .priorityRow .priorityClient{grid-column:2!important;grid-row:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .priorityRow .priorityMain{grid-column:2!important;grid-row:auto!important}
  .priorityRow .reasonBadge{grid-column:2!important;justify-self:start!important;margin-top:3px!important;white-space:normal!important;text-align:left!important}
  .todayRow{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:4px 9px!important;
    padding:11px 2px!important;
    align-items:start!important;
    text-align:left!important;
  }
  .todayRow .todayTime{grid-column:1;grid-row:1 / span 3}
  .todayRow .todayClient,.todayRow .todayMain,.todayRow .todayType{grid-column:2!important;grid-row:auto!important;text-align:left!important}
  .todayRow .todayClient{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .todayRow .todayType{justify-self:start!important}

  /* NOCA — manter informações úteis sem espremer */
  .nocaPeriodV13{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .nocaDeliveryGridV13{grid-template-columns:1fr 1fr!important}
  .nocaActionsV13{align-items:stretch!important}

  /* Clientes */
  .clientProfileHero{flex-direction:column!important;align-items:flex-start!important}
  .clientProfileIdentity{width:100%!important;min-width:0!important}
  .clientProfileIdentity>div:last-child{min-width:0!important}
  .clientProfileHero h2{overflow-wrap:anywhere!important}
  .clientProfileActions{width:100%!important}
  .clientProfileActions a,.clientProfileActions button{flex:1 1 auto!important;text-align:center!important}
  .clientQuickActionsV15{width:100%!important}
  .clientQuickActionsV15>*{flex:1 1 auto!important}
  .clientFiltersV203{grid-template-columns:1fr!important}

  /* Projetos / Trabalhos */
  .portalProjectTopV204{grid-template-columns:18px minmax(0,1fr)!important}
  .portalProjectTopV204>.urgentV204,.portalProjectTopV204>.warningV204{grid-column:2!important;justify-self:start!important}
  .portalProjectMetricsV204{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portalProjectActionsV204{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .portalProjectActionsV204>*{width:100%!important;box-sizing:border-box!important;text-align:center!important}

  /* Calendários preservam coluna legível com scroll horizontal local. */
  .portalWeekV202,.clientWeekV201{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    grid-template-columns:repeat(7,150px)!important;
    overscroll-behavior-inline:contain;
  }

  /* Tabelas dentro do workspace */
  .workspacePage .tableWrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .workspacePage .table{min-width:720px!important}

  /* Modais gerais e forms */
  .serverModalBgV2066,.legacyProjectBackdropV2067,.modalbg{padding:6px!important;align-items:flex-start!important}
  .serverModalV2066,.projectServerModalV2066,.taskServerModalV2066,.contentServerModalV2066,
  .legacyProjectModalV2067,.projectModalV204,.contentModalV2069,.modalbg .modal{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 12px)!important;
    border-radius:13px!important;
    overflow:auto!important;
    box-sizing:border-box!important;
  }
  .formgrid,.legacyFormGridV2067{grid-template-columns:1fr!important}
  .formgrid .wide,.legacyFormGridV2067 .wide{grid-column:auto!important}
  .projectServerTabsV2064,.legacyProjectTabsV2067{overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;scrollbar-width:thin}
  .projectServerTabsV2064 a,.legacyProjectTabsV2067 label{flex:0 0 auto!important}
  .legacyNocaGridV2067{grid-template-columns:1fr!important}
  .legacyLinkRowV2067,.projectLinkRowV204,.serverLinkRowV2064{grid-template-columns:1fr!important}
  .legacyLinkRowV2067 .legacyRemoveLinkV2067{width:100%!important;min-height:38px!important}
  .projectModalFooterV204,.legacyProjectFooterV2067,.coreEditorActionsV2062{flex-direction:column!important;align-items:stretch!important}
  .projectModalFooterV204>div,.legacyProjectFooterRightV2067{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .projectModalFooterV204 button,.legacyProjectFooterV2067 button,.legacyProjectFooterV2067 a,
  .coreEditorActionsV2062>*{width:100%!important;box-sizing:border-box!important;text-align:center!important}

  /* Conteúdo em 3 etapas */
  .contentHeaderActionsV20624{flex:0 0 auto!important}
  .contentModalV2069 header{align-items:flex-start!important;gap:8px!important}
  .contentModalV2069 header>div:first-child{min-width:0!important}
  .contentModalV2069 header h3{font-size:17px!important;line-height:1.2!important}
  .contentModalV2069 .contentStepsV20624{overflow:hidden!important}
  .contentModalV2069 textarea{max-height:none!important}
}

@media (max-width: 560px){
  .workspacePage{padding:9px!important}
  .workspaceTop{padding:9px!important}
  .workspaceTop .contextEyebrow{font-size:8px!important}
  .workspaceTop b{font-size:14px!important}

  .dayKpis{grid-template-columns:1fr!important}
  .dayKpi{padding:12px!important}
  .dayKpi b{font-size:24px!important}

  .sectionHead{flex-direction:column!important;align-items:flex-start!important}
  .sectionHead>a,.sectionHead>button{align-self:flex-start!important}

  .nocaCardHead{align-items:flex-start!important}
  .nocaPeriodV13{grid-template-columns:1fr!important}
  .nocaDeliveryGridV13{grid-template-columns:1fr!important}
  .nocaActionsV13{display:grid!important;grid-template-columns:1fr 1fr!important}
  .nocaActionsV13>*{width:100%!important;text-align:center!important;box-sizing:border-box!important}

  .portalProjectMetricsV204{grid-template-columns:1fr!important}
  .portalProjectActionsV204{grid-template-columns:1fr!important}

  .clientProfileLogo{width:50px!important;height:50px!important;flex:0 0 50px!important}
  .clientProfileActions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .clientProfileActions>*{width:100%!important;box-sizing:border-box!important}

  .contentModalV2069,.legacyProjectModalV2067,.serverModalV2066{padding:12px!important}
  .legacyProjectHeaderV2067,.contentModalV2069 header{gap:6px!important}
}
