/* Final responsive layer: shared layout, touch targets, and compact-screen polish. */
html{scroll-behavior:smooth}
html,body,#root{max-width:100%;min-height:100%;overflow-x:hidden}
body{line-height:1.45}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,111,237,.22);outline-offset:2px}
.main-content,.workspace-shell,.glass-card,.view-header>*,.workflow-hero>*,.admin-heading>*,.header-actions>*{min-width:0}
.btn,.nav-item,.text-button,.top-icon,.profile-avatar{touch-action:manipulation}
.custom-table{min-width:680px}
.table-container,.settings-table-wrap,.preview-table,.access-page>.glass-card,.report-canvas{overscroll-behavior-inline:contain}
.table-container,.settings-table-wrap,.preview-table,.kanban-board{border-radius:10px;-webkit-overflow-scrolling:touch}
.modal-overlay{padding:18px}
.modal-content,.access-modal,.workflow-modal,.migration-modal,.pipeline-modal{overscroll-behavior:contain}
.record-split{display:grid;grid-template-columns:1fr;gap:24px}
.record-split.has-details{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}

@media(max-width:1180px){
  .main-content{padding-inline:24px}
  .view-header,.workflow-hero,.admin-heading{gap:16px}
  .header-actions{flex-wrap:wrap;justify-content:flex-end}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  .product-bar{padding-inline:14px}
  .global-search{width:min(360px,45vw);margin-left:8px}
  .main-content{padding:22px 18px 42px}
  .view-header{align-items:flex-start}
  .view-header,.workflow-hero,.admin-heading,.settings-heading,.report-result-heading{flex-wrap:wrap}
  .view-header .header-actions,.workflow-hero .header-actions,.admin-heading .header-actions{width:100%;justify-content:flex-start}
  .provider-grid,.integration-grid,.configuration-grid,.workflow-grid,.reports-layout,.settings-layout{grid-template-columns:1fr}
  .config-section.full{grid-column:auto}
  .report-library,.settings-menu{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity}
  .report-library button,.settings-menu button{flex:0 0 auto;scroll-snap-align:start}
  .report-library .section-title{min-width:130px}
  .domain-row{grid-template-columns:minmax(180px,1fr) 120px 135px auto}
  .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-card:last-child{grid-column:1/-1}
  .invite-result{align-items:flex-start;flex-direction:column}
  .invite-result .btn{align-self:flex-start}
  .record-split.has-details{grid-template-columns:1fr}
}

