/* v0.9.4: process-management fixed context on all three owner sections. */
.process-main{
  height:calc(100dvh - 66px);
  display:flex;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
  padding-bottom:0;
}
.process-main>.breadcrumb,
.process-main>.section-tabs,
.process-main>.summary-strip{flex:0 0 auto}
.process-main>.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Plan: context and controls stay still; only rows move. */
.process-main>.panel{
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
}
.process-main>.panel>.panel-head,
.process-main>.panel>.mobile-list-controls,
.process-main>.panel>.table-pagination{flex:0 0 auto}
.process-main>.panel>.table-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}
.process-main>.panel>.table-scroll .data-table thead th{
  position:sticky;
  z-index:3;
  top:0;
}

/* Approval and rectification use the restored v0.40 structure. */
.process-main>.v090-owner-workspace{
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
}
.process-main>.v090-owner-workspace>header,
.process-main>.v090-owner-workspace>.v090-approval-filters,
.process-main>.v090-owner-workspace>.v090-batch,
.process-main>.v090-owner-workspace>.v090-pagination{flex:0 0 auto}
.process-main>.v090-owner-workspace>.v090-table-wrap{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow:auto;
  overscroll-behavior:contain;
}

@media(max-width:900px){
  .process-main>.panel{overflow:hidden}
  .process-main>.panel>.plan-mobile-list,
  .process-main>.panel>.owner-mobile-list,
  .process-main>.panel>.inspector-mobile-list,
  .process-main>.panel>.role-mobile-list{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

@media(max-width:620px){
  .workspace:has(.process-main)>.topbar{
    min-height:56px;
    padding:5px 10px;
  }
  .workspace:has(.process-main)>.topbar .page-title h1{font-size:15px}
  .workspace:has(.process-main)>.topbar .page-title p{margin-top:0;font-size:9px}
  .workspace:has(.process-main)>.topbar .icon-button{width:34px;min-height:34px}
  .process-main{
    height:calc(100dvh - 56px);
    padding:5px 8px 0;
  }
  .process-main>.breadcrumb{
    min-height:17px;
    margin-bottom:3px;
    font-size:9px;
  }
  .process-main>.section-tabs{
    position:relative;
    z-index:1;
    top:auto;
    min-height:34px;
    margin-bottom:5px;
    padding:2px;
    border-radius:7px;
    box-shadow:none;
  }
  .process-main>.section-tabs .section-tab{
    min-height:28px;
    padding:3px 5px;
    font-size:9px;
  }
  .process-main>.summary-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-bottom:5px;
    border-radius:8px;
  }
  .process-main>.summary-strip .summary-item{
    min-width:0;
    min-height:44px;
    padding:5px 6px;
    border-right:1px solid var(--line);
    border-bottom:0;
  }
  .process-main>.summary-strip .summary-item:last-child{border-right:0}
  .process-main>.summary-strip .summary-label{
    overflow:hidden;
    font-size:8px;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .process-main>.summary-strip .summary-value{margin-top:1px;font-size:16px}
  .process-main>.summary-strip .summary-note{display:none}

  /* Plan list: one compact filter rail above, actions below, cards in between. */
  .process-main>.panel{border-radius:8px 8px 0 0}
  .process-main>.panel>.panel-head{
    order:1;
    min-height:38px;
    align-items:center;
    padding:5px 8px;
  }
  .process-main>.panel .panel-title h2{font-size:12px}
  .process-main>.panel .panel-title p{display:none}
  .process-main>.panel .panel-actions{gap:4px}
  .process-main>.panel .panel-actions button{
    min-height:29px;
    padding:4px 7px;
    font-size:9px;
  }
  .process-main>.panel>.mobile-list-controls{
    position:static;
    display:contents;
    box-shadow:none;
  }
  .process-main>.panel .plan-filters{
    order:2;
    display:flex;
    min-height:37px;
    flex-wrap:nowrap;
    gap:4px;
    overflow-x:auto;
    padding:4px 6px;
    border-bottom:1px solid var(--line);
    background:#fff;
    scrollbar-width:thin;
  }
  .process-main>.panel .plan-filters label{flex:0 0 94px}
  .process-main>.panel .plan-filters label>span{display:none}
  .process-main>.panel .plan-filters select{
    width:100%;
    min-width:0;
    min-height:28px;
    padding:3px 18px 3px 5px;
    font-size:8px;
  }
  .process-main>.panel .plan-filters .quiet-button{display:none}
  .process-main>.panel .plan-filters .filter-count{
    flex:0 0 auto;
    align-self:center;
    margin:0 3px;
    font-size:8px;
  }
  .process-main>.panel>.plan-mobile-list,
  .process-main>.panel>.owner-mobile-list,
  .process-main>.panel>.inspector-mobile-list,
  .process-main>.panel>.role-mobile-list{
    order:3;
    padding:6px;
  }
  .process-main>.panel .task-card{margin-bottom:6px;padding:9px}
  .process-main>.panel .batch-bar{
    position:relative;
    z-index:3;
    order:4;
    min-height:35px;
    flex:0 0 auto;
    flex-direction:row;
    align-items:center;
    padding:4px 6px;
    overflow-x:auto;
    border-top:1px solid var(--line);
    background:#fff;
    box-shadow:0 -4px 10px rgba(23,50,77,.06);
  }
  .process-main>.panel .batch-bar>span{flex:0 0 auto;font-size:8px}
  .process-main>.panel .batch-bar>span b{font-size:10px}
  .process-main>.panel .batch-bar>div{flex:1 0 auto;justify-content:flex-end;flex-wrap:nowrap}
  .process-main>.panel .batch-bar button{min-height:27px;padding:3px 6px;font-size:8px}
  .process-main>.panel>.table-pagination{
    order:5;
    min-height:29px;
    padding:3px 6px;
    font-size:8px;
  }
  .process-main>.panel>.table-pagination label{display:none}
  .process-main>.panel>.table-pagination button{min-height:23px;padding:2px 5px;font-size:8px}

  /* Approval and rectification: same fixed hierarchy, horizontally compact filters. */
  .process-main>.v090-owner-workspace{
    gap:0;
    margin-top:0;
    border:1px solid var(--line);
    border-radius:8px 8px 0 0;
    background:#fff;
  }
  .process-main>.v090-owner-workspace>header{
    position:static;
    order:1;
    min-height:38px;
    padding:5px 8px;
    background:#fff;
  }
  .process-main>.v090-owner-workspace>header h3{font-size:12px}
  .process-main>.v090-owner-workspace>header span{font-size:8px}
  .process-main>.v090-owner-workspace>.v090-approval-filters{
    position:static;
    order:2;
    display:flex;
    min-height:37px;
    flex-wrap:nowrap;
    gap:4px;
    overflow-x:auto;
    padding:4px 6px;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:#fff;
    scrollbar-width:thin;
  }
  .process-main>.v090-owner-workspace>.v090-approval-filters label{flex:0 0 98px;gap:0}
  .process-main>.v090-owner-workspace>.v090-approval-filters label>span{display:none}
  .process-main>.v090-owner-workspace>.v090-approval-filters .field{
    width:100%;
    min-width:0;
    min-height:28px;
    padding:3px 18px 3px 5px;
    font-size:8px;
  }
  .process-main>.v090-owner-workspace>.v090-table-wrap{
    order:3;
    margin:0;
    padding:6px;
    overflow-y:auto;
    border:0;
    border-radius:0;
    background:var(--page);
  }
  .process-main>.v090-owner-workspace>.v090-batch{
    order:4;
    min-height:35px;
    margin:0;
    padding:4px 6px;
    border-top:1px solid var(--line);
    background:#fff;
    box-shadow:0 -4px 10px rgba(23,50,77,.06);
  }
  .process-main>.v090-owner-workspace>.v090-batch>span{font-size:8px}
  .process-main>.v090-owner-workspace>.v090-batch button{min-height:27px;padding:3px 6px;font-size:8px}
  .process-main>.v090-owner-workspace>.v090-pagination{
    order:5;
    min-height:29px;
    flex-direction:row;
    align-items:center;
    padding:3px 6px;
    font-size:8px;
  }
  .process-main>.v090-owner-workspace>.v090-pagination label{display:none}
  .process-main>.v090-owner-workspace>.v090-pagination button{min-height:23px;padding:2px 5px;font-size:8px}
  .process-main>.v090-owner-workspace .v090-approval-table tr{margin-bottom:6px;padding:8px}
}

@media(max-width:360px){
  .workspace:has(.process-main)>.topbar .page-title p{display:none}
  .process-main>.summary-strip .summary-item{padding-inline:4px}
  .process-main>.summary-strip .summary-label{font-size:7px}
}
