/* Ajustes responsivos finais do CRM LV. Mantém o conteúdo dentro da tela e
   transforma áreas largas em trilhos horizontais intencionais no celular. */
@media (max-width:920px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .crm-shell,.app-page,.page,#overviewContent,#analyticsContent,#conversionContent,#revenueContent,#healthContent,#integrationsContent,#clientsContent,#realtimeContent{min-width:0;max-width:100%}
  .analytics-grid,.overview-grid,.revenue-grid,.health-grid{grid-template-columns:minmax(0,1fr)}
  .analytics-grid>*,.overview-grid>*,.revenue-grid>*,.health-grid>*,.analytics-card,.client-card,.rt-card{min-width:0;max-width:100%}
  .analytics-card.full,.client-card.full,.rt-card.full{grid-column:auto}
  .analytics-title,.analytics-title>div,.client-card-head>div,.rt-title>div{min-width:0}
  .analytics-title h2,.analytics-title p,.client-card h2,.client-card p,.rt-title h2,.rt-title p{overflow-wrap:anywhere}
  .funnel-scroll,.conversion-flow,.rt-table-wrap,.client-table-wrap{width:100%;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .funnel-scroll:after,.conversion-flow:after{content:"";display:block;flex:0 0 2px}
  .conversion-flow{min-width:0;scroll-snap-type:x proximity;scroll-padding-inline:2px}
  .conversion-stage{flex:0 0 min(72vw,270px);min-width:0;scroll-snap-align:start}
  .funnel{width:max-content;min-width:820px}
  .analytics-table{max-width:none}
  .pie-wrap,.pie-legend,.month-chart,.health-formula,.account-grid,.permissions-list,.connection-steps{min-width:0;max-width:100%}
  .month-chart{width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px}
  .month-col{flex:0 0 31px}
  .health-formula>*,.account-grid>*{min-width:0}
  .insight-row{grid-template-columns:minmax(90px,1fr) minmax(70px,2fr) 34px;min-width:0}
  .quick-item{min-width:0}
  .quick-item span{min-width:0;overflow-wrap:anywhere}
  .quick-item b{flex:0 0 auto;text-align:right}
  .integration-brand{min-width:0}
  .integration-brand>div:last-child{min-width:0}
  .integration-hero h2,.integration-hero p,.account-option span{overflow-wrap:anywhere}
  .board-wrap{max-width:calc(100vw - 26px);scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .board{grid-auto-columns:min(82vw,330px)}
  .column{scroll-snap-align:start}
  .drawer{width:100%;max-width:100vw;height:100dvh}
  .drawer-head,.drawer-body{min-width:0}
  .drawer-head{position:sticky;top:0;z-index:2;background:#fff;padding-top:max(17px,env(safe-area-inset-top))}
  .drawer-head .x{position:relative;z-index:3;flex:0 0 42px;min-width:42px;min-height:42px;font-size:18px}
  .drawer-body{overscroll-behavior-y:contain}
  .origin-row{align-items:flex-start}
  .origin-row span{flex:0 0 38%}
  .origin-row b{min-width:0;overflow-wrap:anywhere}
  .side-tab{min-height:50px;touch-action:manipulation}
  .primary,.secondary,.ghost,.mobile-icon,.x{touch-action:manipulation}
}

@media (max-width:620px){
  .page{width:100%;padding:13px 12px 26px}
  .crm-shell{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .mobile-head{min-height:58px;padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right))}
  .side-nav{scroll-snap-type:x proximity;scroll-padding-inline:6px}
  .side-tab{flex-basis:74px;min-width:74px;min-height:53px;padding:6px 2px;font-size:7px;scroll-snap-align:start}
  .side-tab i{font-size:15px}
  .head{margin-bottom:13px}
  .head h1{font-size:27px;line-height:1.05}
  .head-actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .head-actions>*{width:100%;min-height:44px}
  .kpis,.analytics-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .kpi{min-width:0;min-height:86px;border-radius:16px;display:flex;flex-direction:column;justify-content:center}
  .kpi strong{font-size:21px;line-height:1.05;overflow-wrap:anywhere}
  .kpi span{font-size:7.5px;line-height:1.3}
  .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:9px}
  .filters #search,.filters #creative{grid-column:1/-1}
  .filters #source,.filters #clear{min-width:0;width:100%}
  .filters .input,.filters .select,.filters .secondary{min-height:44px}
  .board-wrap{width:calc(100% + 24px);max-width:none;margin-inline:-12px;padding:2px 12px 18px}
  .board{grid-auto-columns:min(86vw,330px);min-height:500px}
  .column{min-height:490px;border-radius:18px}
  .cards{min-height:414px}
  .lead{padding:13px;border-radius:14px}
  .analytics-card,.rt-card{padding:14px;border-radius:17px}
  .analytics-title{gap:9px}
  .analytics-title .secondary,.analytics-title .primary{min-height:42px;margin-top:9px;width:100%}
  .conversion-stage{flex-basis:min(78vw,285px);padding:15px}
  .conversion-stage .stage-num{font-size:30px}
  .pie-wrap{grid-template-columns:minmax(0,1fr);gap:16px;justify-items:center}
  .pie-chart{width:min(190px,62vw)}
  .pie-legend{width:100%}
  .month-chart{gap:7px;height:205px}
  .month-col{flex-basis:30px}
  .health-banner{display:block;padding:17px}
  .health-score{margin-top:13px;text-align:left}
  .health-formula,.account-grid{grid-template-columns:minmax(0,1fr)}
  .integration-hero{padding:17px}
  .integration-brand{align-items:flex-start}
  .meta-logo{width:46px;height:46px;flex:0 0 46px}
  .health-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .health-actions>*{width:100%;min-height:44px}
  .rt-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .rt-kpi{min-width:0;padding:13px}
  .rt-pages{grid-template-columns:minmax(0,1fr)}
  .rt-page{min-width:0}
  .rt-map-wrap{height:min(390px,58vh)}
  .client-card-head{flex-wrap:wrap}
  .client-kpi-revenue{background:radial-gradient(circle at 90% 10%,rgba(59,214,159,.28),transparent 34%),linear-gradient(135deg,#001b44,#075d50)!important;border-color:transparent!important}
  .client-kpi-revenue span{color:#8edbc0!important}
  .client-kpi-revenue strong{color:#fff!important}
  .client-kpi-revenue small{color:#b9d8d0!important}
  .source-pill{max-width:100%;overflow-wrap:anywhere}
  .modal-wrap{place-items:end center;padding:0}
  .modal{width:100%;max-width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));overscroll-behavior-y:contain}
  .client-modal-wide{width:100%;max-width:100%}
  .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .form-grid>*{min-width:0;grid-column:auto!important}
  .modal-actions{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:16px -2px 0;padding:11px 2px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,.88),#fff 28%);backdrop-filter:blur(8px);z-index:2}
  .modal-actions>*{width:100%;min-height:44px}
  .details,.actions{grid-template-columns:minmax(0,1fr)}
  .detail.full{grid-column:auto}
}

@media (max-width:370px){
  .overview-actions{grid-template-columns:minmax(0,1fr)}
  .overview-actions>*{width:100%}
  .client-kpis,.kpis,.analytics-kpis,.rt-kpis{grid-template-columns:minmax(0,1fr)}
  .kpi:last-child{grid-column:auto}
  .client-kpi-revenue{grid-column:auto}
  .modal-actions{grid-template-columns:minmax(0,1fr)}
}

.mobile-stage-picker{display:none}
.kanban-touch-ghost{position:fixed!important;left:0;top:0;z-index:120;width:min(82vw,272px);margin:0!important;pointer-events:none;opacity:.94;transform-origin:top left;box-shadow:0 22px 55px rgba(0,16,53,.3)!important}
.lead.touch-dragging{opacity:.28;transform:none!important}
.cards.touch-over{outline:3px solid var(--blue2);outline-offset:2px;border-radius:12px;background:rgba(46,121,255,.08)}
body.kanban-touch-active{user-select:none;-webkit-user-select:none;overscroll-behavior:none}

@media (max-width:920px){
  .lead{touch-action:pan-x pan-y}
  .mobile-stage-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #edf0f5;color:#667085;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
  .mobile-stage-picker select{width:100%;min-width:0;height:36px;border:1px solid #dbe3ef;border-radius:9px;background:#f8faff;padding:0 8px;color:#23406e;font-size:10px;font-weight:850;text-transform:none;letter-spacing:0}
  .cards:empty{min-height:414px}
}