@media(max-width:780px){
  .app-container{padding-top:104px}
  .product-bar{height:58px;gap:8px}
  .brand-mark{flex:0 0 auto}
  .global-search{flex:1;width:auto;max-width:none;margin-left:2px}
  .sidebar{height:46px;padding-inline:8px}
  .nav-links{height:46px;gap:5px;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-item{min-height:38px;padding-inline:12px}
  .main-content{padding:18px 14px 38px}
  .view-header{margin-bottom:18px}
  .view-title h1{font-size:21px}
  .view-title p{font-size:12px}
  .glass-card{padding:16px;border-radius:11px}
  .workflow-hero{align-items:flex-start;flex-direction:column;padding:6px 0 18px}
  .workflow-hero>button,.workflow-hero>.btn{align-self:stretch}
  .workflow-hero .header-actions{width:100%}
  .workflow-hero .header-actions .btn{flex:1}
  .list-controls{width:100%;flex-wrap:wrap}
  .module-search{width:100%;min-width:0}
  .filter-drawer{padding:20px 16px}
  .filter-rule{grid-template-columns:1fr 1fr}
  .filter-rule .rule-remove{grid-column:2;justify-self:end}
  .dashboard-subgrid{grid-template-columns:1fr}
  .task-item{align-items:flex-start;gap:10px}
  .task-main{min-width:0}
  .task-actions{flex:0 0 auto}
  .task-meta{flex-wrap:wrap}
  .form-grid{gap:13px}
  .modal-overlay{padding:12px}
  .modal-content,.access-modal,.workflow-modal,.migration-modal,.pipeline-modal{width:100%;max-height:90dvh;padding:20px}
  .onboarding-steps{grid-template-columns:1fr 1fr}
  .billing-current,.usage-summary{flex-direction:column}
  .usage-summary{width:100%}
  .usage-summary span{flex:1}
  .billing-provider{align-items:stretch;flex-wrap:wrap}
  .billing-provider label{width:100%}
  .billing-provider button{flex:1}
  .plan-grid{grid-template-columns:1fr}
  .plan-card:last-child{grid-column:auto}
  .permission-matrix{overflow-x:auto}
  .pending-invites{overflow:hidden}
  .invite-row{grid-template-columns:1fr auto}
  .invite-row>small{grid-column:1/-1}
  .report-bar-row{grid-template-columns:90px minmax(90px,1fr) 54px}
}

@media(max-width:600px){
  .brand-name{display:none}
  .product-bar .top-icon{display:none}
  .product-bar .profile-avatar{display:grid;flex:0 0 auto}
  .main-content{padding:15px 12px 34px}
  .view-header{flex-direction:column}
  .view-header .header-actions{width:100%}
  .view-header .header-actions .btn{flex:1}
  .dashboard-grid{grid-template-columns:1fr 1fr;gap:9px}
  .stat-card{min-height:96px;padding:14px}
  .stat-info .stat-value{font-size:22px}
  .glass-card{padding:14px}
  .btn{min-height:40px;padding:9px 12px}
  .form-input,.form-select,.form-textarea{min-height:42px;font-size:16px}
  textarea.form-input{min-height:90px}
  .form-grid{grid-template-columns:1fr}
  .form-group.full-width,.migration-modal .full-width{grid-column:auto}
  .form-actions{flex-direction:column-reverse}
  .form-actions .btn{width:100%}
  .modal-overlay{align-items:flex-end;padding:0}
  .modal-content,.access-modal,.workflow-modal,.migration-modal,.pipeline-modal{width:100%;max-width:none;max-height:92dvh;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
  .modal-header{align-items:flex-start;margin-bottom:17px}
  .modal-close{min-width:40px;min-height:40px;margin:-8px -8px 0 0}
  .admin-heading{align-items:stretch;flex-direction:column}
  .admin-heading .btn{width:100%}
  .onboarding-steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
  .onboarding-steps span{min-width:145px;scroll-snap-align:start}
  .custom-table{min-width:620px}
  .custom-table th,.custom-table td{padding:11px 10px}
  .mapping-row{grid-template-columns:1fr}
  .mapping-row>span{display:none}
  .review-grid,.result-grid{grid-template-columns:1fr 1fr}
  .duplicate-options label{display:block;margin:10px 0}
  .import-upload{padding:34px 14px}
  .workflow-rule,.workflow-action{grid-template-columns:1fr}
  .workflow-item{align-items:flex-start;flex-wrap:wrap}
  .workflow-item-main{min-width:70%}
  .builder-heading{gap:10px;flex-wrap:wrap}
  .builder-heading .btn{width:100%}
  .domain-row{grid-template-columns:1fr}
  .domain-row .text-button{text-align:left;min-height:36px}
  .filter-rule{grid-template-columns:1fr}
  .filter-rule .rule-remove{grid-column:auto;justify-self:end}
  .filter-drawer-actions{flex-wrap:wrap}
  .filter-drawer-actions .btn{flex:1}
  .filter-drawer-actions .btn:first-child{flex-basis:100%;margin-right:0}
  .invite-result code{max-height:72px;overflow:auto}
  .auth-page{padding:16px;align-items:start}
  .auth-card{width:100%;padding:22px 18px;margin-top:max(16px,env(safe-area-inset-top))}
  .onboarding-card{width:100%}
  .onboarding-plans button{align-items:flex-start;gap:6px;flex-direction:column}
}

@media(max-width:420px){
  .dashboard-grid{grid-template-columns:1fr}
  .stat-card{min-height:82px}
  .global-search{height:38px}
  .profile-avatar{width:34px;height:34px}
  .nav-item{padding-inline:10px}
  .workflow-hero h2{font-size:22px}
  .report-bar-row{grid-template-columns:72px minmax(70px,1fr) 44px;gap:7px}
  .review-grid,.result-grid{grid-template-columns:1fr}
  .checkout-summary{grid-template-columns:1fr}
}
