/* Phone-first refinements. Desktop and print layouts remain unchanged. */
@media screen and (max-width:700px){
  html{scroll-padding-top:76px}body{font-size:14px;-webkit-text-size-adjust:100%}
  .workspace,.main,.panel,.panel>*,.page-heading>*,.ops-kpi>div{min-width:0}
  .main{padding:18px 16px calc(100px + env(safe-area-inset-bottom))}
  .topbar{height:68px;padding:8px 16px;gap:12px}
  .topbar-left{min-width:0;gap:12px}.topbar-right{gap:8px}
  .mobile-brand{font-size:17px;gap:9px;white-space:nowrap}
  .mobile-brand .brand-mark.terren-logo{box-sizing:border-box;flex:none;width:40px;height:40px;padding:7px;border-radius:10px;background:#322b44}
  .global-search{width:44px;min-width:44px;height:44px;justify-content:center;padding:10px}
  .global-search>span,.global-search kbd{display:none}.workspace-avatar{display:none}
  .demo-badge{min-height:44px;font-size:11px;padding:8px}
  .mobile-nav{box-sizing:border-box;height:auto;min-height:68px;padding:4px 4px calc(4px + env(safe-area-inset-bottom));gap:2px}
  .mobile-nav button{min-height:56px;font-size:10px;gap:5px;padding:7px 2px;line-height:1.2}
  button,.btn,.icon-button,.text-button,summary{touch-action:manipulation}
  .btn,.icon-button,.text-button,.back-link,.filter-tabs button,.workspace-tabs button,.pt-tabs button,.help-categories button,.help-quick button,.help-related,.ops-menu button{min-height:44px}
  .icon-button{min-width:44px;flex-shrink:0}.btn{font-size:13px;padding:10px 14px;white-space:normal;line-height:1.4}
  input:not([type=checkbox]):not([type=radio]),select,textarea,.field input,.field select,.cl-library input,.cl-library select,.cl-library textarea,.help-search input{font-size:16px!important;min-height:44px;max-width:100%;box-sizing:border-box}
  label,.field label{font-size:12px;line-height:1.5}
  .page-heading,.cl-heading,.pt-heading{display:flex;flex-direction:column;align-items:stretch;gap:15px;margin-bottom:20px}
  .page-heading h1,.cl-heading h1,.pt-heading h1{font-size:27px;line-height:1.15;letter-spacing:-.8px}
  .page-heading p,.cl-heading p,.panel-heading p{font-size:13px;line-height:1.6}
  .page-heading>div:last-child:not(:first-child){flex-wrap:wrap;gap:8px}
  .page-heading>.btn,.cl-heading>.btn{align-self:flex-start}
  .panel-heading{padding:16px;gap:12px;flex-wrap:wrap}.panel-heading h2{font-size:16px}
  .ops-filters{display:flex;flex-wrap:wrap;width:100%;gap:10px}.ops-filters label{flex:1;min-width:120px}.ops-filters select{width:100%}
  .ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-kpi{padding:15px 12px;gap:8px;align-items:flex-start}.ops-kpi strong{font-size:23px;overflow-wrap:anywhere}.ops-kpi small{font-size:11px;line-height:1.4}.ops-kpi>.kpi-symbol{display:none}.ops-kpi>span:not(.kpi-symbol){min-width:0}.ops-owner{display:flex;font-size:12px}.ops-owner i{width:24px;height:24px}
  .ops-overview-main,.ops-overview-bottom{grid-template-columns:minmax(0,1fr);gap:16px}
  .ops-stage-summary{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px;scroll-snap-type:x proximity}.ops-stage-summary button{min-width:140px;flex:0 0 140px;scroll-snap-align:start;padding:14px}
  .ops-table-wrap,.register-table-wrap,.pt-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .ops-table-wrap{padding:0 16px 8px}
  .ops-bid-table,.ops-bid-table tbody,.ops-overview-main .ops-bid-table,.ops-overview-main .ops-bid-table tbody{display:block;width:100%;white-space:normal}
  .ops-bid-table thead{display:none}
  .ops-bid-table tr,.ops-overview-main .ops-bid-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid #e9e2f0;padding:16px 0}
  .ops-bid-table td,.ops-overview-main .ops-bid-table td{display:block;border:0;padding:0;min-width:0}
  .ops-bid-table td:first-child{grid-column:1/-1}.ops-project{width:100%;text-align:left;white-space:normal;min-height:44px}.ops-project strong{font-size:14px;line-height:1.4}.ops-project small{font-size:12px}
  .ops-bid-table td:nth-child(2){grid-column:1;grid-row:3;font-size:12px}.ops-bid-table td:nth-child(2):before{content:'Due '}
  .ops-bid-table td:nth-child(3){grid-column:1;grid-row:2}.ops-bid-table td:nth-child(4){grid-column:2;grid-row:2;text-align:right;font-size:15px}
  .ops-bid-table td:nth-child(5),.ops-overview-main .ops-bid-table td:nth-child(5){display:block;grid-column:1;grid-row:4;font-size:12px}
  .ops-bid-table td:nth-child(6),.ops-overview-main .ops-bid-table td:nth-child(6){grid-column:2;grid-row:3/5;align-self:center;justify-self:end}
  .ops-task-list article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:14px 12px}
  .ops-task-list article>div{min-width:0}.ops-task-list strong{font-size:13px;line-height:1.5}.ops-task-list small{font-size:12px;line-height:1.5}.ops-task-list article>.ops-stage{grid-column:2}.ops-task-list article>.btn{grid-column:3;grid-row:1/3;align-self:center}
  .register-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.register-toolbar label{min-width:0;width:100%}
  .register-table-wrap{max-height:none;padding:0 16px}.register-table,.register-table tbody{display:block;min-width:0;width:100%}.register-table thead{display:none}
  .register-table tr{display:block;border-top:1px solid #e9e2f0;padding:16px 0}.register-table td{display:block;width:auto;min-width:0!important;padding:5px 0;border:0;white-space:normal;font-size:13px}.register-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:#80738e;margin-bottom:4px}.register-table td:last-child:before{flex-basis:100%}.register-table td:first-child strong{font-size:15px}.register-table td small{font-size:12px;line-height:1.5}.register-table td:last-child{display:flex;gap:8px;flex-wrap:wrap}.register-table summary{padding:12px 0;line-height:1.5}.register-table details p{overflow-wrap:anywhere}
  .register-stats{gap:8px}.register-stats>div{padding:13px 10px}.register-stats span{font-size:11px}
  .workspace-tabs,.filter-tabs,.pt-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain}.workspace-tabs button,.filter-tabs button{flex-shrink:0;font-size:12px;padding:10px 13px}
  .form-grid,.modal .form-grid,.cl-form-grid,.pt-fields{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:1/-1}
  .form-footer{display:flex;flex-wrap:wrap;gap:10px}.form-footer>.btn{flex:1;min-width:100px}
  .modal-backdrop{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));align-items:center}
  .modal{max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:100%;overscroll-behavior:contain}
  .modal-heading{padding:20px 16px 0;gap:8px}.modal-heading h2{font-size:22px}.modal-body{padding:18px 16px 24px}.modal-heading .icon-button{margin:0}
  .mobile-estimate-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px}.mobile-estimate-bar small{font-size:11px}.mobile-estimate-bar .btn{min-height:48px;font-size:12px}.mobile-estimate-bar strong{font-size:20px}
  .help-context button{font-size:12px;text-align:left}.help-hero{padding:22px 18px}.help-hero>p,.help-boundary,.help-card{font-size:13px}.help-quick{gap:8px 18px}.help-quick button{font-size:12px}.help-article-top{flex-wrap:wrap}
  .cl-heading .btn{white-space:normal}.cl-toolbar{gap:12px}.cl-toolbar label{min-width:0}.cl-toolbar-actions{flex-wrap:wrap}.cl-rate-card{min-width:0}.cl-rate-card h3{overflow-wrap:anywhere}
  .pt-tabs button{font-size:13px}.pt-table-wrap:before{content:'Swipe to see all columns →';display:block;padding:10px 0;font-size:12px;color:#72677f;position:sticky;left:0}
  .attention-item{padding:15px 16px}.attention-item strong{font-size:13px}.attention-item p{font-size:12px;line-height:1.5}
}
@media screen and (max-width:359px){
  .main{padding-left:12px;padding-right:12px}.topbar{padding-left:12px;padding-right:12px}.topbar-left{gap:8px}.mobile-brand{font-size:15px;gap:7px}.demo-badge{padding:6px}.ops-kpi strong{font-size:21px}
}
@media screen and (max-width:700px){
 .field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;border:1px solid #ddd6e5;border-radius:8px;padding:11px 12px;background:#fff;color:#322b44}
}
@media screen and (max-width:700px){
 .ops-table-wrap:has(.ops-table:not(.ops-bid-table)):before{content:'Swipe to see all columns →';display:block;padding:10px 0;font-size:12px;color:#72677f;position:sticky;left:0}
}
