/* 景泉 AI 工作台手机适配层 v1：由 server-ui.mjs 注入，不修改业务逻辑。 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-wrap:anywhere}img,svg,canvas{max-width:100%}

@media(max-width:768px){
  :root{--mobile-gutter:12px}
  html,body,.app,.main{width:100%;max-width:100%;min-width:0}
  body{padding-bottom:env(safe-area-inset-bottom,0);overscroll-behavior-x:none}
  button,[role="button"],select,input[type="checkbox"],input[type="radio"]{touch-action:manipulation}
  button,a,select{-webkit-tap-highlight-color:transparent}
  input,select,textarea{max-width:100%;font-size:16px!important}
  .top{min-height:calc(56px + env(safe-area-inset-top,0));padding:calc(8px + env(safe-area-inset-top,0)) var(--mobile-gutter) 8px;gap:8px}
  .menu-btn,.role,.seg button,.agx,.agattach,.aginp button,.v3-btn,.push,.ri-button,.blind-box button{min-height:44px}
  .menu-btn{width:44px;height:44px}.crumb{font-size:12px}.seg{padding:2px}.seg button{min-width:38px;padding:6px 8px}
  .role{min-width:44px;justify-content:center;padding:3px}.proto{margin:0;padding-inline:var(--mobile-gutter)}
  .canvas{padding:14px var(--mobile-gutter) calc(84px + env(safe-area-inset-bottom,0))}
  .side{width:min(86vw,320px);height:100dvh;max-height:100dvh;overflow:hidden;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);overscroll-behavior:contain}
  .tree{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.tree button,.tree a,.v3-side-logout{min-height:44px}
  .department-pages-nav,#hr-module-navigation{min-width:0;max-width:100%}
  .department-pages-nav h3,#hr-module-navigation h3{overflow-wrap:anywhere}
  .department-pages-nav button,#hr-module-navigation button{white-space:normal;overflow-wrap:anywhere}
  .scrim.open,body.agon .agscrim{backdrop-filter:blur(2px)}
  .h-row,.card-h,.v3-simple-head,.v3-proc-head,.v3-hr-status,.ri-header,.ri-row{align-items:flex-start}
  .card-h,.v3-simple-head,.v3-proc-head,.v3-hr-status,.ri-header{flex-wrap:wrap}
  .card-h .hint,.card-h .src,.v3-simple-head .push,.v3-hr-status .push{margin-left:0}
  .card,.buc,.kpi,.node,.stab,.c7,.ri-panel{min-width:0}
  .card .cbody,.v3-table,.v3-hr-tabs,.table-wrap,[class*="table-wrap"]{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  table{font-size:12px}th,td{padding-block:10px}
  .v3-flow,.v3-auto-actions,.ri-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .v3-flow>*,.v3-auto-actions>*,.ri-tabs>*{flex:0 0 auto}
  .ri-actions,.bb-toolbar,.bb-art-actions{display:flex;flex-wrap:wrap;overflow:visible;max-width:100%}
  .ri-actions>*,.bb-toolbar>*,.bb-art-actions>*{min-width:0;max-width:100%}
  .ri-actions button,.bb-art-actions button{min-height:44px;flex:1 1 120px}
  .bb-toolbar button,.bb-toolbar select,.bb-toolbar input{min-height:44px}
  .bb-status{flex-wrap:wrap}.bb-output-bar code,.bb-event code{overflow-wrap:anywhere;word-break:break-word}
  .agpanel{height:min(90dvh,760px);max-height:calc(100dvh - env(safe-area-inset-top,0))}
  .agstream{min-height:0;-webkit-overflow-scrolling:touch}.agformats,.agquick,.agsklist{scrollbar-width:none}
  .agformats::-webkit-scrollbar,.agquick::-webkit-scrollbar,.agsklist::-webkit-scrollbar{display:none}
  .agfilestray{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .agfilestray::-webkit-scrollbar{display:none}
  .agfile{width:min(82vw,220px);grid-template-columns:36px minmax(0,1fr) 44px;min-width:0}
  .agfile span{min-width:0}.agfile button{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center}
  .aginp{padding-bottom:max(9px,env(safe-area-inset-bottom,0))}
  .aginp .agattach,.aginp button,.aginp input{height:44px;min-height:44px;flex-shrink:0}
  .aginp input{flex:1 1 auto}
  .agartifact{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start}
  .agartifact span{min-width:0}.agartifact b,.agartifact small{overflow-wrap:anywhere;word-break:break-word}
  .agartifact a,.agartifact button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:0}
  .v3-copilot-artifacts .card-h .hint{flex:1 0 100%}
  .v3-login-box{width:100%;min-height:100dvh;padding:max(24px,env(safe-area-inset-top,0)) 20px max(24px,env(safe-area-inset-bottom,0))}
  .v3-config{grid-template-columns:1fr}.v3-config>*{min-width:0;width:100%}
  .v3-proc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v3-flow{justify-content:flex-start}
  .bb-art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bb-image-lightbox{padding:max(12px,env(safe-area-inset-top,0)) 12px max(12px,env(safe-area-inset-bottom,0))}
  #sampling-workbench{width:100%;max-width:100%;min-width:0}
  #sampling-workbench form,#sampling-workbench [class*="toolbar"],#sampling-workbench [class*="actions"]{display:flex;flex-wrap:wrap;max-width:100%}
  #sampling-workbench table{min-width:680px}
  #sampling-workbench [class*="table"]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:420px){
  .top{gap:6px}.crumb{max-width:86px}.canvas{padding-inline:10px}
  .kpis,.dcount,.ri-stats,.v3-proc-kpis{grid-template-columns:1fr!important}.bb-art-grid{grid-template-columns:1fr}
  .ri-form,.ri-toolbar{align-items:stretch}.ri-form label,.ri-toolbar label{flex:1 0 100%}.ri-form label:has([name="limit"]){flex-basis:100%}
  .aginp{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px}
  .agartifact{grid-template-columns:32px minmax(0,1fr)}.agartifact a,.agartifact button{grid-column:2;width:100%}
  .agpanel{height:94dvh;border-radius:14px 14px 0 0}
}

@media(max-width:920px) and (max-height:500px) and (orientation:landscape){
  .menu-btn{width:44px;height:44px;min-width:44px;min-height:44px}
  .role,.seg button,.agx,.agattach,.aginp button,.v3-btn,.push,.ri-button,.blind-box button{min-height:44px}
  .aginp .agattach,.aginp button,.aginp input{height:44px;min-height:44px;flex-shrink:0}.aginp input{flex:1 1 auto}
  .agfilestray{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.agfilestray::-webkit-scrollbar{display:none}
  .agfile{width:min(52vw,220px);grid-template-columns:36px minmax(0,1fr) 44px;min-width:0}.agfile span{min-width:0}.agfile button{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center}
  input,select,textarea{font-size:16px!important}
  .agpanel{height:100dvh;max-height:100dvh;border-radius:0}.agskills,.agctx{display:none}
}

@media(hover:none) and (pointer:coarse){.askbtn,.askinline{opacity:1}}
