:root{
  --navy:#162544;
  --navy-2:#203154;
  --navy-3:#2f4778;
  --blue:#3c6ff7;
  --bg:#f3f5f9;
  --line:#e5e9f0;
  --text:#1e2b3c;
  --muted:#7c8796;
  --top:72px;
  --side:264px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Arial,"Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

/* V296 full revision workspace with add/remove PO */
.modal-card.modal-card-inspection-revision{width:min(1540px,calc(100vw - 28px))!important;max-width:none!important;height:min(900px,calc(100vh - 24px));max-height:calc(100vh - 24px)}.modal-card-inspection-revision .modal-body{display:flex;flex-direction:column;min-height:0;overflow:auto;padding:12px 15px}.inspection-revision-section{margin-bottom:10px;min-height:0}.inspection-revision-section .section-toolbar{margin-bottom:5px}.inspection-revision-section .section-toolbar input{width:320px;height:34px;border:1px solid #d7dfeb;border-radius:8px;padding:0 9px}.inspection-revision-table{max-height:260px!important}.inspection-revision-add{max-height:300px;overflow:auto}.inspection-revision-add table{min-width:1300px}.inspection-revision-add thead th{position:sticky;top:0;z-index:3;background:#f3f6fb}.inspection-revision-add input,.inspection-revision-add select{box-sizing:border-box;max-width:130px;height:32px}.inspection-revision-add td small{display:block;color:#7a8798}.modal-card-inspection-revision .modal-actions{position:sticky;bottom:0;z-index:5;margin-top:auto;padding:9px 0 2px;background:#fff}
@media(max-width:900px){.modal-card.modal-card-inspection-revision{width:calc(100vw - 12px)!important;height:calc(100vh - 12px)}.inspection-revision-section .section-toolbar{align-items:stretch;flex-direction:column}.inspection-revision-section .section-toolbar input{width:100%}}

.login{position:relative;height:100vh;min-height:620px;overflow:hidden;background:#071831;color:#fff}
.login-backdrop{position:absolute;inset:-12%;background-image:linear-gradient(90deg,rgba(6,22,48,.92) 0%,rgba(9,42,82,.68) 42%,rgba(6,25,53,.42) 68%,rgba(5,19,42,.72) 100%),url('/static/assets/artiverse-login-bg.jpg');background-size:cover;background-position:center;filter:saturate(.82) contrast(1.04);transform:scale(1.02)}
.login-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(23,161,205,.2),transparent 32%),linear-gradient(115deg,transparent 54%,rgba(8,24,50,.52) 54.2%,rgba(8,24,50,.12) 74%,transparent 74.2%)}
.login-shell{position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(430px,.78fr)}
.login-hero{position:relative;padding:48px clamp(42px,6vw,104px);display:flex;flex-direction:column;justify-content:space-between}
.login-brandline{display:flex;align-items:center;gap:13px;letter-spacing:.08em}.login-brandline>span:last-child{display:flex;flex-direction:column}.login-brandline b{font-size:16px}.login-brandline small{font-size:8px;letter-spacing:.24em;color:#8fcae1;margin-top:4px}.login-brand-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);background:linear-gradient(145deg,#142a5c 15%,#e2293f 100%);clip-path:polygon(50% 0,100% 88%,76% 88%,50% 42%,24% 88%,0 88%);font:800 17px Arial;padding-top:9px}
.login-hero-copy{max-width:700px;margin:-2vh 0 0}.login-kicker{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.25em;color:#55d0ee}.login-kicker:before{content:"";width:34px;height:2px;background:#e62c46}.login-hero-copy h1{font-size:clamp(40px,4.3vw,68px);line-height:1.13;letter-spacing:.04em;margin:20px 0 18px;text-shadow:0 8px 28px rgba(0,0,0,.2)}.login-hero-copy h1 em{font-style:normal;color:#75d6eb}.login-hero-copy>p{max-width:540px;color:#c6d9e7;font-size:15px;line-height:1.8;margin:0}
.login-flow{display:flex;align-items:center;margin-top:34px;color:#d9e8f1;font-size:11px}.login-flow span{display:flex;align-items:center;gap:7px;white-space:nowrap}.login-flow span i{font-style:normal;color:#53d4ef;font-size:9px;border:1px solid rgba(83,212,239,.45);border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.login-flow>b{width:28px;height:1px;background:rgba(255,255,255,.27);margin:0 9px}
.login-values{display:flex;gap:clamp(28px,4vw,70px)}.login-values span{display:flex;flex-direction:column;padding-left:12px;border-left:2px solid rgba(94,208,235,.72)}.login-values b{font-size:13px;letter-spacing:.2em}.login-values small{font-size:8px;color:#8db2c9;letter-spacing:.12em;margin-top:5px}
.login-panel{position:relative;display:grid;place-items:center;padding:38px;background:linear-gradient(120deg,rgba(237,247,252,.08),rgba(3,18,42,.28));backdrop-filter:blur(3px);border-left:1px solid rgba(255,255,255,.12)}
.login-card{width:min(430px,100%);background:rgba(255,255,255,.97);color:#18273d;border:1px solid rgba(255,255,255,.74);border-radius:22px;padding:36px 38px 30px;box-shadow:0 32px 80px rgba(2,15,38,.34)}
.login-card-head{display:flex;align-items:center;gap:15px;margin-bottom:27px}.login-card-logo{width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,#162a55,#234f88);display:grid;place-items:center;color:#fff;font-weight:800;font-size:20px;box-shadow:0 8px 22px rgba(17,53,99,.24)}.login-card-head>div:last-child{min-width:0}.login-card-head span{font-size:9px;color:#e32e45;font-weight:800;letter-spacing:.18em}.login-card-head h2{font-size:24px;margin:4px 0 2px;color:#12233f}.login-card-head p{font-size:11px!important;text-align:left!important;margin:0!important;color:#8190a2!important;letter-spacing:.03em}
.logo,.brand-logo{width:46px;height:46px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.login-card label{display:block;margin:15px 0;color:#58677a;font-size:11px;font-weight:700}.login-card label>span{display:block;margin-bottom:7px}.login-input-wrap{height:48px;display:flex;align-items:center;border:1px solid #d9e1ea;border-radius:10px;background:#f9fbfd;transition:.2s}.login-input-wrap:focus-within{border-color:#2b76b8;background:#fff;box-shadow:0 0 0 3px rgba(43,118,184,.1)}.login-input-wrap>svg{width:18px;height:18px;margin-left:14px;fill:none;stroke:#8292a6;stroke-width:1.7}.login-card input{min-width:0;flex:1;height:100%;border:0!important;outline:0;background:transparent;padding:0 12px!important;color:#15243a;font-size:13px}.login-card input::placeholder{color:#abb6c3}.password-toggle{flex:0 0 42px!important;width:42px!important;height:100%;display:grid;place-items:center;border:0!important;background:transparent!important;margin:0!important;padding:0!important}.password-toggle svg{width:18px;height:18px;fill:none;stroke:#8d9aac;stroke-width:1.7}.login-submit{width:100%;height:48px;border:0;background:linear-gradient(100deg,#173b70,#257eac);color:#fff;border-radius:10px;padding:0 17px;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:11px;font-weight:700;letter-spacing:.08em;box-shadow:0 10px 24px rgba(28,86,133,.22);transition:transform .15s,box-shadow .15s}.login-submit:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(28,86,133,.3)}.login-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.login-secure{text-align:center;color:#98a4b3;font-size:9px;margin-top:22px}.login-secure span{color:#31a481;font-size:8px;margin-right:5px}.login-copyright{position:absolute;bottom:20px;color:rgba(215,231,241,.62);font-size:9px;letter-spacing:.08em}
@media(max-width:1080px){.login-shell{grid-template-columns:minmax(0,1fr) 440px}.login-hero{padding:40px}.login-hero-copy h1{font-size:42px}.login-flow b{width:12px;margin:0 5px}.login-flow span{font-size:10px}.login-values{gap:24px}}
@media(max-width:760px){.login{min-height:560px}.login-backdrop{inset:-5%;background-position:center;background-image:linear-gradient(180deg,rgba(6,22,48,.73),rgba(5,19,42,.88)),url('/static/assets/artiverse-login-bg.jpg')}.login-shell{display:block;overflow:auto}.login-hero{position:absolute;inset:0;padding:24px;pointer-events:none}.login-brandline{pointer-events:auto}.login-brandline b{font-size:13px}.login-hero-copy,.login-values{display:none}.login-panel{min-height:100%;padding:94px 18px 54px;background:transparent;border:0;backdrop-filter:none}.login-card{padding:28px 25px 24px;border-radius:18px}.login-card-head{margin-bottom:22px}.login-card-head h2{font-size:21px}.login-copyright{bottom:18px;font-size:8px}}

header{position:fixed;top:0;left:0;right:0;height:var(--top);background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:var(--side) 46px minmax(0,1fr) auto;z-index:20}
.head-left,.head-right{display:flex;align-items:center;gap:10px}
.head-left{padding:0 20px;background:var(--navy);color:#fff}
.brand-anchor{display:flex;align-items:center;gap:12px}
.brand-anchor div:last-child{display:flex;flex-direction:column}
.brand-anchor b{font-size:14px}
.brand-anchor small{color:#b6c2d8;margin-top:3px;font-size:12px}
.head-right{padding:0 16px}
.head-right>button,.user>button{border:0;background:#f4f7fb;border-radius:10px;padding:9px 12px}
.head-right select{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.user{position:relative}
.drop{position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px;width:140px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.drop button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px;border-radius:7px}
.drop button:hover{background:#f3f5f9}

#topNav{display:flex;height:100%;overflow:auto;align-items:center;gap:6px;padding:0 12px}
.top-collapse{width:42px;height:42px;border:0;border-radius:12px;background:#eef2f7;color:#33435e;font-size:20px;flex:0 0 auto}
.top-tab{border:0;background:transparent;padding:0 18px;height:44px;border-radius:10px;font-weight:800;color:#38475c;white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,box-shadow .15s ease}
.top-tab:hover{background:#f1f4f9;color:#23344f}
.top-tab.active{color:#fff;background:var(--blue);box-shadow:0 4px 12px rgba(60,111,247,.22)}

aside{position:fixed;top:var(--top);left:0;bottom:0;width:var(--side);background:var(--navy);color:#fff;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05)}
.search{padding:14px 14px 12px;background:var(--navy)}
.search input{width:100%;border:1px solid rgba(255,255,255,.08);background:#fff;border-radius:10px;padding:11px 12px}
.side-nav{padding:4px 10px 20px;background:var(--navy);overflow:auto;height:calc(100vh - 98px)}
.group{margin-bottom:8px}
.group-btn,.menu-btn,.child-btn{width:100%;border:0;background:transparent;color:#d7deeb;text-align:left;border-radius:12px}
.group-btn{min-height:48px;padding:0 14px;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.menu-btn{min-height:48px;padding:0 14px;font-weight:700;display:flex;align-items:center;gap:10px;justify-content:flex-start}
.group-main{display:flex;align-items:center;gap:10px}
.group-btn:hover,.menu-btn:hover,.child-btn:hover{background:rgba(255,255,255,.06)}
.group.open>.group-btn,.menu-btn.active{background:rgba(255,255,255,.10);color:#fff}
.menu-ico{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;opacity:.95;flex:0 0 auto}.menu-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.submenu{display:none;padding:6px 0 4px 0}
.group.open>.submenu{display:block}
.child-btn{min-height:38px;padding:0 14px 0 44px;color:#c7d1e2;display:flex;align-items:center}
.child-btn.active{background:var(--navy-3);color:#fff}
.group-caret{font-style:normal;font-size:12px;color:#9eb0cb;transition:transform .2s}
.group.open .group-caret{transform:rotate(180deg)}

main{padding:calc(var(--top) + 20px) 22px 30px calc(var(--side) + 22px);height:100vh;overflow:auto}
.workspace-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.workspace-left{display:flex;align-items:flex-start;gap:12px}
.workspace-title h1{margin:0 0 5px;font-size:22px}
.workspace-title p{margin:0;color:var(--muted)}
.workspace-actions{display:flex;gap:10px;align-items:center}
.admin-tabs,.filter-pills{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.admin-tabs button,.pill{border:0;background:#edf1f5;border-radius:10px;padding:9px 14px;font-weight:700;color:#314158}
.admin-tabs button.active,.pill.active{background:var(--blue);color:#fff}
.primary-btn{border:0;background:var(--blue);color:#fff;border-radius:10px;padding:10px 15px;font-weight:700}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metric,.card,.table-card,.placeholder{background:#fff;border:1px solid var(--line);border-radius:15px}
.metric{padding:18px}
.metric span{color:var(--muted)}
.metric b{display:block;font-size:30px;margin-top:8px}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}
.card{padding:18px}
.card h3{margin:0 0 14px}
.todo{padding:11px 0;border-top:1px solid #eef1f4}
.todo:first-of-type{border-top:0}
.todo small{color:var(--muted)}
.mini-placeholder{min-height:220px;border:1px dashed #d7dfeb;border-radius:14px;display:grid;place-items:center;color:#97a3b4;background:#fafcff}
.placeholder{min-height:420px;display:grid;place-items:center;text-align:center;padding:30px}
.placeholder h2{margin:0}
.placeholder p{color:var(--muted);max-width:560px;line-height:1.6}
.table-card{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:800px}
.table th,.table td{padding:12px;border-bottom:1px solid #edf0f3;text-align:left}
.table th{background:#f7f9fc}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:grid;place-items:center;z-index:50}
.modal-card{width:520px;max-width:94vw;background:#fff;border-radius:15px}
.modal-head{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.modal-head button{border:0;background:transparent;font-size:20px}
#modalBody{padding:16px}
#modalBody input{width:100%;padding:10px;border:1px solid #d7deea;border-radius:9px;margin:5px 0 10px}
#modalBody .save{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:10px 14px}

.collapsed{--side:76px}
.collapsed .brand-anchor div:last-child,
.collapsed .search,
.collapsed .group-main span:last-child,
.collapsed .menu-btn > span:not(.menu-ico),
.collapsed .group-caret,
.collapsed .child-btn span{display:none}
.collapsed .submenu{display:none!important}
.collapsed .group-btn,.collapsed .menu-btn,.collapsed .child-btn{justify-content:center;padding-left:0;padding-right:0}
.collapsed .child-btn{min-height:36px;padding-left:0}

@media(max-width:900px){
  header{grid-template-columns:1fr auto}
  #topNav{position:fixed;top:var(--top);left:0;right:0;height:46px;background:#fff;border-bottom:1px solid var(--line);padding:0 8px}
  .top-collapse{width:38px;height:38px}
  .top-tab{flex:1;padding:0 8px}
  .head-right select,.head-right>button,#userName{display:none}
  .head-left{padding-right:10px}
  aside{transform:translateX(-100%);top:calc(var(--top) + 46px)}
  .mobile aside{transform:translateX(0)}
  main{padding:calc(var(--top) + 62px) 12px}
  .metrics{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .workspace-title h1{font-size:20px}
}

/* V6 foundation enhancements */
.metric-0{border-top:3px solid #3c6ff7}.metric-1{border-top:3px solid #d28b2c}.metric-2{border-top:3px solid #2e9660}.metric-3{border-top:3px solid #7658c8}
.home-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.card-head{display:flex;justify-content:space-between;align-items:center}.text-btn{border:0;background:transparent;color:var(--blue);font-weight:700}.todo small{display:block;margin-top:4px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-item{border:1px solid var(--line);background:#f9fbfe;border-radius:11px;padding:13px;text-align:left}.quick-item b{display:block}.quick-item small{color:var(--muted)}.recent-row,.overview-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eef1f4}.recent-row:first-child,.overview-row:first-child{border-top:0}.recent-row small{color:var(--muted)}.empty-small{color:var(--muted);padding:12px 0}
.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.module-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;text-align:left;display:flex;gap:13px;align-items:flex-start}.module-card:hover{border-color:#cfd9ef;box-shadow:0 10px 24px rgba(21,33,59,.05)}.module-card-icon{width:42px;height:42px;border-radius:12px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:20px;flex:0 0 auto}.module-card h3{margin:2px 0 6px}.module-card p{margin:0;color:var(--muted);line-height:1.5}
.table-btn{border:0;background:#edf1f5;border-radius:8px;padding:7px 10px;font-weight:700;margin-right:5px}.table-btn.danger{background:#fff0ee;color:#b6291d}
.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.role-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.role-card h3{margin:0 0 5px}.role-card p{margin:0;color:var(--muted)}.perm-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.perm-tags span{background:#eef2f6;border-radius:999px;padding:5px 8px;font-size:11px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.modal-actions{display:flex;justify-content:flex-end;margin-top:15px}.permission-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:360px;overflow:auto;margin-top:12px}.check-line{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px;margin:0!important}.check-line input{width:auto!important}.check-line small{color:var(--muted)}
#modalBody label{display:block;margin:8px 0;color:#566274;font-size:13px}#modalBody select{width:100%;padding:10px;border:1px solid #d7deea;border-radius:9px}
@media(max-width:1000px){.home-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.form-grid,.permission-list{grid-template-columns:1fr}}

.brand-logo.has-image{background:#fff;overflow:hidden}.brand-logo.has-image img{width:100%;height:100%;object-fit:contain}


/* V8 compact enterprise density */
:root{--top:60px;--side:238px}
body{font-size:13px}
.logo,.brand-logo{width:40px;height:40px;border-radius:11px}
.head-left{padding:0 16px}
.brand-anchor{gap:10px}
.brand-anchor b{font-size:13px}
.brand-anchor small{font-size:10px;margin-top:2px}
.head-right{padding:0 12px;gap:6px}
.head-right>button,.user>button{padding:7px 10px;border-radius:8px}
.head-right select{padding:7px 9px;border-radius:8px;font-size:12px}
#topNav{gap:2px;padding:0 8px}
.top-collapse{width:36px;height:36px;border-radius:9px;font-size:17px}
.top-tab{padding:0 14px;font-size:13px;border-bottom-width:2px}
.search{padding:10px 10px 8px}
.search input{padding:9px 10px;border-radius:8px;font-size:12px}
.side-nav{padding:2px 8px 14px;height:calc(100vh - 78px)}
.group{margin-bottom:4px}
.group-btn,.menu-btn{min-height:40px;padding:0 11px;border-radius:9px;font-size:13px}
.group-main,.menu-btn{gap:8px}
.menu-ico{width:18px;font-size:13px}
.submenu{padding:3px 0 3px}
.child-btn{min-height:31px;padding:0 10px 0 37px;border-radius:8px;font-size:12px}
.group-caret{font-size:10px}
main{padding:calc(var(--top) + 14px) 16px 22px calc(var(--side) + 16px)}
.workspace-bar{margin-bottom:12px;gap:10px}
.workspace-title h1{font-size:19px;margin-bottom:3px}
.workspace-title p{font-size:12px}
.workspace-actions{gap:6px}
.admin-tabs,.filter-pills{gap:6px;margin-bottom:12px}
.admin-tabs button,.pill{padding:7px 11px;border-radius:8px;font-size:12px}
.primary-btn{padding:8px 12px;border-radius:8px;font-size:12px}
.metrics{gap:10px}
.metric,.card,.table-card,.placeholder{border-radius:11px}
.metric{padding:13px}
.metric span{font-size:12px}
.metric b{font-size:24px;margin-top:5px}
.grid2,.home-grid{gap:10px;margin-top:10px}
.card{padding:13px}
.card h3{font-size:14px;margin-bottom:10px}
.todo{padding:8px 0}
.todo small{font-size:11px}
.mini-placeholder{min-height:170px;border-radius:10px}
.placeholder{min-height:320px;padding:22px}
.placeholder h2{font-size:18px}
.placeholder p{font-size:12px}
.table{font-size:12px;min-width:760px}
.table th,.table td{padding:8px 9px}
.table-btn{padding:5px 8px;border-radius:6px;font-size:11px;margin-right:3px}
.module-grid{grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:10px}
.module-card{border-radius:11px;padding:13px;gap:10px}
.module-card-icon{width:34px;height:34px;border-radius:9px;font-size:16px}
.module-card h3{font-size:14px;margin:1px 0 4px}
.module-card p{font-size:11px;line-height:1.4}
.quick-grid{gap:8px}.quick-item{padding:10px;border-radius:8px}.quick-item small{font-size:11px}
.recent-row,.overview-row{padding:7px 0}
.role-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.role-card{border-radius:11px;padding:13px}
.perm-tags{gap:4px;margin:10px 0}.perm-tags span{padding:4px 6px;font-size:10px}
.modal-card{width:480px;border-radius:12px}
.modal-head{padding:11px 13px}.modal-head button{font-size:18px}
#modalBody{padding:13px}#modalBody label{font-size:12px;margin:6px 0}#modalBody input,#modalBody select{padding:8px;border-radius:7px}
.form-grid{gap:0 9px}.permission-list{gap:6px;max-height:300px;margin-top:9px}.check-line{padding:7px;border-radius:7px}
.collapsed{--side:68px}
.collapsed .group-btn,.collapsed .menu-btn,.collapsed .child-btn{min-height:38px}
@media(max-width:900px){
  #topNav{height:42px}.top-collapse{width:34px;height:34px}.top-tab{padding:0 7px;font-size:12px}
  aside{top:calc(var(--top) + 42px)}
  main{padding:calc(var(--top) + 54px) 10px 18px}
  .workspace-title h1{font-size:18px}
}

.primary-btn.secondary{background:#eef2f7;color:#314158;margin-left:6px}


/* V12 font size selector + direct LOGO upload */
.font-size-control{display:flex;align-items:center;gap:5px;color:#536176;white-space:nowrap}
.font-size-control span{font-size:11px}
.font-size-control select{min-width:48px;padding:6px 7px!important}
.logo-upload-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fafbfd;margin-top:5px}
.logo-preview{width:64px;height:48px;border:1px dashed #ccd5e2;border-radius:8px;background:#fff;display:grid;place-items:center;color:var(--muted);font-size:10px;overflow:hidden;flex:0 0 auto}
.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.logo-upload-actions{min-width:0;flex:1}.logo-upload-actions input[type=file]{font-size:11px;padding:6px!important;margin-bottom:5px!important}

body.ui-font-medium{font-size:13px}
body.ui-font-small{font-size:12px}
body.ui-font-small .top-tab,body.ui-font-small .group-btn,body.ui-font-small .menu-btn{font-size:12px}
body.ui-font-small .child-btn,body.ui-font-small .table,body.ui-font-small input,body.ui-font-small select,body.ui-font-small button{font-size:11px}
body.ui-font-small .workspace-title h1{font-size:17px}
body.ui-font-small .workspace-title p,body.ui-font-small .metric span{font-size:11px}
body.ui-font-small .metric b{font-size:21px}
body.ui-font-small .module-card h3{font-size:13px}
body.ui-font-small .module-card p{font-size:10px}
body.ui-font-small .table th,body.ui-font-small .table td{padding:6px 7px}
body.ui-font-small .group-btn,body.ui-font-small .menu-btn{min-height:37px}
body.ui-font-small .child-btn{min-height:29px}

body.ui-font-large{font-size:15px}
body.ui-font-large .top-tab,body.ui-font-large .group-btn,body.ui-font-large .menu-btn{font-size:15px}
body.ui-font-large .child-btn,body.ui-font-large .table,body.ui-font-large input,body.ui-font-large select,body.ui-font-large button{font-size:14px}
body.ui-font-large .workspace-title h1{font-size:22px}
body.ui-font-large .workspace-title p,body.ui-font-large .metric span{font-size:14px}
body.ui-font-large .metric b{font-size:28px}
body.ui-font-large .module-card h3{font-size:16px}
body.ui-font-large .module-card p{font-size:13px}
body.ui-font-large .table th,body.ui-font-large .table td{padding:10px 11px}
body.ui-font-large .group-btn,body.ui-font-large .menu-btn{min-height:45px}
body.ui-font-large .child-btn{min-height:35px}
@media(max-width:900px){.font-size-control span{display:none}.font-size-control select{display:block!important}}

.team-row{display:flex;align-items:center;gap:6px;min-height:30px;white-space:nowrap}.team-row+.team-row{border-top:1px dashed var(--line)}.mini-btn{border:0;background:#edf2f7;color:#2f4059;border-radius:7px;padding:4px 8px;font-weight:700;font-size:.88em}.mini-btn.danger{background:#fff0ee;color:#b42318}.table-btn.danger{background:#fff0ee;color:#b42318}

.error-card{background:#fff;border:1px solid #f0caca;border-radius:14px;padding:22px;color:#722}.error-card h3{margin-top:0}.loading-page{min-height:220px}

/* V22 employee master */
.employee-filter{display:grid;grid-template-columns:minmax(240px,2fr) repeat(5,minmax(120px,1fr)) auto auto;gap:8px;margin:12px 0}
.employee-filter input,.employee-filter select{min-width:0}
.employee-summary{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.employee-summary span{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:7px 11px}
.employee-summary b{margin-left:5px}
.employee-table-wrap{overflow:auto}
.employee-table{min-width:1280px}
.status-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.9em;background:#eef2f7}
.status-active{background:#e8f7ee;color:#157347}.status-probation{background:#fff5d9;color:#8a6500}.status-pending{background:#e8f0ff;color:#2455a6}.status-suspended{background:#fff0e6;color:#a04b00}.status-terminated{background:#f3f4f6;color:#6b7280}
.pager{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px}
.employee-modal{min-width:min(900px,82vw)}
.employee-tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:14px}
.employee-tabs button{border:0;background:transparent;padding:9px 13px;cursor:pointer}
.employee-tabs button.active{font-weight:700;color:#315efb;border-bottom:2px solid #315efb}
.employee-tab{display:none}.employee-tab.active{display:block}
.form-grid .span2{grid-column:span 2}
.form-grid textarea{min-height:72px;resize:vertical}
.detail-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:12px;margin-bottom:12px}
.detail-head h2{margin:0}.detail-head p{margin:4px 0 0;color:#64748b}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.detail-grid>div{background:#f8fafc;padding:10px;border-radius:8px}.detail-grid span{display:block;color:#64748b;font-size:.9em}.detail-grid b{display:block;margin-top:4px}
.history-list>div{display:grid;grid-template-columns:110px 1fr 120px;gap:10px;border-bottom:1px solid #edf0f4;padding:8px 0}
.import-result{margin-top:12px;padding:10px;background:#f8fafc;border-radius:8px;display:flex;gap:12px;flex-wrap:wrap}
.import-errors{width:100%;max-height:180px;overflow:auto;color:#a12b20;font-size:.92em}.muted{color:#94a3b8}.empty-cell{text-align:center;color:#94a3b8;padding:28px!important}
.danger-btn{background:#c0392b;color:#fff;border:0;border-radius:8px;padding:9px 14px;cursor:pointer}
@media(max-width:1200px){.employee-filter{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.employee-filter{grid-template-columns:1fr 1fr}.employee-modal{min-width:auto}.detail-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}}

.account-link-row{display:flex;gap:8px;align-items:center;margin:8px 0 18px}.account-link-row select{min-width:320px;max-width:100%}

/* V23 employee modal compact layout */
body.modal-open{overflow:hidden}
.modal{padding:22px;box-sizing:border-box}
.modal-card{
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 44px);
  overflow:hidden;
}
.modal-card-employee{
  width:min(1000px,calc(100vw - 48px))!important;
  max-width:none!important;
}
.modal-card-detail{
  width:min(900px,calc(100vw - 48px))!important;
  max-width:none!important;
}
.modal-card-employee .modal-head,
.modal-card-detail .modal-head{
  flex:0 0 auto;
}
.modal-card-employee #modalBody,
.modal-card-detail #modalBody{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:0!important;
}
.employee-modal{
  min-width:0!important;
  width:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.employee-tabs{
  position:sticky;
  top:0;
  z-index:3;
  background:#fff;
  padding:10px 16px 0;
  margin:0 0 10px!important;
}
.employee-tab{
  padding:0 16px 8px;
}
.employee-tab .form-grid{
  grid-template-columns:1fr 1fr;
  column-gap:14px;
  row-gap:0;
}
.employee-tab .form-grid label{
  margin:3px 0!important;
}
.employee-tab .form-grid input,
.employee-tab .form-grid select,
.employee-tab .form-grid textarea{
  margin:3px 0 7px!important;
  min-height:36px;
  box-sizing:border-box;
}
.employee-tab .form-grid textarea{
  min-height:68px;
}
.employee-modal>.modal-actions{
  position:sticky;
  bottom:0;
  z-index:4;
  margin:0!important;
  padding:10px 16px 12px;
  background:#fff;
  border-top:1px solid #e7ebf1;
  box-shadow:0 -5px 12px rgba(15,23,42,.04);
}
.employee-modal>.modal-actions .primary-btn{
  min-width:118px;
}
.modal-card-employee .modal-head{
  padding:11px 16px;
}
.modal-card-employee .modal-head strong,
.modal-card-employee #modalTitle{
  font-size:16px;
}
.modal-card-employee #modalBody::-webkit-scrollbar{
  width:8px;
}
.modal-card-employee #modalBody::-webkit-scrollbar-thumb{
  background:#cbd5e1;
  border-radius:8px;
}
@media(max-width:900px){
  .modal{padding:10px}
  .modal-card-employee,.modal-card-detail{
    width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px);
  }
  .employee-tabs{
    overflow-x:auto;
    white-space:nowrap;
    padding-left:10px;
    padding-right:10px;
  }
  .employee-tab{padding-left:10px;padding-right:10px}
}
@media(max-width:680px){
  .employee-tab .form-grid{grid-template-columns:1fr}
  .form-grid .span2{grid-column:span 1}
}

/* V24 employee detail compact layout */
.modal-card-detail{
  width:min(860px,calc(100vw - 40px))!important;
  max-width:none!important;
}
.modal-card-detail .modal-head{
  padding:10px 14px;
}
.modal-card-detail #modalBody{
  padding:0!important;
}
.employee-detail{
  padding:0 14px 14px;
}
.employee-detail .detail-head{
  padding:10px 0 12px;
  margin-bottom:12px;
  align-items:center;
}
.employee-detail .detail-head h2{
  font-size:22px;
  line-height:1.2;
  margin:0;
}
.employee-detail .detail-head p{
  font-size:14px;
  margin-top:3px;
}
.employee-detail .detail-head>div:last-child{
  background:#f4f7fb;
  border:1px solid #e5eaf1;
  border-radius:8px;
  padding:6px 10px;
  white-space:nowrap;
}
.employee-detail .detail-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.employee-detail .detail-grid>div{
  padding:8px 10px;
  min-height:58px;
  border:1px solid #edf0f4;
  background:#f8fafc;
  border-radius:8px;
}
.employee-detail .detail-grid span{
  font-size:12px;
  line-height:1.2;
}
.employee-detail .detail-grid b{
  font-size:14px;
  line-height:1.25;
  margin-top:3px;
  word-break:break-word;
}
.employee-detail h3{
  font-size:15px;
  margin:12px 0 7px;
}
.account-link-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin:0 0 14px!important;
}
.account-link-row select{
  width:100%;
  min-width:0!important;
  max-width:none!important;
  height:36px;
}
.account-link-row .table-btn{
  min-width:88px;
  height:36px;
  white-space:nowrap;
  padding:0 12px;
}
.history-list{
  border:1px solid #edf0f4;
  border-radius:8px;
  overflow:hidden;
}
.history-list>div{
  grid-template-columns:90px minmax(0,1fr) 90px!important;
  gap:8px!important;
  padding:8px 10px!important;
  align-items:center;
}
.history-list>div:last-child{
  border-bottom:0;
}
.history-list b{
  font-size:13px;
}
.history-list span,
.history-list small{
  font-size:12px;
}
@media(max-width:760px){
  .modal-card-detail{
    width:calc(100vw - 20px)!important;
  }
  .employee-detail .detail-grid{
    grid-template-columns:1fr 1fr;
  }
  .history-list>div{
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  .history-list small{
    grid-column:2;
  }
}
@media(max-width:520px){
  .employee-detail .detail-grid{
    grid-template-columns:1fr;
  }
  .account-link-row{
    grid-template-columns:1fr;
  }
  .account-link-row .table-btn{
    width:100%;
  }
}

/* V25 employee document archive */
.employee-section-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0 7px}
.employee-section-head h3{margin:0!important}
.employee-doc-list{border:1px solid #edf0f4;border-radius:8px;overflow:hidden;margin-bottom:14px}
.employee-doc-row{display:grid;grid-template-columns:minmax(190px,1.2fr) 170px minmax(120px,.8fr) auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf0f4}
.employee-doc-row:last-child{border-bottom:0}
.doc-main b,.doc-main span,.doc-main small,.doc-date span{display:block}
.doc-main b{font-size:13px}.doc-main span{font-size:12px;margin-top:2px;word-break:break-all}.doc-main small{font-size:11px;color:#64748b;margin-top:2px}
.doc-date{font-size:11px;color:#64748b;line-height:1.5}
.doc-expiry.due{color:#a16207;font-weight:600}.doc-expiry.expired{color:#b42318;font-weight:700}
.doc-note{font-size:12px;color:#475569;word-break:break-word}
.doc-actions{display:flex;gap:5px;white-space:nowrap}
.empty-doc{padding:18px;text-align:center;color:#94a3b8;font-size:12px}
.employee-doc-upload{padding:0 14px 12px;min-width:min(620px,75vw)}
.employee-doc-upload .form-grid{grid-template-columns:1fr 1fr}
.file-help{font-size:12px;color:#64748b;margin:3px 0 8px}
@media(max-width:760px){.employee-doc-row{grid-template-columns:1fr 1fr}.doc-actions{justify-content:flex-start}.employee-doc-upload{min-width:0}}
@media(max-width:520px){.employee-doc-row{grid-template-columns:1fr}.employee-doc-upload .form-grid{grid-template-columns:1fr}}

/* V26 staffing plan */
.staffing-summary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}.staffing-summary span{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px}.staffing-summary .gap{background:#fff7ed;color:#9a3412}.staffing-summary .ok{background:#ecfdf3;color:#157347}.staffing-wrap{overflow:auto}.staffing-table{min-width:1380px}.staff-gap{color:#b45309;font-weight:700}.staff-over{color:#b42318;font-weight:700}.staff-ok{color:#157347;font-weight:700}.staffing-modal{padding:0 14px 12px;min-width:min(720px,78vw)}.staffing-modal .form-grid{grid-template-columns:1fr 1fr}@media(max-width:700px){.staffing-modal{min-width:0}.staffing-modal .form-grid{grid-template-columns:1fr}}

/* V27 staffing modal layout fix */
.modal-card-staffing{
  width:min(820px,calc(100vw - 48px))!important;
  max-width:none!important;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 44px);
  overflow:hidden;
}
.modal-card-staffing .modal-head{flex:0 0 auto;padding:11px 16px}
.modal-card-staffing #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.staffing-modal{min-width:0!important;width:100%;padding:12px 16px 0!important;box-sizing:border-box}
.staffing-modal .form-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:14px!important;
  row-gap:0!important;
}
.staffing-modal .form-grid label{min-width:0;margin:3px 0!important}
.staffing-modal .form-grid input,
.staffing-modal .form-grid select,
.staffing-modal .form-grid textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:3px 0 8px!important;
}
.staffing-modal .form-grid textarea{min-height:72px;resize:vertical}
.staffing-modal .form-grid .span2{grid-column:1 / -1!important}
.staffing-modal>.modal-actions{
  position:sticky;
  bottom:0;
  margin:4px -16px 0!important;
  padding:10px 16px 12px!important;
  background:#fff;
  border-top:1px solid #e7ebf1;
  z-index:3;
}
@media(max-width:720px){
  .modal-card-staffing{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)}
  .staffing-modal .form-grid{grid-template-columns:1fr!important}
  .staffing-modal .form-grid .span2{grid-column:span 1!important}
}

.recruit-wrap{overflow:auto}.recruit-table{min-width:1250px}.recruit-actions{display:flex;gap:4px;white-space:nowrap}.recruit-modal{padding:0 14px 12px;min-width:min(820px,82vw)}.recruit-modal .form-grid{grid-template-columns:1fr 1fr}.gap-recruit-list{min-width:min(720px,80vw);padding:8px}.gap-recruit-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #eee}.gap-recruit-row span{display:block;color:#64748b;font-size:12px;margin-top:3px}@media(max-width:760px){.recruit-modal,.gap-recruit-list{min-width:0}.recruit-modal .form-grid{grid-template-columns:1fr}}


/* V29 recruitment modal layout fix */
.modal-card-recruit{
  width:min(860px,calc(100vw - 48px))!important;
  max-width:none!important;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 44px);
  overflow:hidden;
}
.modal-card-recruit-gap{
  width:min(820px,calc(100vw - 48px))!important;
  max-width:none!important;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 44px);
  overflow:hidden;
}
.modal-card-recruit .modal-head,
.modal-card-recruit-gap .modal-head{flex:0 0 auto;padding:11px 16px}
.modal-card-recruit #modalBody,
.modal-card-recruit-gap #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.recruit-modal{min-width:0!important;width:100%!important;padding:12px 16px 0!important;box-sizing:border-box}
.recruit-modal .form-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:14px!important;
  row-gap:0!important;
}
.recruit-modal .form-grid label{min-width:0;margin:3px 0!important}
.recruit-modal .form-grid input,
.recruit-modal .form-grid select,
.recruit-modal .form-grid textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:3px 0 8px!important;
}
.recruit-modal .form-grid textarea{min-height:72px;resize:vertical}
.recruit-modal .form-grid .span2{grid-column:1 / -1!important}
.recruit-modal>.modal-actions{
  position:sticky;
  bottom:0;
  margin:4px -16px 0!important;
  padding:10px 16px 12px!important;
  background:#fff;
  border-top:1px solid #e7ebf1;
  z-index:3;
}
.gap-recruit-list{min-width:0!important;width:100%;box-sizing:border-box;padding:8px 12px 12px!important}
@media(max-width:760px){
  .modal-card-recruit,.modal-card-recruit-gap{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)}
  .recruit-modal .form-grid{grid-template-columns:1fr!important}
  .recruit-modal .form-grid .span2{grid-column:span 1!important}
  .gap-recruit-row{align-items:flex-start;flex-direction:column}
}

/* V31 unified approval todo */
.todo-table{min-width:980px}.todo-pending td{background:#fffdf7}.todo-detail{display:block;color:#64748b;font-weight:400;margin-top:3px;max-width:560px}.approval-detail{padding:0 14px 14px;min-width:min(760px,80vw)}.approval-title{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0 12px;border-bottom:1px solid #e7ebf1}.approval-title span{font-size:12px;color:#64748b}.approval-title h2{font-size:19px;margin:3px 0 0}.approval-title>b{background:#eef4ff;color:#2454a6;padding:5px 9px;border-radius:999px;font-size:12px}.approval-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.approval-grid>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;padding:9px 10px;min-width:0}.approval-grid .span2{grid-column:span 2}.approval-grid span{display:block;font-size:12px;color:#64748b}.approval-grid b{display:block;margin-top:3px;font-size:13px;word-break:break-word}.approval-comment{display:block;margin-top:10px}.approval-comment textarea{width:100%;min-height:72px;box-sizing:border-box;margin-top:5px}.approval-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid #edf0f4}.approval-result{margin-top:12px;background:#f8fafc;border-radius:8px;padding:10px;color:#475569}@media(max-width:700px){.approval-detail{min-width:0}.approval-grid{grid-template-columns:1fr}.approval-grid .span2{grid-column:span 1}}

/* V32 approval flow */
.approval-flow-wrap{overflow:auto}.approval-flow-table{min-width:1050px}
.approval-flow-modal,.approval-step-modal{padding:0 14px 12px;min-width:min(760px,80vw)}
.approval-flow-modal .form-grid,.approval-step-modal .form-grid{grid-template-columns:1fr 1fr}
.approval-steps-modal{padding:0 14px 14px;min-width:min(980px,86vw)}
.approval-steps-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0 10px}
.modal:has(.approval-flow-modal) .modal-card,.modal:has(.approval-step-modal) .modal-card{width:min(820px,calc(100vw - 40px))!important;max-width:none!important}
.modal:has(.approval-steps-modal) .modal-card{width:min(1060px,calc(100vw - 40px))!important;max-width:none!important}
.approval-flow-modal input,.approval-flow-modal select,.approval-flow-modal textarea,.approval-step-modal input,.approval-step-modal select{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:700px){.approval-flow-modal,.approval-step-modal,.approval-steps-modal{min-width:0}.approval-flow-modal .form-grid,.approval-step-modal .form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}}

/* V33 job posting */
.modal-card-job{width:min(900px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-job #modalBody{overflow:auto;min-height:0}.job-modal{padding:0 14px 12px;min-width:0}.job-modal .form-grid{grid-template-columns:1fr 1fr;gap:0 14px}.job-modal .form-grid input,.job-modal .form-grid select,.job-modal .form-grid textarea{width:100%;min-width:0;box-sizing:border-box}.job-modal .form-grid .span2{grid-column:span 2}.job-modal textarea{min-height:78px}.job-modal>.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7ebf1;padding-top:10px}.job-wrap{overflow:auto}.job-table{min-width:1420px}.job-actions,.recruit-actions{display:flex;gap:5px;align-items:center;white-space:nowrap}.primary-mini{border:0;background:#315efb;color:#fff;border-radius:6px;padding:5px 9px;cursor:pointer;font-size:12px}.job-detail{padding:0 14px 14px;min-width:min(700px,75vw)}
@media(max-width:700px){.modal-card-job{width:calc(100vw - 20px)!important}.job-modal .form-grid{grid-template-columns:1fr}.job-modal .form-grid .span2{grid-column:span 1}.job-detail{min-width:0}}

/* V34 job applications */
.application-filter{display:grid;grid-template-columns:minmax(260px,2fr) minmax(220px,1.5fr) 140px auto auto;gap:8px;margin:12px 0}
.application-wrap{overflow:auto}.application-table{min-width:1320px}
.application-modal{padding:0 14px 12px;min-width:min(860px,82vw)}
.application-modal .form-grid{grid-template-columns:1fr 1fr}
.application-detail{padding:0 14px 14px;min-width:min(820px,80vw)}
.application-status-actions{display:flex;gap:6px;flex-wrap:wrap}
.application-status-actions .active{font-weight:700;border-color:#315efb;color:#315efb}
.application-doc-modal{padding:0 14px 12px;min-width:min(620px,72vw)}
.application-doc-modal .form-grid{grid-template-columns:1fr 1fr}
@media(max-width:760px){
 .application-filter{grid-template-columns:1fr 1fr}
 .application-modal,.application-detail,.application-doc-modal{min-width:0}
 .application-modal .form-grid,.application-doc-modal .form-grid{grid-template-columns:1fr}
}

/* V35 onboarding */
.onboarding-filter{display:grid;grid-template-columns:minmax(260px,2fr) 160px auto;gap:8px;margin:12px 0}.onboarding-wrap{overflow:auto}.onboarding-table{min-width:1180px}.onboarding-modal{padding:0 14px 12px;min-width:min(820px,80vw)}.onboarding-modal .form-grid{grid-template-columns:1fr 1fr}.onboarding-source{background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;padding:10px 12px;margin-bottom:10px}.onboarding-source b,.onboarding-source span{display:block}.onboarding-source span{color:#64748b;font-size:12px;margin-top:3px}.onboarding-note{background:#fff8e8;border:1px solid #f5dfaa;color:#7c5a12;border-radius:8px;padding:9px 10px;font-size:12px;margin-top:8px}@media(max-width:700px){.onboarding-modal{min-width:0}.onboarding-modal .form-grid{grid-template-columns:1fr}.onboarding-filter{grid-template-columns:1fr}}

/* V36 education and work background */
.background-panel{padding:8px 2px 12px}
.background-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 10px;color:#64748b;font-size:12px}
.background-list{display:flex;flex-direction:column;gap:10px}
.background-card{border:1px solid #e5eaf0;border-radius:9px;background:#fbfcfe;padding:10px}
.background-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.background-card-head b{font-size:13px}
.bg-grid{grid-template-columns:1fr 1fr}.background-card textarea{min-height:62px}
.background-detail-list{display:flex;flex-direction:column;gap:7px;margin-bottom:8px}
.background-summary{border:1px solid #edf0f4;border-radius:8px;padding:8px 10px;background:#f8fafc}.background-summary b,.background-summary span,.background-summary small{display:block}.background-summary span{margin-top:2px}.background-summary small{color:#64748b;margin-top:2px}.background-summary p{margin:5px 0 0;color:#475569;white-space:pre-wrap}
.employee-tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
@media(max-width:700px){.background-toolbar{align-items:flex-start;flex-direction:column}.bg-grid{grid-template-columns:1fr}}

/* V37 background-check / onboarding finance */
.background-check-line{display:block;margin-top:5px;color:#475569}
.onboarding-modal .form-grid{align-items:start}

/* V38 position / job master */
.master-tabs{display:flex;gap:8px;margin:10px 0 12px;border-bottom:1px solid #e6eaf0}
.master-tabs button{border:0;background:transparent;padding:9px 14px;cursor:pointer;color:#64748b}
.master-tabs button.active{color:#1f4fa3;border-bottom:2px solid #1f4fa3;font-weight:700}
.master-panel{display:none}.master-panel.active{display:block}
.master-note{background:#f8fafc;border:1px solid #e8edf3;border-radius:8px;padding:9px 11px;margin-bottom:10px;color:#475569;font-size:13px}
.position-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;margin-bottom:10px}
.master-table{min-width:780px}.mini-number{width:72px}
.job-position-modal{padding:0 14px 12px;min-width:min(760px,78vw)}
.job-position-modal .form-grid{grid-template-columns:1fr 1fr}
.position-title-line{margin-top:4px!important;color:#64748b!important;font-size:12px!important}
@media(max-width:700px){.position-toolbar{grid-template-columns:1fr}.job-position-modal{min-width:0}.job-position-modal .form-grid{grid-template-columns:1fr}}

/* V39 position/job modal sizing */
.modal-card-position-job{width:min(860px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-position-title{width:min(760px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-position-job #modalBody,.modal-card-position-title #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.job-position-modal,.position-title-modal{width:100%;min-width:0!important;box-sizing:border-box;padding:0 16px 12px}
.job-position-modal .form-grid,.position-title-modal .form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.job-position-modal .form-grid label,.position-title-modal .form-grid label{min-width:0}
.job-position-modal input,.job-position-modal select,.position-title-modal input,.position-title-modal select{width:100%;min-width:0;box-sizing:border-box}
.job-position-modal>.modal-actions,.position-title-modal>.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7ebf1;padding-top:10px}
@media(max-width:700px){.modal-card-position-job,.modal-card-position-title{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)}.job-position-modal .form-grid,.position-title-modal .form-grid{grid-template-columns:1fr}}

/* V40 interview assessment */
.interview-filter{display:grid;grid-template-columns:minmax(280px,2fr) 160px auto;gap:8px;margin:12px 0}
.interview-wrap{overflow:auto}.interview-table{min-width:1280px}
.modal-card-interview{width:min(980px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-interview #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.interview-modal,.interview-detail-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.interview-modal .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.interview-candidate-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#f8fafc;border:1px solid #e8edf3;border-radius:8px;padding:10px 12px;margin-bottom:12px}
.interview-candidate-head b,.interview-candidate-head span{display:block}.interview-candidate-head span{font-size:12px;color:#64748b;margin-top:3px}
.interview-summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.interview-summary-grid>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;padding:9px 10px}
.interview-summary-grid span{display:block;font-size:12px;color:#64748b}.interview-summary-grid b{display:block;margin-top:3px}
.interview-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.interview-profile-grid section{border:1px solid #e8edf3;border-radius:9px;padding:10px}
.interview-profile-grid h3{margin:0 0 8px}
.interview-score-table{display:flex;flex-direction:column;gap:7px}
.score-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px minmax(280px,2fr);gap:8px;align-items:center;border:1px solid #e8edf3;border-radius:8px;padding:8px}
.score-row small{display:block;color:#64748b;margin-top:2px}.score-row input,.score-row textarea{width:100%;min-width:0;box-sizing:border-box}.score-row textarea{min-height:44px}
.interview-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.interview-notes-grid .span2{grid-column:span 2}
.interview-notes-grid textarea{width:100%;min-height:72px;box-sizing:border-box}
.interview-decision{margin-top:10px;max-width:260px}.interview-result{margin-top:12px;background:#eef6ff;border-radius:8px;padding:10px}
.modal-card-interview .modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7ebf1;padding-top:10px}
@media(max-width:760px){
 .interview-filter{grid-template-columns:1fr}
 .modal-card-interview{width:calc(100vw - 20px)!important}
 .interview-modal .form-grid,.interview-summary-grid,.interview-profile-grid,.interview-notes-grid{grid-template-columns:1fr}
 .interview-notes-grid .span2{grid-column:span 1}
 .score-row{grid-template-columns:1fr}.score-row textarea{min-height:62px}
}

/* V41 interview stages and professional tests */
.position-toolbar{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto}
.sub-text{display:block;color:#64748b;font-size:12px;margin-top:3px}
.modal-card-job-test{width:min(820px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-job-test #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.job-test-modal,.test-result-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.job-test-modal .form-grid,.test-result-modal .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.professional-test-list{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.professional-test-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) auto;gap:10px;align-items:center;border:1px solid #e6ebf2;border-radius:9px;padding:9px 10px}
.test-info b,.test-info span,.test-info small,.test-result b,.test-result span,.test-result small{display:block}
.test-info span,.test-info small,.test-result span,.test-result small{font-size:12px;color:#64748b;margin-top:2px}
@media(max-width:760px){
 .position-toolbar{grid-template-columns:1fr}
 .modal-card-job-test{width:calc(100vw - 20px)!important}
 .job-test-modal .form-grid,.test-result-modal .form-grid{grid-template-columns:1fr}
 .professional-test-row{grid-template-columns:1fr}
}

/* V42 recruitment test selection */
.recruit-test-select{margin-top:10px;border-top:1px solid #e7ebf1;padding-top:10px}
.recruit-test-select .employee-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.recruit-test-select .employee-section-head h3{margin:0}
.recruit-test-select .employee-section-head span{font-size:12px;color:#64748b}
#rqTests{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
.recruit-test-option{display:flex!important;align-items:flex-start;gap:8px;border:1px solid #e6ebf2;border-radius:8px;padding:8px 9px;background:#fafbfd;min-width:0}
.recruit-test-option>input{width:auto!important;flex:0 0 auto;margin-top:3px}
.recruit-test-option div{min-width:0}
.recruit-test-option b,.recruit-test-option span,.recruit-test-option small{display:block}
.recruit-test-option span,.recruit-test-option small{font-size:12px;color:#64748b;margin-top:2px}
@media(max-width:700px){#rqTests{grid-template-columns:1fr}}

/* V43 online assessment */
.modal-card-online-test{width:min(900px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-online-test #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.online-assessment-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.online-test-warning{background:#fff8e8;border:1px solid #f0dca9;color:#6c5418;border-radius:8px;padding:9px 10px;margin-bottom:12px;font-size:13px}
.typing-source{font-size:16px;line-height:1.7;background:#f8fafc;border:1px solid #e6ebf2;border-radius:8px;padding:12px;margin-bottom:10px}
.typing-input{width:100%;min-height:150px;box-sizing:border-box;font-size:16px;line-height:1.6}
.online-metrics{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0}
.color-test-item{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center;border-bottom:1px solid #edf0f4;padding:9px 0}
.color-swatch{height:84px;border-radius:10px;display:flex;align-items:center;justify-content:center}.color-swatch span{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.7)}
.sheet-task{border:1px solid #e6ebf2;border-radius:8px;padding:10px;margin-bottom:8px}.mini-sheet{display:flex;gap:4px;margin:7px 0}.mini-sheet span{border:1px solid #cbd5e1;background:#fff;padding:6px 10px;min-width:36px;text-align:center}
.translation-q{display:block;margin-bottom:10px}.translation-q textarea{width:100%;min-height:90px;box-sizing:border-box;margin-top:5px}
.listen-q{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(180px,1fr);gap:8px;align-items:center;border-bottom:1px solid #edf0f4;padding:9px 0}
@media(max-width:700px){.modal-card-online-test{width:calc(100vw - 20px)!important}.color-test-item,.listen-q{grid-template-columns:1fr}}

/* V44 online assessment integrity */
.test-action-stack{display:flex;flex-direction:column;gap:4px}
.modal-card-online-audit{width:min(880px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-online-audit #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.online-audit-modal,.online-review-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.audit-events{border:1px solid #e7ebf1;border-radius:8px;padding:10px;margin-top:10px}
.audit-events h3{margin:0 0 8px}
.audit-events>div{display:grid;grid-template-columns:160px 160px 1fr;gap:8px;border-top:1px solid #edf0f4;padding:7px 0}
.audit-events>div:first-of-type{border-top:0}
.audit-events span,.audit-events small{font-size:12px;color:#64748b}
.online-review-modal .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:700px){
 .modal-card-online-audit{width:calc(100vw - 20px)!important}
 .audit-events>div,.online-review-modal .form-grid{grid-template-columns:1fr}
}

/* V45 staged hiring confirmation */
.modal-card-hiring{width:min(980px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-hiring #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.hr-screen-modal,.proposed-terms-modal,.final-hire-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.hr-screen-modal .form-grid,.proposed-terms-modal .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.stage-special-card{border:1px solid #dfe6ef;border-radius:9px;padding:10px 11px;margin:0 0 14px;background:#fcfdff}
.screening-grid,.terms-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.screening-grid>div,.terms-summary-grid>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:7px;padding:8px}
.screening-grid span,.terms-summary-grid span{display:block;color:#64748b;font-size:11px}
.screening-grid b,.terms-summary-grid b{display:block;margin-top:2px}
.screening-grid small{display:block;color:#64748b;margin-top:2px}
.factory-final-card{border-color:#cbdcf7;background:#f8fbff}
.final-review-section{border-top:1px solid #e7ebf1;padding-top:11px;margin-top:11px}
.final-review-section h3{margin:0 0 8px}
.final-test-list,.final-interview-list{display:flex;flex-direction:column;gap:6px}
.final-test-list>div,.final-interview-list>div{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) minmax(240px,2fr);gap:8px;border:1px solid #e8edf3;border-radius:7px;padding:8px}
.final-test-list span,.final-interview-list span,.final-test-list small,.final-interview-list small{color:#64748b;font-size:12px}
.final-comment{display:block;margin-top:12px}.final-comment textarea{width:100%;min-height:80px;box-sizing:border-box}
.missing-block{background:#fff3f3;color:#9f2f2f;border:1px solid #f1caca;border-radius:7px;padding:8px 10px}
.onboarding-approved-terms{margin-bottom:10px;border:1px solid #d8e7d8;background:#f6fbf6;border-radius:8px;padding:8px}
@media(max-width:760px){
 .modal-card-hiring{width:calc(100vw - 20px)!important}
 .hr-screen-modal .form-grid,.proposed-terms-modal .form-grid{grid-template-columns:1fr}
 .screening-grid,.terms-summary-grid{grid-template-columns:1fr 1fr}
 .final-test-list>div,.final-interview-list>div{grid-template-columns:1fr}
}
@media(max-width:480px){.screening-grid,.terms-summary-grid{grid-template-columns:1fr}}

/* V46 workflow-driven todo processing */
.todo-business-detail{min-width:0;padding:0 14px 14px}.todo-test-summary{display:flex;flex-direction:column;gap:6px;margin-top:10px}.todo-test-summary>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto;gap:8px;border:1px solid #e7ebf1;border-radius:7px;padding:8px}.todo-test-summary span,.todo-test-summary small{font-size:12px;color:#64748b}@media(max-width:700px){.todo-test-summary>div{grid-template-columns:1fr}}

/* V47 applicant policy acknowledgement and handwritten signature */
.applicant-policy-panel{position:relative}.policy-intro{background:#f8fafc;border:1px solid #e6ebf2;border-radius:8px;padding:9px 10px;color:#475569;margin-bottom:9px}.policy-list{display:flex;flex-direction:column;gap:7px}.policy-item{display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(170px,auto);gap:9px;align-items:center;border:1px solid #e5eaf1;border-radius:8px;padding:8px 10px}.policy-item b,.policy-item span{display:block}.policy-item span{font-size:12px;color:#64748b;margin-top:2px}.policy-check{display:flex!important;align-items:center;gap:6px;margin:0!important}.policy-check input{width:auto!important}.applicant-declaration-box{margin-top:11px;background:#fffaf0;border:1px solid #ead9ad;border-radius:8px;padding:10px}.applicant-declaration-box p{margin:5px 0 0;line-height:1.6}.signature-form{margin-top:11px}.signature-wrap{border:1px solid #dce3ec;border-radius:8px;padding:8px;background:#fff}.signature-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}#jaSignature{display:block;width:100%;height:180px;border:1px dashed #aab6c5;border-radius:6px;background:#fff;touch-action:none;cursor:crosshair}.signature-note{font-size:12px;color:#64748b;margin-top:6px}.existing-signature{display:flex;align-items:center;gap:10px;margin:7px 0}.existing-signature img,.signature-preview img{max-width:260px;max-height:90px;border:1px solid #e1e6ed;border-radius:6px;background:#fff}.policy-inline-overlay{display:none;position:absolute;inset:0;z-index:8;background:rgba(248,250,252,.97);padding:12px;overflow:auto}.policy-inline-overlay.show{display:block}.policy-inline-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #dfe6ef;border-radius:9px;padding:14px;box-shadow:0 8px 30px rgba(15,23,42,.12)}.policy-inline-head{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0f4;padding-bottom:8px;margin-bottom:10px}.policy-inline-head span{color:#64748b;font-size:12px}.policy-content{line-height:1.75}.policy-inline-actions{display:flex;justify-content:flex-end;margin-top:12px}.declaration-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.declaration-summary>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:7px;padding:8px}.declaration-summary span{display:block;color:#64748b;font-size:11px}.policy-ack-list{display:flex;flex-direction:column;gap:5px}.policy-ack-list>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0f4;padding:6px 0}.policy-ack-list span{color:#64748b;font-size:12px}.signature-preview{margin-top:9px}.final-policy-box>div:first-child{display:flex;justify-content:space-between;gap:10px}@media(max-width:760px){.policy-item{grid-template-columns:1fr}.declaration-summary{grid-template-columns:1fr}}

/* V48 recruitment policy configuration */
.policy-config-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.compact-note{margin:0;flex:1}
.policy-config-table{min-width:1320px}
.policy-action-stack{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:180px}
.policy-version-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef5ff;color:#315f9a;font-weight:700}
.modal-card-recruit-policy{width:min(940px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-recruit-policy #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.recruit-policy-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.recruit-policy-modal .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.policy-editor{min-height:260px!important;line-height:1.65}
.policy-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #e8edf3;padding-bottom:9px;margin-bottom:11px}
.policy-preview-head span{font-size:12px;color:#64748b}.policy-preview-head h3{margin:3px 0 0}.policy-preview-head>b{white-space:nowrap}
.policy-preview-content{line-height:1.8;white-space:normal;background:#f8fafc;border:1px solid #e7ebf1;border-radius:8px;padding:12px}
.policy-preview-meta{font-size:12px;color:#64748b;margin-top:8px}
.policy-version-list{display:flex;flex-direction:column;gap:7px}
.policy-version-row{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e7ebf1;border-radius:8px;padding:9px}
.policy-version-row span,.policy-version-row small{display:block;font-size:12px;color:#64748b;margin-top:2px}
.policy-version-detail{border-top:1px solid #e8edf3;margin-top:12px;padding-top:12px}
@media(max-width:760px){
 .policy-config-toolbar{align-items:stretch;flex-direction:column}
 .modal-card-recruit-policy{width:calc(100vw - 20px)!important}
 .recruit-policy-modal .form-grid{grid-template-columns:1fr}
 .policy-version-row{grid-template-columns:1fr}
}

/* V51 - 岗位测试标准库 / 岗位直接勾选测试要求 */
.job-test-select-head{display:flex;justify-content:space-between;align-items:flex-end;margin:8px 0 10px}.job-test-select-head b{display:block;font-size:16px}.job-test-select-head small{display:block;color:#718096;margin-top:4px}.job-test-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:280px;overflow:auto;padding:2px}.job-test-choice{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;border:1px solid #dbe3ef;border-radius:10px;padding:12px;background:#fff;cursor:pointer}.job-test-choice input{width:18px!important;height:18px!important;min-width:18px;margin-top:2px}.job-test-choice span{min-width:0}.job-test-choice b,.job-test-choice small{display:block}.job-test-choice small{color:#718096;margin-top:3px;line-height:1.35}.job-test-choice.is-inactive{opacity:.6;background:#f7f8fa}@media(max-width:760px){.job-test-select-grid{grid-template-columns:1fr}}

/* V52 ERP 客户与供应商主数据 */
.modal-card-partner{width:min(980px,calc(100vw - 44px))!important;max-width:none!important}
.modal-card-partner #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.partner-modal{width:100%;min-width:0;box-sizing:border-box;padding:0 16px 14px}
.partner-section-title{font-weight:800;font-size:15px;margin:8px 0 10px;padding-bottom:7px;border-bottom:1px solid #e8edf3;color:#21304b}
.partner-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.partner-grid .span2{grid-column:1/-1}.partner-grid textarea{min-height:82px}
.partner-filter{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) auto auto;gap:8px;margin:12px 0}
.partner-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.partner-metrics .metric{min-height:68px}
.partner-table-wrap{overflow:auto}.partner-table{min-width:1180px}.partner-table td small{display:block;color:#718096;margin-top:3px;font-size:11px}
@media(max-width:900px){.partner-filter{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:1fr}.partner-grid .span2{grid-column:auto}}
@media(max-width:620px){.modal-card-partner{width:calc(100vw - 20px)!important}.partner-filter,.partner-metrics{grid-template-columns:1fr}}
/* V53 客户/供应商扩展主数据 */
.partner-profile-modal{padding-bottom:18px}.profile-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:10px;margin:2px 0 12px}.profile-summary span{color:#64748b;font-size:13px}.partner-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.sub-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.sub-row{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr)) auto auto;gap:7px;align-items:center;padding:9px;border:1px solid #e5eaf2;border-radius:9px;background:#fbfcfe}.sub-row input,.sub-row select{width:100%;min-width:0;box-sizing:border-box}.sub-row .wide{grid-column:span 2}.mini-check{display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap!important;font-size:12px!important}.mini-check input{width:auto!important}.risk-box{display:grid;grid-template-columns:auto 1fr minmax(180px,.5fr);gap:10px;align-items:end;padding:10px 12px;border:1px solid #f2d4d4;background:#fffafa;border-radius:9px;margin:8px 0 14px}.risk-box label{margin:0}.upload-line{display:grid;grid-template-columns:170px 1fr 170px minmax(230px,1.4fr) auto;gap:8px;margin:8px 0 10px;align-items:center}.partner-profile-modal .table-card{margin-bottom:12px}.partner-profile-modal .modal-actions{position:sticky;bottom:-1px;background:white;padding-top:10px;z-index:3}
@media(max-width:1100px){.sub-row{grid-template-columns:repeat(3,minmax(120px,1fr))}.sub-row .wide{grid-column:span 2}.upload-line{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.profile-summary{align-items:flex-start;flex-direction:column}.sub-row{grid-template-columns:1fr}.sub-row .wide{grid-column:auto}.risk-box,.upload-line{grid-template-columns:1fr}}

/* V54 ERP 资料配置与客户/供应商紧凑表单 */
.modal-card-partner{width:min(1120px,calc(100vw - 52px))!important;max-width:none!important;max-height:calc(100vh - 34px)!important;display:flex;flex-direction:column}
.modal-card-partner .modal-head{flex:0 0 auto;padding:12px 18px}
.modal-card-partner #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.partner-master-modal{padding:10px 18px 0!important}
.partner-form-section{padding:0 0 4px}
.partner-form-section+.partner-form-section{margin-top:4px}
.partner-master-modal .partner-section-title{font-size:14px;margin:4px 0 8px;padding:0 0 7px;border-bottom:1px solid #e6ebf2}
.partner-form-grid{display:grid;gap:9px 14px;align-items:start}
.partner-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.partner-form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.partner-form-grid label{display:flex!important;flex-direction:column;gap:5px;margin:0!important;min-width:0;color:#5f6b7d!important;font-size:12px!important}
.partner-form-grid input,.partner-form-grid select,.partner-form-grid textarea{width:100%;min-width:0;box-sizing:border-box;margin:0!important;border:1px solid #d9e1ec;border-radius:7px;padding:8px 10px!important;background:#fff;font-size:13px;line-height:1.3}
.partner-form-grid input,.partner-form-grid select{height:38px}
.partner-form-grid textarea{min-height:62px;resize:vertical}
.partner-form-grid .span2{grid-column:span 2!important}.partner-form-grid .span3{grid-column:1/-1!important}
.partner-savebar{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid #e7ebf1;margin:8px -18px 0!important;padding:10px 18px 12px;box-shadow:0 -5px 14px rgba(21,36,60,.04)}
.partner-savebar .primary-btn{min-width:104px}
@media(max-width:980px){.partner-form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-form-grid .span3{grid-column:1/-1!important}}
@media(max-width:680px){.partner-form-grid.cols-2{grid-template-columns:1fr}.modal-card-partner{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}.partner-master-modal{padding:8px 12px 0!important}.partner-form-grid.cols-3{grid-template-columns:1fr}.partner-form-grid .span2,.partner-form-grid .span3{grid-column:auto!important}.partner-savebar{margin:8px -12px 0!important;padding:10px 12px}}
/* V55 测试考核安排 */
.assessment-person-filter{display:flex;gap:10px;align-items:center;margin:16px 0 10px}.assessment-person-filter input{flex:1}.assessment-person-list{border:1px solid #dde3ef;border-radius:12px;max-height:360px;overflow:auto;padding:8px;background:#fafbfe}.assessment-person-list label{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid #edf0f6;cursor:pointer}.assessment-person-list label:last-child{border-bottom:0}.assessment-person-list label>span{display:flex;flex-direction:column;gap:2px}.assessment-person-list small{color:#718096}.skill-assessment-wrap{margin-top:8px;margin-bottom:18px}.status-danger{background:#fff1f0;color:#b42318}
@media(max-width:900px){.assessment-person-filter{flex-wrap:wrap}.assessment-person-filter input{flex-basis:100%}}

.approval-hint{margin-right:auto;color:#667085;font-size:.88rem;align-self:center}.partner-savebar{display:flex;align-items:center;gap:12px}

.master-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.master-tabs .active{background:#315be8;color:#fff;border-color:#315be8}

/* V62 global system menu search */
.search{position:relative}
.menu-search-results{position:absolute;left:10px;right:10px;top:calc(100% - 5px);z-index:1200;max-height:420px;overflow:auto;background:#fff;border:1px solid #dbe3ef;border-radius:10px;box-shadow:0 12px 30px rgba(15,31,61,.22);padding:5px}
.menu-search-results.hidden{display:none}
.menu-search-result{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:#fff;border-radius:7px;padding:9px 10px;text-align:left;cursor:pointer;color:#182a4b}
.menu-search-result:hover,.menu-search-result:focus{background:#edf2ff;outline:none}
.menu-search-result span{font-weight:700;font-size:13px;color:#182a4b}
.menu-search-result small{font-size:11px;color:#70809b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.menu-search-empty{padding:16px 12px;text-align:center;color:#7b879a;font-size:12px}
.collapsed .menu-search-results{display:none!important}

/* V63 high-contrast tabs / labels
   Keep every selected tab readable: solid theme blue + white text. */
.master-tabs button.active,
.master-tabs .table-btn.active{
  background:var(--blue,#315efb)!important;
  color:#fff!important;
  border-color:var(--blue,#315efb)!important;
  border-bottom-color:var(--blue,#315efb)!important;
  box-shadow:0 3px 9px rgba(49,94,251,.20);
}
.master-tabs button.active:hover,
.master-tabs .table-btn.active:hover{
  background:var(--blue,#315efb)!important;
  color:#fff!important;
}
/* Other tab/pill components follow the same contrast rule. */
.admin-tabs button.active,
.filter-pills .pill.active{
  background:var(--blue,#315efb)!important;
  color:#fff!important;
  border-color:var(--blue,#315efb)!important;
}
.employee-tabs button.active{
  background:var(--blue,#315efb)!important;
  color:#fff!important;
  border-bottom-color:var(--blue,#315efb)!important;
  border-radius:8px 8px 0 0;
}


/* V65 approval modal responsive layout fix */
.modal-card-approval{
  width:min(980px,calc(100vw - 48px))!important;
  max-width:none!important;
  max-height:calc(100vh - 36px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.modal-card-approval .modal-head{flex:0 0 auto;padding:12px 18px!important}
.modal-card-approval #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important;padding:0!important}
.modal-card-approval .approval-detail{width:100%!important;min-width:0!important;box-sizing:border-box;padding:10px 18px 16px!important}
.modal-card-approval .approval-title{gap:16px;align-items:center}
.modal-card-approval .approval-title>div{min-width:0;flex:1}
.modal-card-approval .approval-title h2{overflow-wrap:anywhere}
.modal-card-approval .approval-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px 12px!important}
.modal-card-approval .approval-grid>div{min-width:0!important;overflow:hidden}
.modal-card-approval .approval-grid b{overflow-wrap:anywhere;word-break:break-word}
.modal-card-approval .approval-comment textarea{min-height:96px;resize:vertical}
.modal-card-approval .approval-actions{position:sticky;bottom:-16px;background:#fff;padding:12px 0 4px;z-index:5}
@media(max-width:700px){
  .modal-card-approval{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}
  .modal-card-approval .approval-detail{padding:8px 12px 12px!important}
  .modal-card-approval .approval-grid{grid-template-columns:1fr!important}
  .modal-card-approval .approval-grid .span2{grid-column:span 1!important}
  .modal-card-approval .approval-title{align-items:flex-start;flex-direction:column}
}

/* V66 approval modal definitive layout fix */
.modal-card.modal-card-approval{
  width:min(1040px,calc(100vw - 48px))!important;
  min-width:0!important;
  max-width:1040px!important;
  height:auto!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.modal-card.modal-card-approval > .modal-head{flex:0 0 auto!important}
.modal-card.modal-card-approval > #modalBody{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
.modal-card.modal-card-approval .approval-detail,
.modal-card.modal-card-approval .approval-partner{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.modal-card.modal-card-approval .approval-grid{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  box-sizing:border-box!important;
}
.modal-card.modal-card-approval .approval-grid > div{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.modal-card.modal-card-approval .approval-grid b{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
@media(max-width:760px){
  .modal-card.modal-card-approval{width:calc(100vw - 16px)!important;max-width:none!important;max-height:calc(100vh - 16px)!important}
  .modal-card.modal-card-approval .approval-grid{grid-template-columns:1fr!important}
}


/* V78 UI stability reset: replaces malformed V76+ tail and standardizes wide dialogs */

/* Keep every modal self-contained and prevent child forms from overflowing the dialog. */
.modal-card{min-width:0;max-height:calc(100vh - 32px);overflow:hidden}
.modal-card #modalBody{min-width:0;min-height:0}
.modal-card-formwide{width:min(1120px,calc(100vw - 44px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}
.modal-card-formwide #modalBody{flex:1 1 auto;overflow:auto!important;padding:0!important}
.modal-card-application{width:min(1040px,calc(100vw - 44px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}
.modal-card-application #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important;padding:0!important}
.application-modal{width:100%!important;min-width:0!important;padding:0 16px 12px!important;box-sizing:border-box}
.application-modal .employee-tabs{position:sticky;top:0;z-index:5;background:#fff;padding-top:10px}
.application-modal .employee-tab{min-width:0}
.application-modal .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 14px!important}
.application-modal .form-grid label{min-width:0!important}
.application-modal .form-grid input,.application-modal .form-grid select,.application-modal .form-grid textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.application-modal .form-grid .span2{grid-column:1/-1!important}
.application-modal>.modal-actions{position:sticky;bottom:0;z-index:6;background:#fff;border-top:1px solid #e7ebf1;padding:10px 0 2px;margin-top:10px}

.modal-card-job{width:min(980px,calc(100vw - 44px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}
.modal-card-job #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important;padding:0!important}
.job-modal{width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:10px 16px 0!important}
.job-modal .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 14px!important}
.job-modal .form-grid label{min-width:0!important}
.job-modal .form-grid input,.job-modal .form-grid select,.job-modal .form-grid textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.job-modal .form-grid .span2{grid-column:1/-1!important}
.job-modal textarea{min-height:96px!important;resize:vertical!important}
.job-modal>.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7ebf1;padding:10px 0 12px!important;z-index:5}

/* Employee form: keep every field aligned, and never allow a textarea to collapse to browser default size. */
.modal-card-employee{width:min(1120px,calc(100vw - 44px))!important;max-width:none!important}
.employee-modal,.employee-tab{width:100%;min-width:0}
.employee-tab .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 14px!important}
.employee-tab .form-grid label{min-width:0!important}
.employee-tab .form-grid input,.employee-tab .form-grid select,.employee-tab .form-grid textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.employee-tab .form-grid .span2{grid-column:1/-1!important}
.employee-tab .form-grid textarea{display:block!important;min-height:96px!important;height:auto!important;resize:vertical!important}
.employee-modal>.modal-actions{position:sticky!important;bottom:0!important;background:#fff!important;z-index:8!important;border-top:1px solid #e7ebf1!important;padding:10px 16px 12px!important}

/* Announcement editor/read tracking uses a full-width structured form. */
.modal-card-announcement{width:min(920px,calc(100vw - 44px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}
.modal-card-announcement #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important;padding:0!important}
.announcement-edit-modal,.announcement-view,.announcement-inbox,.announcement-track{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box;padding:12px 16px 16px!important}
.announcement-edit-modal .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 14px!important}
.announcement-edit-modal .form-grid label{min-width:0!important;margin:0!important}
.announcement-edit-modal input,.announcement-edit-modal select,.announcement-edit-modal textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.announcement-edit-modal .span2{grid-column:1/-1!important}
.announcement-edit-modal textarea{display:block!important;min-height:190px!important;resize:vertical!important}
.announcement-edit-modal>.modal-actions{position:sticky;bottom:-16px;background:#fff;border-top:1px solid #e7ebf1;padding:12px 0 4px!important;z-index:5}
.announcement-target-box{margin-top:12px}
.ann-target-list{max-height:240px;overflow:auto}
.announcement-home-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;padding:10px 0;border-bottom:1px solid #eef1f6;text-align:left;color:var(--text,#18233a)}
.announcement-home-row.unread span{font-weight:800}
.announcement-home-row small{color:#7a879f;white-space:nowrap}
.announcement-inbox-summary{display:flex;align-items:baseline;gap:8px;padding:4px 0 14px}
.announcement-inbox-summary b{font-size:28px;color:var(--blue)}
.announcement-inbox-list{display:flex;flex-direction:column;gap:8px;max-height:62vh;overflow:auto}
.announcement-item{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #e7ebf2;background:#fff;border-radius:12px;padding:14px 16px;text-align:left;color:#18233a}
.announcement-item.unread{background:#f5f7ff;border-color:#cad5ff}
.announcement-item div{display:flex;flex-direction:column;gap:5px}.announcement-item small,.announcement-item>span{color:#7b879d}
.announcement-view-head{padding-bottom:14px;border-bottom:1px solid #e8ecf3}.announcement-view-head span,.announcement-view-head small{color:#7a879f}.announcement-view-head h2{margin:6px 0}.announcement-view-content{padding:20px 2px;line-height:1.85;color:#26324a}
.ann-priority{display:inline-block;margin-right:8px;padding:2px 7px;border-radius:999px;font-size:11px;color:#fff}.ann-priority.high{background:#e69a23}.ann-priority.urgent{background:#d9363e}

/* Approval configuration dialogs */
.modal-card-approval-flow{width:min(1080px,calc(100vw - 44px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}
.modal-card-approval-flow #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important;padding:0!important}
.approval-flow-modal,.approval-step-modal,.approval-steps-modal,.approval-preview-modal{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;padding:12px 16px 16px!important}
.approval-flow-modal .form-grid,.approval-step-modal .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 14px!important}
.approval-flow-modal .form-grid label,.approval-step-modal .form-grid label{min-width:0!important;margin:0!important}
.approval-flow-modal input,.approval-flow-modal select,.approval-flow-modal textarea,.approval-step-modal input,.approval-step-modal select,.approval-step-modal textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.approval-flow-modal textarea{min-height:92px!important;resize:vertical!important}
.approval-flow-modal .span2,.approval-step-modal .span2{grid-column:1/-1!important}
.approval-condition-box{margin-top:14px;padding:14px;border:1px solid #dfe5ee;border-radius:10px;background:#f8fafc}
.approval-cond-row{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(150px,.9fr) minmax(230px,1.5fr) auto;gap:8px;align-items:center;margin:8px 0}
.approval-cond-row select,.approval-cond-row input{width:100%;min-width:0}
.approval-steps-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 10px}
.approval-flow-wrap{overflow:auto}.approval-flow-table{min-width:1120px}

/* Todo: status is primary navigation; type is secondary filter. */
.todo-status-cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:14px 0 12px}
.todo-status-card{border:1px solid #e3e8f1;background:#fff;border-radius:12px;padding:14px 16px;text-align:left;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.todo-status-card span{display:block;color:#64748b;font-weight:700;font-size:13px}.todo-status-card b{display:block;margin-top:6px;font-size:24px;color:#0f172a}
.todo-status-card:hover{border-color:#b9c9ef;background:#f8faff}.todo-status-card.active{background:var(--blue);border-color:var(--blue);box-shadow:0 5px 14px rgba(60,111,247,.18)}.todo-status-card.active span,.todo-status-card.active b{color:#fff}
.todo-type-filters{margin:0 0 10px}.todo-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;white-space:nowrap}.todo-status-pending{background:#fff4dd;color:#946200}.todo-status-processing{background:#eaf1ff;color:#2454a6}.todo-status-done{background:#eaf8ef;color:#157347}.todo-status-cancelled{background:#eef1f5;color:#667085}
.todo-table{min-width:1000px}.todo-detail{display:block;color:#64748b;font-weight:400;margin-top:3px;max-width:560px}

/* Generic form safeguards: labels and textareas always occupy their grid cells. */
#modalBody .form-grid{align-items:start}
#modalBody .form-grid label{min-width:0}
#modalBody textarea{font:inherit;box-sizing:border-box}

@media(max-width:900px){
  .todo-status-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modal-card-formwide,.modal-card-application,.modal-card-job,.modal-card-announcement,.modal-card-approval-flow{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}
}
@media(max-width:700px){
  .application-modal .form-grid,.job-modal .form-grid,.employee-tab .form-grid,.announcement-edit-modal .form-grid,.approval-flow-modal .form-grid,.approval-step-modal .form-grid{grid-template-columns:1fr!important}
  .application-modal .form-grid .span2,.job-modal .form-grid .span2,.employee-tab .form-grid .span2,.announcement-edit-modal .span2,.approval-flow-modal .span2,.approval-step-modal .span2{grid-column:1!important}
  .approval-cond-row{grid-template-columns:1fr}
  .approval-steps-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .todo-status-cards{grid-template-columns:1fr 1fr}.todo-status-card{padding:10px 12px}.todo-status-card b{font-size:20px}
}


/* V82 ERP development-project workspace */
.dev-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.dev-summary>div,.dev-style-head>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:15px}.dev-summary span,.dev-style-head small{display:block;color:#64748b;margin-bottom:5px}.dev-summary b{font-size:28px}.dev-filter{margin-bottom:14px}.dev-filter input{min-width:320px}.dev-data-count{display:inline-block;padding:3px 7px;background:#f1f5f9;border-radius:8px;margin:2px;font-size:12px;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-weight:700;font-size:12px}.dev-DEVELOPING,.dev-SAMPLE{background:#e0e7ff;color:#3730a3}.dev-CUSTOMER_REVIEW{background:#fef3c7;color:#92400e}.dev-APPROVED{background:#dcfce7;color:#166534}.dev-HOLD,.dev-CANCELLED{background:#f1f5f9;color:#475569}.modal-card:has(.dev-project-modal){width:min(1180px,94vw);max-width:1180px}.dev-project-modal .form-section{padding:2px 4px 16px;margin-bottom:12px;border-bottom:1px solid #e5e7eb}.dev-project-modal h3{margin:4px 0 14px}.form-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.dev-import-hint{padding:10px 12px;background:#eff6ff;border-radius:10px;color:#475569;margin-bottom:12px}.file-field input{padding:10px;background:#fff}.dev-style-head{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:10px 0 14px}.dev-style-head b{display:block;overflow-wrap:anywhere}.dev-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #dbe3ee;padding-bottom:8px;margin-bottom:14px}.dev-tabs button{border:0;background:#f1f5f9;color:#334155;border-radius:9px;padding:10px 16px;white-space:nowrap;font-weight:700}.dev-tabs button.active{background:#4b6fff;color:#fff}.dev-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dev-overview-grid section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.dev-overview-grid section.span2{grid-column:1/-1}.dev-overview-grid section>div:not(.responsibility-list){display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid #edf2f7;padding:10px 0}.dev-overview-grid span{color:#64748b}.responsibility-list{display:grid;grid-template-columns:130px 1fr;gap:8px;padding-top:12px}.responsibility-list span{color:#475569}.section-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:8px 0 12px}.section-toolbar h3{margin:0 0 4px}.section-toolbar p{margin:0;color:#64748b}.section-toolbar>div:last-child{display:flex;gap:8px}.scroll-x{overflow-x:auto}.editable-table{min-width:1200px}.editable-table input{width:100%;min-width:90px;border:1px solid #cbd5e1;border-radius:7px;padding:7px 8px}.comment-timeline{display:flex;flex-direction:column;gap:12px}.comment-timeline article{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #4b6fff;border-radius:12px;padding:16px}.comment-timeline article>div:first-child{display:flex;align-items:center;gap:10px}.comment-timeline article em{margin-left:auto;font-style:normal;background:#f1f5f9;padding:3px 8px;border-radius:999px}.comment-timeline h4{margin:12px 0 6px}.comment-timeline p{white-space:pre-wrap;margin:0}.action-note{margin-top:10px;background:#f8fafc;border-radius:8px;padding:10px;color:#475569}.file-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.file-list a{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;text-decoration:none;color:#0f172a}.file-list a span{font-size:12px;color:#64748b}.empty-panel,.empty-cell{color:#94a3b8;padding:28px;text-align:center}.file-link{font-weight:700;color:#315bea}.dev-comment-modal textarea{min-height:100px}
@media(max-width:1000px){.form-grid.cols3{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-style-head{grid-template-columns:repeat(3,minmax(0,1fr))}.file-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dev-summary,.form-grid.cols3,.dev-overview-grid,.file-list{grid-template-columns:1fr}.dev-style-head{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-overview-grid section.span2{grid-column:auto}.section-toolbar{flex-direction:column}.dev-filter input{min-width:0;width:100%}}

/* V82 development project form layout stabilization */
.modal-card-development{
  width:min(1220px,calc(100vw - 44px))!important;
  max-width:none!important;
  max-height:calc(100vh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.modal-card-development .modal-head{flex:0 0 auto}
.modal-card-development #modalBody{
  flex:1 1 auto;
  min-height:0;
  overflow:auto!important;
  padding:14px 18px 0!important;
}
.dev-project-modal{min-width:0;padding:0 2px 12px}
.dev-project-modal .form-grid.cols3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px 16px!important;
  align-items:start!important;
}
.dev-project-modal .form-grid label{
  min-width:0!important;
  margin:3px 0!important;
}
.dev-project-modal .form-grid input,
.dev-project-modal .form-grid select,
.dev-project-modal .form-grid textarea,
.dev-project-modal .file-field input{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.dev-project-modal .form-grid textarea{
  display:block!important;
  min-height:94px!important;
  height:auto!important;
  resize:vertical!important;
}
.dev-project-modal .form-grid .span2{grid-column:span 2!important}
.dev-project-modal .form-section:last-of-type{margin-bottom:0}
.dev-project-modal .modal-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:3!important;
  display:flex!important;
  justify-content:flex-end!important;
  background:#fff!important;
  border-top:1px solid #e5e7eb!important;
  margin:14px -2px 0!important;
  padding:12px 2px 14px!important;
}
.dev-project-modal .modal-footer .primary-btn{min-width:110px}
.dev-project-modal .file-field{display:block!important;margin-top:6px!important}
.dev-project-modal .dev-import-hint{line-height:1.55}
.dev-filter{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.dev-filter input{flex:1 1 360px!important;min-width:260px!important;max-width:620px!important}
.dev-filter select{min-width:150px!important}
.dev-comment-modal{min-width:0}
.dev-comment-modal textarea{width:100%!important;box-sizing:border-box!important}
@media(max-width:900px){
  .dev-project-modal .form-grid.cols3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dev-project-modal .form-grid .span2{grid-column:1/-1!important}
}
@media(max-width:620px){
  .modal-card-development{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}
  .modal-card-development #modalBody{padding:10px 12px 0!important}
  .dev-project-modal .form-grid.cols3{grid-template-columns:1fr!important}
  .dev-project-modal .form-grid .span2{grid-column:span 1!important}
}


/* V84 development project create/import-first flow */
.dev-create-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 2px 18px;border-bottom:1px solid #e5e7eb;margin-bottom:16px}
.dev-create-mode button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #dbe3ee;background:#f8fafc;color:#334155;border-radius:12px;padding:14px 16px;cursor:pointer;text-align:left}
.dev-create-mode button b{font-size:16px}.dev-create-mode button span{font-size:12px;color:#64748b}.dev-create-mode button.active{background:#4b6fff;border-color:#4b6fff;color:#fff;box-shadow:0 6px 16px rgba(75,111,255,.18)}.dev-create-mode button.active span{color:#eef2ff}
.dev-import-first{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:32px}.dev-import-first h3{margin:8px 0}.dev-import-first p{max-width:760px;color:#64748b;line-height:1.65;margin:0 0 20px}.dev-import-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e0e7ff;color:#315bea;font-size:34px;font-weight:700}.dev-drop-file{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:12px 18px;border-radius:10px;background:#4b6fff;color:#fff;font-weight:700;cursor:pointer}.dev-drop-file input{display:none}.dev-import-support{margin-top:12px;color:#94a3b8;font-size:12px}
.dev-import-loading,.dev-import-error{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.dev-import-loading h3,.dev-import-error h3{margin:14px 0 6px}.dev-import-loading p{font-weight:700;margin:0 0 5px}.dev-import-loading span,.dev-import-error p{color:#64748b}.spinner{width:42px;height:42px;border:4px solid #dbe3ee;border-top-color:#4b6fff;border-radius:50%;animation:devspin .8s linear infinite}@keyframes devspin{to{transform:rotate(360deg)}}
.dev-recognition-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:4px 2px 12px}.dev-recognition-head h3{margin:0 0 5px}.dev-recognition-head p{margin:0;color:#64748b;line-height:1.55}.dev-recognition-summary{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin:10px 0 12px}.dev-recognition-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:11px 13px;min-width:0}.dev-recognition-summary span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}.dev-recognition-summary b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-import-note{background:#eff6ff;border-left:4px solid #4b6fff;color:#475569;border-radius:8px;padding:10px 12px;margin-bottom:14px}.dev-preview-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 10px}.dev-preview-sections details{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}.dev-preview-sections summary{cursor:pointer;font-weight:700;padding:12px 14px;background:#f8fafc}.dev-preview-sections .table-card{border:0;border-radius:0;margin:0}.dev-preview-sections .table{font-size:12px}.preview-more{padding:8px 12px;color:#64748b;background:#f8fafc;border-top:1px solid #edf2f7}.dev-project-fields+.dev-preview-sections{margin-top:4px}
@media(max-width:900px){.dev-recognition-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-preview-sections{grid-template-columns:1fr}}
@media(max-width:620px){.dev-create-mode,.dev-recognition-summary{grid-template-columns:1fr}.dev-recognition-head{flex-direction:column}.dev-import-first{min-height:300px;padding:20px}}

/* V85 Development style master layout */
.dev-factory-note{margin-top:10px;padding:9px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;color:#64748b;font-size:13px}
.dev-style-profile{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin:12px 0 16px;align-items:stretch}.dev-style-info{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.dev-style-meta-line{display:flex;gap:20px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #edf2f7;color:#64748b}.dev-style-meta-line b{color:#0f172a;margin-left:5px}.dev-style-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;margin-top:6px}.dev-style-info-grid>div{padding:9px 0;border-bottom:1px solid #f1f5f9;min-width:0}.dev-style-info-grid span{display:block;color:#64748b;font-size:12px;margin-bottom:3px}.dev-style-info-grid b{display:block;overflow-wrap:anywhere}.dev-style-gallery{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;display:flex;flex-direction:column;min-width:0}.dev-main-image{height:285px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px;overflow:hidden}.dev-main-image img{width:100%;height:100%;object-fit:contain}.dev-image-empty{color:#94a3b8}.dev-detail-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.dev-detail-strip img,.dev-image-edit{height:58px;width:100%;border-radius:7px;border:1px solid #dbe3ee;object-fit:cover;background:#f8fafc}.dev-image-edit{cursor:pointer;color:#315bea;font-weight:700}.dev-size-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.dev-size-card label{display:flex;flex-direction:column;gap:7px;color:#64748b}.dev-size-card label.wide{grid-column:1/-1}.dev-size-card input{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:9px}.dev-size-card b{font-size:17px;color:#0f172a}.editable-table.compact{min-width:700px}.buyer-comment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.buyer-comment-grid article{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #4b6fff;border-radius:12px;padding:14px}.buyer-comment-head{display:flex;gap:10px;align-items:center}.buyer-comment-head span{color:#64748b}.buyer-comment-head em{margin-left:auto;font-style:normal;background:#f1f5f9;padding:3px 8px;border-radius:99px}.buyer-comment-pics{display:flex;gap:7px;overflow-x:auto;margin:10px 0}.buyer-comment-pics img{width:92px;height:92px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.dev-image-manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dev-img-card{border:1px solid #e2e8f0;border-radius:12px;padding:8px;background:#fff}.dev-img-card img{width:100%;height:150px;object-fit:contain;background:#f8fafc;border-radius:8px}.dev-img-card>div{margin-top:7px;display:flex;gap:6px;justify-content:space-between;align-items:center}.dev-img-card span{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-image-upload{display:grid;grid-template-columns:150px 1fr 1.4fr auto;gap:10px;align-items:end;border-top:1px solid #e2e8f0;margin-top:14px;padding-top:14px}.dev-image-upload label{display:flex;flex-direction:column;gap:5px}.dev-image-upload input,.dev-image-upload select{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:8px}
@media(max-width:1050px){.dev-style-profile{grid-template-columns:1fr}.dev-style-gallery{max-width:460px}.dev-style-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.buyer-comment-grid{grid-template-columns:1fr}.dev-image-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-image-upload{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dev-style-info-grid{grid-template-columns:1fr}.dev-size-card{grid-template-columns:1fr}.dev-size-card label.wide{grid-column:auto}.dev-image-manager-grid{grid-template-columns:1fr}.dev-image-upload{grid-template-columns:1fr}}


/* V87 development style master cleanup and table standard */
.primary-btn,.dev-tabs button.active,.dev-create-mode button.active{color:#fff!important}
.primary-btn *,.dev-tabs button.active *{color:#fff!important}
.dev-style-gallery img,.dev-thumb{cursor:zoom-in}
.dev-thumb{display:block;padding:0;border:1px solid #dbe3ee;border-radius:7px;background:#f8fafc;overflow:hidden;height:58px;width:100%}
.dev-thumb img{height:100%;width:100%;object-fit:cover;border:0!important;border-radius:0!important}
.dev-gallery-tip{font-size:11px;color:#94a3b8;text-align:center;padding:7px 2px 0}
.dev-image-viewer{height:min(72vh,760px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0f172a;border-radius:10px;padding:12px;overflow:hidden}
.dev-image-viewer img{max-width:100%;max-height:calc(100% - 28px);object-fit:contain;cursor:zoom-out}
.dev-image-viewer div{color:#fff;font-size:13px}
.dev-image-manager-grid .dev-img-card>img{cursor:zoom-in}
.dev-tabs{display:flex;gap:2px;overflow-x:auto;white-space:nowrap;padding-bottom:4px}
.dev-tabs button{flex:0 0 auto}
/* Standard ERP data grid: header + row separators, not pill-like independent cells */
.table-card:has(.dev-data-grid){border:1px solid #dbe3ee;border-radius:10px;overflow:auto;background:#fff}
.dev-data-grid{width:100%;border-collapse:collapse!important;border-spacing:0!important;min-width:900px}
.dev-data-grid th{background:#eef2f7!important;color:#334155!important;font-weight:700;border-right:1px solid #dbe3ee!important;border-bottom:1px solid #cbd5e1!important;padding:10px 9px!important;white-space:nowrap;text-align:left}
.dev-data-grid td{background:#fff!important;border-right:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;padding:0!important;vertical-align:middle}
.dev-data-grid tr:last-child td{border-bottom:0!important}
.dev-data-grid th:last-child,.dev-data-grid td:last-child{border-right:0!important}
.dev-data-grid td>input,.dev-data-grid td>select,.dev-data-grid td>textarea{display:block;width:100%!important;min-width:95px;box-sizing:border-box;border:0!important;border-radius:0!important;background:transparent!important;padding:10px 9px!important;box-shadow:none!important;outline:0;color:#0f172a}
.dev-data-grid td>input:focus,.dev-data-grid td>select:focus,.dev-data-grid td>textarea:focus{background:#eff6ff!important;box-shadow:inset 0 0 0 2px #4b6fff!important}
.dev-data-grid td:not(:has(input)):not(:has(select)):not(:has(textarea)){padding:10px 9px!important}
.dev-style-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.dev-style-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dev-style-info-grid{grid-template-columns:1fr}}

/* V88 development project workflow / quotation / deletion / normalized selects */
.dev-create-mode{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.dev-project-modal .form-grid .span3{grid-column:1/-1!important}
.dev-note-field textarea{width:100%!important;min-height:96px!important;height:96px!important;resize:vertical!important;display:block!important;box-sizing:border-box!important}
.dev-copy-panel{padding:8px 2px 6px}.dev-copy-panel h3{margin:0 0 6px}.dev-copy-panel p{margin:0 0 18px;color:#64748b;line-height:1.6}
.row-delete-btn{border:0;background:#fee2e2;color:#b91c1c;font-weight:700;border-radius:7px;padding:6px 9px;cursor:pointer;white-space:nowrap}.row-delete-btn:hover{background:#fecaca}
.dev-data-grid td:has(.row-delete-btn){padding:6px!important;text-align:center;background:#fff!important}
.comment-actions{display:flex;justify-content:flex-end;margin-top:10px;padding-top:8px;border-top:1px solid #eef2f7}
.file-row{display:flex;align-items:stretch;gap:8px}.file-row>a{flex:1;min-width:0}.file-row>.table-btn{align-self:center;flex:0 0 auto}
.dev-recognition-summary{grid-template-columns:2fr repeat(3,1fr)!important}
@media(max-width:900px){.dev-create-mode{grid-template-columns:1fr!important}.dev-project-modal .form-grid .span3{grid-column:1/-1!important}}

/* V89 visibility + development controls */
.dev-drop-file,.dev-drop-file:hover,.dev-drop-file:focus{background:#4b6fff!important;color:#fff!important}
.dev-drop-file *{color:#fff!important}
.dev-create-mode button.active,.dev-create-mode button.active b,.dev-create-mode button.active span{color:#fff!important}
.dev-data-count{color:#0f172a!important}

/* V90 re-recognition workflow */
.reco-panel{display:flex;flex-direction:column;gap:16px}.reco-preview-area{display:flex;flex-direction:column;gap:14px}.reco-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.reco-summary>div{border:1px solid #dfe6f2;border-radius:10px;padding:12px 14px;background:#f8fafc}.reco-summary span{display:block;color:#64748b;font-size:13px;margin-bottom:5px}.reco-summary b{color:#18243b}.reco-apply-options{display:grid;gap:10px;padding:14px;border:1px solid #dfe6f2;border-radius:10px;background:#fff}.reco-apply-options label{display:flex;align-items:center;gap:8px;font-weight:600}.reco-apply-options .sub-option{margin-left:26px;font-weight:400;color:#53627a}.reco-actions{position:sticky;bottom:0;z-index:12;display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 -2px -2px;padding:12px 2px 2px;background:linear-gradient(180deg,rgba(255,255,255,.86),#fff 32%);border-top:1px solid #e6ebf2}.reco-action-tip{margin-right:auto;color:#64748b;font-size:13px}.warning-banner{padding:12px 14px;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a4b08}.reco-diff-table td,.reco-diff-table th{vertical-align:top}.form-action-cell{display:flex;align-items:end;padding-bottom:1px}.error-panel{padding:14px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:8px}@media(max-width:800px){.reco-summary{grid-template-columns:1fr}.form-action-cell{align-items:stretch}.form-action-cell button{width:100%}}


/* V91 development detail card + focus editing mode */
.dev-style-profile.dev-collapsed{display:none!important}
.dev-tab-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px 18px;margin:14px 0 18px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.dev-tab-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid #eef2f7;margin-bottom:8px}
.dev-tab-card-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.dev-tab-card-head b{font-size:16px;color:#1e293b}
.dev-tab-card-head span{font-size:12px;color:#94a3b8}
.dev-profile-toggle{flex:0 0 auto}
.dev-tab-card .dev-tabs{margin:0 -2px 10px;padding:0 2px 8px;border-bottom:1px solid #eef2f7}
.dev-tab-content{min-width:0}
.dev-tab-content>.section-toolbar{margin-top:2px}
@media(max-width:700px){.dev-tab-card{padding:10px}.dev-tab-card-head{align-items:flex-start}.dev-tab-card-head{flex-direction:column}.dev-profile-toggle{align-self:flex-end}}

/* V92 approval diff + consistent technical-card header + image magnifier */
.approval-change-block{margin:14px 0 16px}
.approval-change-title{font-weight:800;font-size:15px;color:#1e293b;margin:0 0 8px}
.approval-diff-table{table-layout:fixed;width:100%}
.approval-diff-table th:nth-child(1){width:20%}
.approval-diff-table th:nth-child(2),.approval-diff-table th:nth-child(3){width:40%}
.approval-diff-table td{vertical-align:top;white-space:pre-wrap;word-break:break-word;line-height:1.5}
.approval-before{background:#fafafa;color:#64748b}
.approval-after{background:#f0fdf4;color:#166534;font-weight:650}
.approval-no-change{padding:12px 14px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;background:#f8fafc;margin:14px 0}

.dev-tab-card{scroll-margin-top:78px}
.dev-tab-card-head{position:sticky;top:64px;z-index:12;background:#fff;border-radius:12px 12px 0 0}
.dev-tab-card-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#eef2f7}

.dev-main-image{position:relative;overflow:hidden;cursor:zoom-in}
.dev-image-zoom{position:absolute;right:12px;top:12px;width:42%;height:42%;min-width:150px;min-height:120px;max-width:260px;max-height:220px;border:2px solid rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(15,23,42,.25);border-radius:12px;background-repeat:no-repeat;background-size:280%;opacity:0;pointer-events:none;transform:scale(.96);transition:opacity .12s ease,transform .12s ease;z-index:5}
.dev-image-zoom.show{opacity:1;transform:scale(1)}
.dev-thumb.active{outline:3px solid #4f6fff;outline-offset:2px;background:#eef2ff}
.dev-detail-strip .dev-thumb{cursor:pointer}

.dev-data-grid input:focus,.dev-data-grid select:focus,.dev-data-grid textarea:focus{outline:2px solid #4f6fff!important;outline-offset:-2px;background:#f8fbff!important;box-shadow:none!important}

@media(max-width:760px){
  .dev-tab-card-head{top:56px}
  .dev-image-zoom{width:48%;height:40%;min-width:120px;min-height:100px}
  .approval-diff-table{min-width:680px}
}


/* V93 fixed technical header + project search */
.dev-searchbar{display:grid;grid-template-columns:minmax(340px,1fr) minmax(190px,260px) auto auto;gap:10px;align-items:center;margin:14px 0 16px}
.dev-searchbar input,.dev-searchbar select{width:100%;height:42px;box-sizing:border-box}
.dev-searchbar button{height:42px;white-space:nowrap}
.dev-focus-card{height:calc(100vh - 86px);max-height:calc(100vh - 86px);display:flex;flex-direction:column;overflow:hidden;margin-top:8px}
.dev-focus-card .dev-tab-card-head{position:relative!important;top:auto!important;flex:0 0 auto;z-index:3;margin-bottom:0;padding-bottom:10px}
.dev-focus-card .dev-tabs{flex:0 0 auto;overflow-x:auto;overflow-y:hidden;margin:0 -2px;padding:10px 2px 10px;background:#fff;border-bottom:1px solid #eef2f7}
.dev-focus-card .dev-tab-content{flex:1 1 auto;min-height:0;overflow:auto;padding-top:10px;overscroll-behavior:contain}
.dev-focus-card .dev-tab-content>.section-toolbar{position:sticky;top:0;z-index:4;background:#fff;padding:4px 0 8px}
@media(max-width:800px){.dev-searchbar{grid-template-columns:1fr 1fr}.dev-searchbar .dev-search-key{grid-column:1/-1}.dev-searchbar button{width:100%}.dev-focus-card{height:calc(100vh - 74px);max-height:calc(100vh - 74px)}}


/* V95 sticky editor column headers inside technical tab scroll area */
.dev-focus-card .dev-tab-content{position:relative}
.dev-focus-card .dev-tab-content>.section-toolbar{position:sticky!important;top:0!important;z-index:20!important;background:#fff!important;margin:0!important;padding:8px 0 10px!important;border-bottom:1px solid #eef2f7}
.dev-focus-card .dev-data-grid tr:first-child th{position:sticky;top:var(--dev-toolbar-h,64px);z-index:18;background:#eaf0f7;box-shadow:0 1px 0 #d7e0ec}
.dev-focus-card .dev-data-grid tr:first-child th:first-child{z-index:19}
.dev-focus-card .table-card{position:relative}


/* V97: stable technical editor layout.
   Header/title/tabs/section toolbar/column headings stay visible;
   only table data rows scroll inside the table-card. */
.dev-focus-card{
  height:calc(100vh - 86px)!important;
  max-height:calc(100vh - 86px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.dev-focus-card>.dev-tab-card-head{
  position:relative!important;
  top:auto!important;
  flex:0 0 auto!important;
  z-index:30!important;
  background:#fff!important;
  margin-bottom:0!important;
}
.dev-focus-card>.dev-tabs{
  position:relative!important;
  flex:0 0 auto!important;
  z-index:29!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#fff!important;
  margin:0 -2px!important;
  padding:10px 2px!important;
}
.dev-focus-card>.dev-tab-content.dev-grid-mode{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding-top:10px!important;
  position:relative!important;
  --dev-toolbar-h:0px!important;
}
.dev-focus-card>.dev-tab-content.dev-grid-mode>.section-toolbar{
  position:relative!important;
  top:auto!important;
  flex:0 0 auto!important;
  z-index:28!important;
  margin:0!important;
  padding:4px 0 10px!important;
  background:#fff!important;
  border-bottom:1px solid #eef2f7!important;
}
.dev-focus-card>.dev-tab-content.dev-grid-mode>.table-card{
  flex:1 1 0!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  position:relative!important;
  overscroll-behavior:contain!important;
  margin:0!important;
  border-radius:10px!important;
}
.dev-focus-card>.dev-tab-content.dev-grid-mode>.table-card>.dev-data-grid{
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.dev-focus-card>.dev-tab-content.dev-grid-mode>.table-card>.dev-data-grid tr:first-child th{
  position:sticky!important;
  top:0!important;
  z-index:24!important;
  background:#eaf0f7!important;
  box-shadow:0 1px 0 #d7e0ec!important;
}
.dev-focus-card>.dev-tab-content.dev-grid-mode>.table-card>.dev-data-grid tr:first-child th:first-child{
  z-index:25!important;
}
/* Disable the older V95 offset rule when the new grid mode is active. */
.dev-focus-card>.dev-tab-content.dev-grid-mode .dev-data-grid tr:first-child th{
  top:0!important;
}
@media(max-width:800px){
  .dev-focus-card{height:calc(100vh - 74px)!important;max-height:calc(100vh - 74px)!important}
}


/* V100 MES ORDER PROGRESS — compact query / larger results area */
.mop-card{background:#fff;border:1px solid #dfe5ef;border-radius:16px;padding:12px 14px;margin-bottom:10px}
.mop-card-compact{padding-bottom:10px}
.mop-main-grid{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(150px,.92fr) minmax(145px,.9fr) minmax(130px,.82fr) minmax(145px,.9fr) max-content;gap:8px;align-items:end}
.mop-main-grid label,.mop-advanced-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#60708a;min-width:0}
.mop-label-title{display:flex;align-items:center;gap:4px;min-height:18px;line-height:18px}
.mop-main-grid input,.mop-advanced-grid input,.mop-toolbar input,.mop-toolbar select{height:34px;border:1px solid #d6deea;border-radius:8px;background:#fff;padding:0 9px;font:inherit;color:#17243a;min-width:0}
.mop-card .req{color:#ef4444;display:inline;font-weight:700}.mop-main-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;white-space:nowrap}.mop-main-actions button{height:34px;padding:0 12px}
.mop-advanced{margin-top:8px;padding-top:8px;border-top:1px dashed #dfe5ef}.mop-advanced-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px;align-items:end}.mop-advanced-grid label{font-size:13px}.mop-advanced-grid input{width:100%;height:34px}
.mop-toolbar{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dfe5ef;border-radius:13px;padding:8px 11px;margin-bottom:10px;overflow-x:auto}.mop-result-stat{white-space:nowrap;color:#60708a;margin-right:auto}.mop-result-stat b{color:#17243a}.mop-toolbar input{width:230px;min-width:180px}.mop-toolbar select{width:82px;min-width:82px}.mop-toolbar button{height:36px;white-space:nowrap}
.mop-table-card{background:#fff;border:1px solid #dfe5ef;border-radius:16px;overflow:hidden}.mop-table-scroll{overflow:auto;height:calc(100vh - 315px);min-height:360px;max-height:72vh}.mop-table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;font-size:13px;white-space:nowrap}.mop-table th,.mop-table td{padding:8px 10px;border-right:1px solid #e4e9f1;border-bottom:1px solid #e4e9f1;text-align:left;max-width:260px;overflow:hidden;text-overflow:ellipsis}.mop-table th{position:sticky;top:0;z-index:4;background:#eef3f9;font-weight:700;cursor:pointer}.mop-table tbody tr:nth-child(even){background:#fafbfd}.mop-table tbody tr:hover{background:#f3f7ff}.mop-table tfoot{position:sticky;bottom:0;z-index:3}.mop-summary-row td{background:#fff7d6;font-weight:700;border-top:2px solid #e4c76b}.mop-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;border-top:1px solid #e4e9f1}.mop-pagination button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1240px){.mop-main-grid{grid-template-columns:repeat(5,minmax(135px,1fr));}.mop-main-actions{grid-column:1/-1;justify-content:flex-end}.mop-table-scroll{height:calc(100vh - 322px)}}
@media(max-width:1180px){.mop-advanced-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}}
@media(max-width:1000px){.mop-main-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.mop-advanced-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}}
@media(max-width:760px){.mop-main-grid,.mop-advanced-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.mop-toolbar{align-items:stretch}.mop-toolbar input{width:200px}.mop-table-scroll{height:60vh}}
@media(max-width:520px){.mop-main-grid,.mop-advanced-grid{grid-template-columns:1fr}.mop-main-actions{justify-content:stretch}.mop-main-actions button{flex:1}}


/* V104 COST 关单差异 - 与 MES/ODS 查询页统一的紧凑布局 */
.cost-close-card{padding:16px 18px;margin-bottom:14px}.cost-mode-row{display:flex;align-items:center;margin-bottom:12px}.segmented.cost-mode{display:flex;gap:4px;background:#eef2f7;padding:4px;border-radius:10px}.segmented.cost-mode button{border:0;background:transparent;padding:8px 16px;border-radius:8px;font-weight:700;color:#44546a;cursor:pointer}.segmented.cost-mode button.active{background:#4f70ff;color:#fff}.cost-filter-main{display:grid;grid-template-columns:1.05fr 1.05fr 1fr 1.25fr 1fr auto;gap:10px;align-items:end}.cost-filter-main label,.cost-filter-more label{display:flex;flex-direction:column;gap:5px;min-width:0}.cost-filter-main label span,.cost-filter-more label span{font-size:.9rem;color:#64748b}.cost-filter-main label b{color:#e53935}.cost-filter-main input,.cost-filter-main select,.cost-filter-more input,.cost-filter-more select{height:38px;border:1px solid #d6deeb;border-radius:10px;padding:0 12px;background:#fff;min-width:0;width:100%;box-sizing:border-box}.cost-query-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.cost-filter-more{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed #dce3ee}.cost-result-card{padding:14px 16px}.cost-kpis{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin-bottom:10px}.cost-kpi{background:#f6f8fc;border:1px solid #e1e7f0;border-radius:10px;padding:8px 10px}.cost-kpi span{display:block;color:#718096;font-size:.82rem;margin-bottom:3px}.cost-kpi b{font-size:1.05rem}.cost-kpi .pos,.cost-data-table .pos{color:#b45309}.cost-kpi .neg,.cost-data-table .neg{color:#c62828}.cost-table-shell{max-height:calc(100vh - 390px);min-height:280px;overflow:auto}.cost-data-table{white-space:nowrap}.cost-data-table thead th{position:sticky;top:0;z-index:2}.cost-data-table tfoot td{position:sticky;bottom:0;background:#fff7d2;font-weight:800;border-top:2px solid #e6c85b;z-index:1}.summary-label{color:#554400}.ods-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.ods-pagination>div{display:flex;gap:8px}
@media(max-width:1400px){.cost-filter-main{grid-template-columns:repeat(3,1fr)}.cost-query-actions{grid-column:1/-1}.cost-filter-more{grid-template-columns:repeat(3,1fr)}.cost-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.cost-filter-main,.cost-filter-more{grid-template-columns:1fr 1fr}.cost-kpis{grid-template-columns:1fr 1fr}.cost-query-actions{grid-column:1/-1;flex-wrap:wrap}.cost-table-shell{max-height:55vh}}


/* V105 COST 关单差异 — 修复结果区未套用平台表格样式 */
.cost-close-card,.cost-result-card{
  background:#fff;border:1px solid #dfe5ef;border-radius:16px;box-sizing:border-box;
}
.cost-close-card{padding:12px 14px;margin-bottom:10px}
.cost-result-card{padding:12px 14px;margin-bottom:10px}
.cost-mode-row{margin-bottom:9px}
.segmented.cost-mode{border-radius:10px;background:#f1f5f9}
.segmented.cost-mode button{height:34px;padding:0 14px;border-radius:8px;font-size:14px}
.cost-filter-main{grid-template-columns:minmax(135px,.85fr) minmax(150px,.9fr) minmax(145px,.82fr) minmax(180px,1fr) minmax(150px,.88fr) max-content;gap:8px}
.cost-filter-main label,.cost-filter-more label{gap:4px;font-size:13px}
.cost-filter-main label span,.cost-filter-more label span{font-size:13px;line-height:18px}
.cost-filter-main input,.cost-filter-main select,.cost-filter-more input,.cost-filter-more select{height:34px;border-radius:8px;padding:0 9px;font-size:14px}
.cost-query-actions{gap:6px}
.cost-query-actions button,.cost-result-card .secondary-btn,.cost-result-card .primary-btn{height:34px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer}
.secondary-btn{border:0;background:#eef2f7;color:#17243a}
.secondary-btn:hover{background:#e2e8f0}
.secondary-btn:disabled{opacity:.45;cursor:not-allowed}
.cost-filter-more{gap:8px;margin-top:8px;padding-top:8px}
.cost-kpis{grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin-bottom:9px}
.cost-kpi{background:#f7f9fc;border:1px solid #e1e7f0;border-radius:12px;padding:9px 11px}
.cost-kpi span{font-size:13px;margin-bottom:3px}
.cost-kpi b{font-size:19px;line-height:1.2}
.ods-result-toolbar{display:flex;align-items:center;gap:10px;border-top:1px solid #edf1f6;padding:9px 0 8px;min-height:36px}
.ods-result-toolbar>div:first-child{margin-right:auto;white-space:nowrap;color:#64748b}
.ods-result-toolbar>div:first-child b{color:#17243a}
.ods-toolbar-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.ods-toolbar-actions input,.ods-toolbar-actions select{height:34px;border:1px solid #d6deea;border-radius:8px;background:#fff;padding:0 9px;font:inherit;color:#17243a}
.ods-toolbar-actions input{width:230px;min-width:170px}.ods-toolbar-actions select{width:76px;min-width:76px}
.cost-table-shell{position:relative;height:calc(100vh - 365px);min-height:300px;max-height:68vh;overflow:auto;border:1px solid #dfe5ef;border-radius:12px;background:#fff}
.cost-data-table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;white-space:nowrap;font-size:13px}
.cost-data-table th,.cost-data-table td{padding:8px 10px;border-right:1px solid #e4e9f1;border-bottom:1px solid #e4e9f1;text-align:left;vertical-align:middle;max-width:260px;overflow:hidden;text-overflow:ellipsis;background:#fff}
.cost-data-table th:last-child,.cost-data-table td:last-child{border-right:0}
.cost-data-table thead th{position:sticky;top:0;z-index:4;background:#eef3f9;color:#17243a;font-weight:700;cursor:pointer}
.cost-data-table tbody tr:nth-child(even) td{background:#fafbfd}
.cost-data-table tbody tr:hover td{background:#f3f7ff}
.cost-data-table tfoot td{position:sticky;bottom:0;z-index:3;background:#fff7d2!important;font-weight:800;border-top:2px solid #e4c76b;border-bottom:0}
.cost-table-shell>.empty-cell{position:absolute;inset:56px 0 auto 0;text-align:center;color:#94a3b8;padding:28px!important;pointer-events:none}
.ods-pagination{display:flex;justify-content:space-between;align-items:center;padding:8px 2px 0;color:#64748b;font-size:13px}
.ods-pagination>div{display:flex;gap:7px}.ods-pagination .secondary-btn{height:32px;padding:0 12px}
@media(max-width:1450px){.cost-filter-main{grid-template-columns:repeat(5,minmax(140px,1fr));}.cost-query-actions{grid-column:1/-1;justify-content:flex-end}.cost-kpis{grid-template-columns:repeat(3,minmax(140px,1fr))}.cost-table-shell{height:calc(100vh - 405px)}}
@media(max-width:900px){.cost-filter-main,.cost-filter-more{grid-template-columns:repeat(2,minmax(140px,1fr))}.cost-kpis{grid-template-columns:repeat(2,minmax(130px,1fr))}.ods-result-toolbar{align-items:stretch;flex-direction:column}.ods-toolbar-actions{overflow-x:auto}.cost-table-shell{height:58vh}}

/* V106 COST 关单差异 — 紧凑查询区 + 完整结果显示 */
.cost-close-card{padding:10px 12px}
.cost-filter-main{
  display:grid;
  grid-template-columns:max-content minmax(120px,.72fr) minmax(135px,.78fr) minmax(130px,.74fr) minmax(165px,.95fr) minmax(145px,.8fr) max-content;
  gap:7px;align-items:end;
}
.cost-mode-inline{align-self:end;display:flex;align-items:center;height:34px}
.segmented.cost-mode{padding:2px;gap:2px;border-radius:9px}
.segmented.cost-mode button{height:30px;padding:0 11px;font-size:13px}
.cost-filter-main label,.cost-filter-more label{gap:2px}
.cost-filter-main label span,.cost-filter-more label span{font-size:12px;line-height:15px}
.cost-filter-main input,.cost-filter-main select,.cost-filter-more input,.cost-filter-more select{height:32px;font-size:13px;padding:0 8px}
.cost-query-actions button{height:32px;padding:0 10px;font-size:13px}
.cost-filter-more{margin-top:6px;padding-top:6px}
.cost-result-card{padding:8px 10px}
.cost-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:6px}
.cost-kpi{padding:6px 9px;border-radius:9px;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.cost-kpi span{font-size:12px;margin:0;white-space:nowrap}
.cost-kpi b{font-size:16px;white-space:nowrap}
.ods-result-toolbar{padding:5px 0;min-height:32px;gap:7px}
.ods-toolbar-actions{gap:5px}
.ods-toolbar-actions input,.ods-toolbar-actions select{height:31px;font-size:13px}
.cost-result-card .secondary-btn,.cost-result-card .primary-btn{height:31px;font-size:13px;padding:0 10px}
.cost-hscroll{height:13px;overflow-x:auto;overflow-y:hidden;margin:0 0 4px;border-radius:6px;background:#f3f5f8}
.cost-hscroll>div{height:1px}
.cost-table-shell{height:calc(100vh - 315px);min-height:330px;max-height:none;border-radius:9px}
.cost-data-table{font-size:12px}
.cost-data-table th,.cost-data-table td{padding:6px 8px;max-width:210px}
.cost-data-table thead th{font-size:12px}
.ods-pagination{padding-top:5px;font-size:12px}
@media(max-width:1500px){
  .cost-filter-main{grid-template-columns:max-content repeat(3,minmax(140px,1fr));}
  .cost-query-actions{grid-column:auto;}
  .cost-kpis{grid-template-columns:repeat(3,1fr)}
  .cost-table-shell{height:calc(100vh - 360px)}
}


/* V107 COST 关单差异 — 按最终布局规范：模式独立行 / 主查询一行 / 6 KPI 一行 / 横向滚动条置于表格底部 */
.cost-close-card{padding:10px 12px 9px}
.cost-mode-row{display:flex;align-items:center;margin:0 0 7px 0}
.cost-mode-row .segmented.cost-mode{padding:2px;gap:2px;border-radius:9px}
.cost-mode-row .segmented.cost-mode button{height:30px;padding:0 12px;font-size:13px}
.cost-filter-main{
  display:grid;
  grid-template-columns:minmax(135px,.8fr) minmax(155px,.95fr) minmax(145px,.86fr) minmax(190px,1.08fr) minmax(155px,.88fr) max-content;
  gap:7px;align-items:end;
}
.cost-query-actions{display:flex;align-items:end;gap:6px;white-space:nowrap;height:32px}
.cost-query-actions button{height:32px;padding:0 10px;font-size:13px}
.cost-kpis{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;margin-bottom:6px!important}
.cost-kpi{min-width:0;padding:6px 9px!important;min-height:42px!important}
.cost-kpi span{overflow:hidden;text-overflow:ellipsis}
.cost-hscroll{height:13px;overflow-x:auto;overflow-y:hidden;margin:4px 0 0;border-radius:6px;background:#f3f5f8}
.cost-table-shell{margin-bottom:0}
@media(max-width:1550px){
  .cost-filter-main{grid-template-columns:repeat(5,minmax(135px,1fr));}
  .cost-query-actions{grid-column:1/-1;justify-content:flex-end}
  .cost-kpis{grid-template-columns:repeat(6,minmax(105px,1fr))!important}
}
@media(max-width:1100px){
  .cost-kpis{grid-template-columns:repeat(3,minmax(130px,1fr))!important}
}

/* V108 COST 关单差异 — 模式/动作同一顶行，查询条件第二行，横向滚动条紧贴表格底部 */
.cost-close-card{padding:10px 12px 9px}
.cost-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.cost-top-row .segmented.cost-mode{flex:0 0 auto}
.cost-top-row .cost-query-actions{display:flex;align-items:center;gap:6px;height:auto;margin-left:auto}
.cost-top-row .cost-query-actions button{height:32px;padding:0 11px;font-size:13px;border-radius:8px}
.cost-filter-main{display:grid!important;grid-template-columns:minmax(150px,.95fr) minmax(165px,1fr) minmax(155px,.95fr) minmax(195px,1.1fr) minmax(165px,.95fr)!important;gap:8px!important;align-items:end}
.cost-filter-main label{min-width:0}
.cost-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;margin-bottom:6px!important}
.cost-kpi{min-height:40px!important;padding:5px 9px!important}
.cost-result-card{padding:8px 10px 10px}
.cost-table-shell{height:auto!important;min-height:0!important;max-height:calc(100vh - 390px)!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:9px 9px 0 0!important;margin-bottom:0!important}
.cost-data-table{min-width:max-content!important;width:max-content!important}
.cost-hscroll{display:none;height:15px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0!important;border:1px solid #dfe5ef;border-top:0;border-radius:0 0 8px 8px;background:#f3f5f8;scrollbar-gutter:stable both-edges}
.cost-hscroll>div{height:1px!important}
.cost-hscroll::-webkit-scrollbar{height:12px}
.cost-hscroll::-webkit-scrollbar-thumb{background:#9aa0a6;border-radius:8px}
.cost-hscroll::-webkit-scrollbar-track{background:#eef1f5}
@media(max-width:1450px){
  .cost-filter-main{grid-template-columns:repeat(5,minmax(130px,1fr))!important}
  .cost-kpis{grid-template-columns:repeat(6,minmax(95px,1fr))!important}
}
@media(max-width:1000px){
  .cost-top-row{align-items:flex-start;flex-wrap:wrap}
  .cost-top-row .cost-query-actions{margin-left:0}
  .cost-filter-main{grid-template-columns:repeat(2,minmax(140px,1fr))!important}
  .cost-kpis{grid-template-columns:repeat(3,minmax(120px,1fr))!important}
}

/* V109 MES / 扫描包装 / 装箱清单 */
.pack-query-card{padding:14px 16px;margin-bottom:12px}
.pack-query-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr .9fr auto;gap:10px;align-items:end}
.pack-query-grid label{display:grid;gap:5px;color:#61708a;font-size:14px;min-width:0}
.pack-query-grid input{width:100%;height:38px;border:1px solid #d7dfeb;border-radius:10px;background:#fff;padding:0 12px;font:inherit;color:#17233a;box-sizing:border-box}
.pack-query-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
.pack-section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:10px}
.pack-section-toolbar h3{margin:0;color:#18253b;font-size:20px}.pack-section-toolbar p{margin:3px 0 0;color:#7d8ba3}
.pack-toolbar-actions{display:flex;align-items:center;gap:8px;min-width:0}.pack-toolbar-actions input{width:290px;max-width:38vw;height:36px;border:1px solid #d7dfeb;border-radius:9px;padding:0 11px;font:inherit}
.pack-order-card,.pack-detail-card{padding:14px 16px;margin-bottom:12px}
.pack-order-scroll{overflow:auto;max-height:465px;border:1px solid #e0e6ef;border-radius:12px}
.pack-detail-scroll{overflow:auto;max-height:calc(100vh - 365px);min-height:240px;border:1px solid #e0e6ef;border-radius:12px}
.pack-data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:14px}
.pack-data-table th,.pack-data-table td{padding:8px 10px;border-right:1px solid #e3e8f0;border-bottom:1px solid #e3e8f0;white-space:nowrap;text-align:left}
.pack-data-table th{position:sticky;top:0;z-index:3;background:#edf2f8;color:#1d2b42;font-weight:700}
.pack-data-table tfoot td{position:sticky;bottom:0;z-index:2;background:#fff6ce;border-top:2px solid #edcc59;font-weight:700}
.pack-data-table .num{text-align:right;font-variant-numeric:tabular-nums}.pack-data-table .check-cell{text-align:center}
.pack-summary-row td{background:#fff6ce!important;font-weight:700}
.pack-report-overlay{position:fixed;inset:0;z-index:6000;background:#eef2f7;overflow:auto}.pack-report-overlay.hidden{display:none!important}
.pack-report-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid #dce3ed;box-shadow:0 2px 8px #24324a12}
.pack-report-fields{display:flex;gap:8px;flex:1;justify-content:center}.pack-report-fields input{height:36px;border:1px solid #d5deea;border-radius:8px;padding:0 10px;min-width:180px}
.pack-report-page{width:min(1380px,calc(100% - 32px));margin:16px auto 40px;background:#fff;padding:24px;box-sizing:border-box;border-radius:12px;box-shadow:0 8px 30px #25324a18;color:#111}
.pack-report-header{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:20px;align-items:start;border-bottom:2px solid #222;padding-bottom:12px;margin-bottom:16px;font-size:13px;line-height:1.65}.pack-report-title{text-align:center}.pack-report-title h1{font-size:20px;margin:0 0 6px}.pack-report-title h2{font-size:22px;margin:0}
.pack-report-page h3{margin:18px 0 8px;font-size:16px}.pack-report-table-wrap{overflow:auto}.pack-report-table{border-collapse:collapse;width:100%;font-size:11px}.pack-report-table th,.pack-report-table td{border:1px solid #222;padding:4px 5px;white-space:nowrap}.pack-report-table th{background:#f0f0f0}.pack-report-table .num{text-align:right}.pack-grand{font-weight:700;background:#eee}
@media(max-width:1250px){.pack-query-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-query-actions{grid-column:span 3;justify-content:flex-end}.pack-toolbar-actions input{max-width:260px}}
@media(max-width:780px){.pack-query-grid{grid-template-columns:1fr}.pack-query-actions{grid-column:auto}.pack-section-toolbar{align-items:flex-start;flex-direction:column}.pack-toolbar-actions{width:100%;flex-wrap:wrap}.pack-toolbar-actions input{width:100%;max-width:none}.pack-report-fields{display:none}.pack-report-page{width:calc(100% - 12px);margin:6px;padding:10px}.pack-report-header{grid-template-columns:1fr}}
@media print{
  body.pack-print-mode>*:not(#packReportOverlay){display:none!important}
  body.pack-print-mode #packReportOverlay{display:block!important;position:static!important;inset:auto!important;background:#fff!important;overflow:visible!important}
  body.pack-print-mode .pack-report-toolbar{display:none!important}
  body.pack-print-mode .pack-report-page{width:100%!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
  body.pack-print-mode .pack-report-table-wrap{overflow:visible!important}
  body.pack-print-mode .pack-report-table{font-size:8.5pt!important}
  @page{size:A4 landscape;margin:8mm}
}

/* V270 — packing cache management uses the single-data-region scroll rule. */
body.v270-packing-cache-page main{overflow:hidden!important;height:100vh!important;min-height:0!important}
body.v270-packing-cache-page #content{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important}
body.v270-packing-cache-page #content>.workspace-bar{flex:0 0 auto;margin-bottom:7px!important;align-items:center}
body.v270-packing-cache-page .workspace-bar h1{font-size:20px;margin-bottom:2px}
body.v270-packing-cache-page .workspace-bar p{font-size:12px;line-height:1.3}
body.v270-packing-cache-page .pcm-settings-card{flex:0 0 auto;padding:8px 12px!important;margin-bottom:7px!important}
body.v270-packing-cache-page .pcm-data-card{flex:1 1 auto;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:8px 10px!important;margin:0!important}
.pcm-status-strip{display:flex;align-items:center;gap:6px 18px;min-height:25px;padding:0 2px 6px;color:#6a7890;font-size:12px;white-space:nowrap;overflow:hidden}
.pcm-status-strip span{display:inline-flex;align-items:baseline;gap:5px}.pcm-status-strip b{color:#1c2940;font-size:13px}.pcm-status-strip .pcm-error{color:#c43d3d;overflow:hidden;text-overflow:ellipsis}
.pcm-sync-grid{display:flex;flex-wrap:nowrap;gap:7px;align-items:flex-end;padding-top:7px;border-top:1px solid #edf1f6;min-width:0}
.pcm-sync-grid>label:not(.pcm-switch){display:grid;gap:3px;min-width:0;color:#64748b;font-size:11px}
.pcm-sync-grid input,.pcm-sync-grid select,.pcm-toolbar input,.pcm-toolbar select{width:100%;height:32px;min-width:0;box-sizing:border-box;border:1px solid #d7dfeb;border-radius:7px;background:#fff;padding:0 9px;font:inherit;color:#17233a}
.pcm-sync-grid .pcm-switch{height:32px;padding:0 9px;border-radius:7px;white-space:nowrap;font-size:12px}
.pcm-factory-field{flex:0 0 175px}.pcm-sync-po{flex:1 1 190px}.pcm-date-field{flex:0 1 295px}.pcm-frequency{flex:0 0 88px}.pcm-sync-grid .pcm-switch{flex:0 0 105px}.pcm-sync-actions{flex:0 0 auto}
.pcm-date-range{display:flex;align-items:center;gap:4px}.pcm-date-range input{padding:0 5px!important}.pcm-date-range i{font-style:normal;color:#94a3b8}
.pcm-factory-multi{position:relative}.pcm-factory-trigger{width:100%;height:32px;border:1px solid #d7dfeb;border-radius:7px;background:#fff;text-align:left;padding:0 26px 0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17233a}.pcm-factory-menu{position:absolute;z-index:80;top:35px;left:0;width:max-content;min-width:230px;max-width:360px;max-height:270px;overflow:auto;background:#fff;border:1px solid #d7dfeb;border-radius:9px;box-shadow:0 12px 30px #17233b2b;padding:6px}.pcm-factory-menu label{display:flex!important;align-items:center;gap:7px;padding:7px 8px;font-size:12px;color:#17233a;white-space:nowrap}.pcm-factory-menu input{width:15px!important;height:15px!important}.pcm-factory-menu.hidden{display:none!important}
.pcm-sync-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.pcm-sync-actions button,.pcm-head-actions button{min-height:32px;padding:6px 10px}
.pcm-view-note{padding:3px 2px;color:#718096;font-size:12px}
body.v270-packing-cache-page .pcm-toolbar{flex:0 0 auto;min-height:34px;padding:0 0 7px!important;gap:8px}
body.v270-packing-cache-page .pcm-toolbar .data-workspace-tools{flex-wrap:nowrap;gap:6px;min-width:0}
body.v270-packing-cache-page .pcm-toolbar #pcmKeyword{width:min(310px,25vw)}
body.v270-packing-cache-page .pcm-toolbar #pcmParent{width:145px}
body.v270-packing-cache-page .pcm-toolbar #pcmFactory{width:175px}
body.v270-packing-cache-page .pcm-toolbar button{min-height:32px;padding:6px 10px}
body.v270-packing-cache-page .pcm-table-scroll{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:auto!important;border-radius:8px;overscroll-behavior:contain}
body.v270-packing-cache-page .pcm-table th,body.v270-packing-cache-page .pcm-table td{padding:6px 8px;font-size:12px}
body.v270-packing-cache-page .pcm-table tfoot td{position:sticky;bottom:0;z-index:5;background:#fff7d6;border-top:2px solid #e2c54d}
body.v270-packing-cache-page .pcm-pager{flex:0 0 auto;min-height:34px;padding:5px 1px 0;gap:7px}
.pcm-page-summary{margin-right:auto!important;min-width:0!important;text-align:left!important;font-size:12px}
@media(max-width:1350px){.pcm-factory-field{flex-basis:150px}.pcm-date-field{flex-basis:260px}.pcm-frequency{flex-basis:76px}.pcm-sync-grid{gap:5px}.pcm-sync-actions button{padding-left:8px;padding-right:8px}.pcm-status-strip{gap:5px 12px}}
@media(max-width:1050px){.pcm-sync-grid{overflow-x:auto;padding-bottom:5px}.pcm-toolbar{align-items:flex-start!important}.pcm-toolbar .data-workspace-tools{flex-wrap:wrap!important}}

.staffing-grid-tip{padding:7px 11px;background:#eef4ff;color:#50627d;border:1px solid #dce7f7;border-radius:9px;font-size:12px;margin-bottom:7px}.staffing-inline-wrap{min-height:0}.staffing-inline-table{min-width:1500px}.staffing-inline-table td{padding:5px 7px}.staffing-inline-table td:first-child,.staffing-inline-table td:nth-child(2){line-height:1.2}.staffing-inline-table small{display:block;color:#8290a5;margin-top:3px}.staffing-inline-table input,.staffing-inline-table select{width:100%;min-width:80px;height:30px;border:1px solid #d8e0ec;border-radius:6px;background:#fff;padding:0 6px;font:inherit}.staffing-inline-table td:nth-child(3),.staffing-inline-table td:nth-child(4),.staffing-inline-table td:nth-child(8){min-width:150px}.staffing-inline-table td:nth-child(9),.staffing-inline-table td:nth-child(10){min-width:125px}.staffing-row-dirty td{background:#fff9df!important}.staffing-row-dirty td:first-child{box-shadow:inset 3px 0 #f0b429}


/* V110 MES / 品质管理 / 湿度检测（AQUA-BOY TEM-1） */
.aqua-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:12px;margin-bottom:12px}.aqua-input-card,.aqua-result-card,.aqua-detail-card,.aqua-rule-card{padding:16px}.aqua-input-card .card-head,.aqua-detail-card .card-head,.aqua-rule-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.aqua-input-card .card-head h3,.aqua-result-head h3,.aqua-detail-card .card-head h3,.aqua-rule-card .card-head h3{margin:0;font-size:19px;color:#18253b}.aqua-input-card .card-head p,.aqua-result-head p,.aqua-detail-card .card-head p,.aqua-rule-card .card-head p{margin:3px 0 0;color:#8491a7;font-size:13px}.aqua-mini-actions{display:flex;gap:7px}.aqua-components{display:grid;gap:7px}.aqua-comp-row{display:grid;grid-template-columns:minmax(230px,1fr) 150px 70px;gap:8px;align-items:center}.aqua-comp-row select,.aqua-comp-row input,.aqua-device-grid select,.aqua-device-grid input{height:38px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;padding:0 11px;font:inherit;color:#17233a;box-sizing:border-box;width:100%}.aqua-pct-wrap{position:relative}.aqua-pct-wrap span{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#7b899f}.aqua-pct-wrap input{padding-right:28px}.aqua-divider{height:1px;background:#e7ebf2;margin:13px 0}.aqua-device-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto;gap:9px;align-items:end}.aqua-device-grid label{display:grid;gap:5px;color:#61708a;font-size:13px}.aqua-device-grid .primary-btn{height:38px}.aqua-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.aqua-judge{min-width:150px;text-align:center;padding:9px 14px;border-radius:10px;font-size:19px;font-weight:800;border:1px solid transparent}.aqua-judge.pending{background:#f3f5f8;color:#7b899f;border-color:#dfe4ec}.aqua-judge.good{background:#eaf8f1;color:#0f7b4d;border-color:#9bd2b7}.aqua-judge.accept{background:#fff4df;color:#a76400;border-color:#f0c46e}.aqua-judge.bad{background:#fff0ee;color:#b42318;border-color:#ebb0aa}.aqua-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.aqua-metrics>div{background:#f7f9fc;border:1px solid #e1e6ef;border-radius:10px;padding:10px 12px;min-height:70px}.aqua-metrics span{display:block;color:#77859c;font-size:12px;margin-bottom:4px}.aqua-metrics b{font-size:22px;color:#18253b}.aqua-metrics .curve-name{font-size:14px;line-height:1.35}.aqua-match-row{margin-top:9px}.aqua-match{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.aqua-match.exact{background:#eaf8f1;color:#0f7b4d}.aqua-match.approx{background:#fff4df;color:#a76400}.aqua-status{margin-top:9px;padding:10px 12px;border-radius:9px;font-weight:600;line-height:1.45}.aqua-status.good{background:#eaf8f1;color:#0f7b4d}.aqua-status.warn{background:#fff4df;color:#9a5d00}.aqua-status.bad{background:#fff0ee;color:#b42318}.aqua-note{margin-top:10px;color:#7a879c;font-size:12px;line-height:1.6}.aqua-detail-card{margin-bottom:12px}.aqua-detail-card .table-wrap{max-height:270px;overflow:auto;border:1px solid #e1e6ef;border-radius:10px}.aqua-detail-table{margin:0}.aqua-detail-table th{position:sticky;top:0;z-index:2}.aqua-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.aqua-rule-grid>div{border:1px solid #e1e6ef;border-radius:10px;padding:10px 12px;background:#fafbfd}.aqua-rule-grid b{display:block;margin-bottom:4px;color:#18253b}.aqua-rule-grid span{font-size:12px;color:#6f7d93;line-height:1.45}.aqua-rule-grid>div:nth-child(1) b{color:#0f7b4d}.aqua-rule-grid>div:nth-child(2) b{color:#a76400}.aqua-rule-grid>div:nth-child(3) b{color:#b42318}
@media(max-width:1180px){.aqua-layout{grid-template-columns:1fr}.aqua-rule-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.aqua-comp-row{grid-template-columns:1fr 120px auto}.aqua-device-grid{grid-template-columns:1fr}.aqua-metrics{grid-template-columns:1fr 1fr}.aqua-rule-grid{grid-template-columns:1fr}.aqua-result-head{align-items:stretch;flex-direction:column}.aqua-judge{width:100%}}


/* V111 AQUA 成分明细表格显示修复 */
.aqua-detail-card .table-wrap{
  width:100%;
  max-height:270px;
  overflow:auto;
  border:1px solid #e1e6ef;
  border-radius:10px;
  background:#fff;
}
.aqua-detail-table{
  width:100%!important;
  min-width:760px;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed;
  background:#fff;
  color:#18253b;
  font-size:14px;
}
.aqua-detail-table thead{display:table-header-group!important}
.aqua-detail-table tbody{display:table-row-group!important}
.aqua-detail-table tr{display:table-row!important}
.aqua-detail-table th,.aqua-detail-table td{
  display:table-cell!important;
  padding:10px 14px!important;
  border-right:1px solid #e3e8f0!important;
  border-bottom:1px solid #e3e8f0!important;
  vertical-align:middle!important;
  text-align:left!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:#fff;
  line-height:1.35;
}
.aqua-detail-table th{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  background:#eef3f9!important;
  color:#1d2b42!important;
  font-weight:700!important;
}
.aqua-detail-table th:last-child,.aqua-detail-table td:last-child{border-right:0!important}
.aqua-detail-table tbody tr:last-child td{border-bottom:0!important}
.aqua-detail-table tbody tr:nth-child(even) td{background:#fafbfd!important}
.aqua-detail-table tbody tr:hover td{background:#f4f7fc!important}
.aqua-detail-table th:nth-child(1),.aqua-detail-table td:nth-child(1){width:18%}
.aqua-detail-table th:nth-child(2),.aqua-detail-table td:nth-child(2){width:26%}
.aqua-detail-table th:nth-child(3),.aqua-detail-table td:nth-child(3){width:16%}
.aqua-detail-table th:nth-child(4),.aqua-detail-table td:nth-child(4){width:20%;text-align:right!important}
.aqua-detail-table th:nth-child(5),.aqua-detail-table td:nth-child(5){width:20%;text-align:right!important}
@media(max-width:720px){
  .aqua-detail-table{min-width:650px;font-size:13px}
  .aqua-detail-table th,.aqua-detail-table td{padding:8px 10px!important}
}

/* V112 integrated THREAD calculator */
.integrated-tool-card{padding:0;overflow:hidden;border-radius:16px}
.integrated-tool-frame{display:block;width:100%;border:0;background:transparent}
.thread-tool-card{height:calc(100vh - 142px);min-height:620px}
.thread-tool-frame{height:100%}
@media(max-width:900px){.thread-tool-card{height:calc(100vh - 126px);min-height:560px}}

/* V113 首页数字工厂 */
.home-dfmaps-entry{margin-top:16px}
.dfmaps-shell-card{height:calc(100vh - 104px);min-height:560px;background:#fff;border:1px solid #dfe6f0;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.dfmaps-shell-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #e6ebf2;background:#fff;flex:0 0 auto}
.dfmaps-shell-head h2{margin:0;color:#17233a;font-size:22px}
.dfmaps-shell-head p{margin:4px 0 0;color:#7b8aa3;font-size:14px}
.dfmaps-shell-actions{display:flex;gap:8px;align-items:center}
.dfmaps-frame-wrap{flex:1;min-height:0;background:#f3f6fb}
.dfmaps-frame{display:block;width:100%;height:100%;border:0;background:#fff}
@media(max-width:900px){.dfmaps-shell-card{height:calc(100vh - 86px);border-radius:12px}.dfmaps-shell-head{padding:10px 12px}.dfmaps-shell-head p{display:none}.dfmaps-shell-actions .secondary-btn{display:none}}

/* V115 built-in Digital Factory Map */
.dfmaps-native-card{background:#fff;border:1px solid #dfe6f1;border-radius:18px;padding:14px;box-shadow:0 1px 2px rgba(15,23,42,.03);height:calc(100vh - 132px);min-height:620px;display:flex;flex-direction:column;overflow:hidden}
.dfmaps-native-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 4px 12px;border-bottom:1px solid #e8edf5}
.dfmaps-native-head h2{margin:0 0 4px;font-size:22px}.dfmaps-native-head p{margin:0;color:#7b889d}
.dfmaps-native-stage{flex:1;min-height:0;margin-top:10px;border-radius:14px;overflow:hidden;background:#eef3f8;border:1px solid #e1e7f0}
.dfmaps-native-stage iframe{display:block;width:100%;height:100%;border:0;background:#f4f7fb}


/* ODS V118 — Digital Factory module naming/fullscreen */
.dfmaps-native-actions{display:flex;align-items:center;gap:8px}
.dfmaps-native-card:fullscreen,.dfmaps-native-card.is-fullscreen{width:100vw!important;height:100vh!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important;padding:10px!important;background:#f3f6fb!important}
.dfmaps-native-card:fullscreen .dfmaps-native-head,.dfmaps-native-card.is-fullscreen .dfmaps-native-head{padding:4px 6px 10px!important}
.dfmaps-native-card:fullscreen .dfmaps-native-stage,.dfmaps-native-card.is-fullscreen .dfmaps-native-stage{margin-top:6px!important;border-radius:10px!important}

/* ODS V119 — customer Brand/Buyer logo library */
.cb-row.brand-row{grid-template-columns:150px repeat(4,minmax(120px,1fr)) minmax(180px,2fr) auto;align-items:center}
.brand-logo-box{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center;min-width:0}
.brand-logo-preview{width:62px;height:48px;border:1px solid #d8e0ec;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#94a3b8;font-size:11px;font-weight:700}
.brand-logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand-logo-upload{display:flex!important;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap;min-height:34px}
@media(max-width:1250px){.cb-row.brand-row{grid-template-columns:150px repeat(3,minmax(120px,1fr))}.cb-row.brand-row .wide{grid-column:span 2}}
@media(max-width:720px){.cb-row.brand-row{grid-template-columns:1fr}.brand-logo-box{grid-template-columns:72px minmax(120px,1fr)}.cb-row.brand-row .wide{grid-column:auto}}


/* ODS V120 — development style title: Brand logo + Style# + Season */
.dev-style-page-title{display:inline-flex;align-items:center;gap:12px;min-height:34px;max-width:100%;vertical-align:middle}
.dev-brand-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:58px;height:32px;padding:2px 6px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-sizing:border-box}
.dev-brand-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.dev-brand-fallback{font-size:18px;font-weight:800;color:#17233a;white-space:nowrap}
.dev-style-title-text{font-size:26px;font-weight:800;line-height:1.1;color:#17233a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.dev-style-page-title{gap:8px}.dev-brand-logo{width:50px;height:28px}.dev-style-title-text{font-size:21px}.dev-brand-fallback{font-size:16px}}

/* ODS V121 — development technical-tabs sticky stability fix
   Expanded profile mode must scroll as a normal document. Sticky behavior is
   enabled only in dev-focus-card, where the data table owns the scroll area. */
.dev-tab-card:not(.dev-focus-card) > .dev-tab-card-head{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  background:#fff!important;
}
.dev-tab-card:not(.dev-focus-card) > .dev-tabs{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  background:#fff!important;
}
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content{
  overflow:visible!important;
}
/* In focus/edit mode, keep the technical title + tabs outside the scrolling
   data viewport and keep only the table column headings sticky at top:0. */
.dev-focus-card > .dev-tab-content.dev-grid-mode > .table-card{
  overflow:auto!important;
  contain:layout paint;
}
.dev-focus-card > .dev-tab-content.dev-grid-mode > .table-card > .dev-data-grid tr:first-child th{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
  background:#eaf0f7!important;
}

/* ODS V122 — development project expanded-profile scroll fix
   The technical-section title must NEVER be sticky during normal whole-page
   scrolling. Sticky column headers are used only in collapsed/focus mode,
   where the technical editor owns its own scroll viewport. */
.dev-tab-card > .dev-tab-card-head{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:1!important;
  transform:none!important;
}
.dev-tab-card:not(.dev-focus-card){
  overflow:visible!important;
}
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
}
.dev-tab-card:not(.dev-focus-card) .dev-data-grid tr:first-child th{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
}
/* Collapsed/focus mode: card header and tabs remain outside the data scroller;
   only the table column heading sticks inside the table's own viewport. */
.dev-focus-card > .dev-tab-card-head{
  position:relative!important;
  top:auto!important;
  z-index:30!important;
}
.dev-focus-card > .dev-tab-content.dev-grid-mode > .table-card > .dev-data-grid tr:first-child th{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
}

.modal:has(.reco-panel) .modal-card{width:min(920px,calc(100vw - 40px))!important;max-width:none!important;max-height:calc(100vh - 32px)!important;display:flex;flex-direction:column}.modal:has(.reco-panel) #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important}.reco-preview-area{padding-bottom:2px}
@media(max-width:700px){.modal:has(.reco-panel) .modal-card{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}.reco-action-tip{display:none}}


/* V125 - HRA compliance certificates / calibration */
.kpi-row.compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}.kpi-row.compact .kpi{min-height:72px;padding:12px 16px;border:1px solid #dfe6f2;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between}.kpi-row.compact .kpi span{color:#738099;font-size:14px}.kpi-row.compact .kpi b{font-size:24px;color:#1d2b45}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-weight:700;font-size:12px;background:#eef2f7;color:#4a5870;white-space:nowrap}.status-pill.success{background:#e9f8ef;color:#198754}.status-pill.warning{background:#fff4d8;color:#a56400}.status-pill.danger{background:#fde9e7;color:#ba2d1f}.compliance-edit-modal .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compliance-edit-modal .span3{grid-column:1/-1}.compliance-files{display:flex;flex-direction:column;gap:16px}.file-list{border:1px solid #e0e6ef;border-radius:12px;overflow:hidden}.file-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #e9edf3}.file-row:last-child{border-bottom:0}.file-row a{color:#315fd8;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row small{color:#7c8799;text-align:right}.file-upload-line{display:flex;gap:12px;align-items:center}.file-upload-line input{flex:1}.table-card .table td,.table-card .table th{vertical-align:middle}.table-card .table th{white-space:nowrap}
@media(max-width:1100px){.compliance-edit-modal .form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.compliance-edit-modal .span3{grid-column:1/-1}}@media(max-width:760px){.kpi-row.compact{grid-template-columns:1fr}.compliance-edit-modal .form-grid.three{grid-template-columns:1fr}.compliance-edit-modal .span2,.compliance-edit-modal .span3{grid-column:auto}.file-row{grid-template-columns:minmax(0,1fr) auto}.file-row small{display:none}}

/* V128 - HRA compliance records */
.compliance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 14px}.compliance-kpis>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 14px;border:1px solid var(--border,#dbe3ef);border-radius:14px;background:#fff}.compliance-kpis span{color:#64748b;font-size:14px}.compliance-kpis b{font-size:24px;color:#172033}.danger-text{color:#c2410c!important}.compliance-table th,.compliance-table td{white-space:nowrap}.compliance-table td:nth-child(2){white-space:normal;min-width:180px}.audit-detail-modal{min-width:min(1180px,86vw)}.audit-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--border,#dbe3ef)}.audit-detail-head span,.audit-detail-head small{color:#64748b}.audit-detail-head h2{margin:4px 0;font-size:24px}.audit-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.audit-meta-grid>div{padding:10px 12px;border:1px solid var(--border,#dbe3ef);border-radius:12px;background:#f8fafc}.audit-meta-grid span{display:block;color:#64748b;font-size:13px;margin-bottom:4px}.audit-meta-grid b{color:#172033}.section-title-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 10px}.section-title-line h3{margin:0 0 2px}.section-title-line p{margin:0;color:#718096}.audit-findings-wrap{max-height:48vh;overflow:auto}.finding-desc{white-space:normal!important;min-width:260px;max-width:420px}.badge.danger{background:#fee2e2;color:#b91c1c}.badge.info{background:#e0f2fe;color:#0369a1}.badge.muted{background:#eef2f7;color:#64748b}.audit-record-modal textarea,.audit-finding-modal textarea{min-height:82px;resize:vertical}
@media(max-width:1050px){.compliance-kpis,.audit-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-detail-modal{min-width:0}}

/* V129 - compliance certificate/calibration summary layout fix */
.compliance-summary{margin-top:10px!important;margin-bottom:12px!important}
.compliance-summary .kpi{min-height:58px!important;padding:8px 14px!important;border-radius:12px!important;background:#fff!important}
.compliance-summary .kpi span{font-size:13px!important;color:#6f7d95!important}
.compliance-summary .kpi b{font-size:22px!important;line-height:1!important;color:#1b2942!important}
@media(max-width:900px){.compliance-summary{grid-template-columns:repeat(3,minmax(120px,1fr))!important;overflow-x:auto}.compliance-summary .kpi{min-width:120px}}


/* V130 投诉索赔 */
.claim-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:10px}.claim-kpi-text{font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.claim-filter{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(150px,.8fr) minmax(160px,.9fr) minmax(140px,.7fr) auto auto;gap:10px;align-items:end;margin-bottom:12px}.claim-filter input,.claim-filter select{min-width:0}.claim-table-wrap{max-height:calc(100vh - 410px);min-height:240px}.claim-table{min-width:1500px}.claim-table th{position:sticky;top:0;z-index:2}.claim-table td small{display:block;color:#7c8aa3;margin-top:3px}.money-cell{font-weight:700;color:#a95100}.claim-detail-modal{min-width:min(1500px,88vw)}.claim-detail-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding-bottom:14px;margin-bottom:14px}.claim-detail-head h2{margin:4px 0}.claim-detail-head p,.claim-detail-head small{color:#718096}.claim-detail-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.claim-detail-kpis>div{background:#f7f9fc;border:1px solid #e1e7f0;border-radius:12px;padding:10px 14px}.claim-detail-kpis span{display:block;color:#72809a;font-size:13px}.claim-detail-kpis b{display:block;margin-top:4px;font-size:18px}.claim-items-wrap{max-height:47vh}.claim-items-wrap table{min-width:1600px}.claim-reason{min-width:220px;white-space:normal!important}.claim-follow-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.claim-follow-grid>div{border:1px solid #e1e7f0;background:#fafbfd;border-radius:12px;padding:12px}.claim-follow-grid span{font-size:13px;color:#72809a}.claim-follow-grid p{margin:5px 0 0;white-space:pre-wrap}.claim-item-modal{min-width:min(1500px,88vw)}.partner-form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.partner-form-grid.cols-4 .span4{grid-column:span 4}.claim-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-height:58vh;overflow:auto}.claim-file-card{border:1px solid #e1e7f0;border-radius:12px;padding:8px;background:#fff}.claim-file-card img{width:100%;height:140px;object-fit:contain;background:#f7f9fc;border-radius:8px}.claim-file-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0;color:#66758d}.claim-doc-icon{height:140px;background:#f7f9fc;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-decoration:none;font-size:34px}.claim-doc-icon span{font-size:12px;margin-top:6px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.claim-upload-row{display:flex;gap:10px;align-items:center;border-top:1px solid #e1e7f0;margin-top:14px;padding-top:14px}.claim-upload-row input{flex:1}@media(max-width:1200px){.claim-kpis{grid-template-columns:repeat(3,1fr)}.claim-filter{grid-template-columns:1fr 1fr}.claim-detail-kpis{grid-template-columns:repeat(3,1fr)}.partner-form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-form-grid.cols-4 .span3,.partner-form-grid.cols-4 .span4{grid-column:span 2}}
/* V131 投诉索赔：客户 Claim Form 直接导入 */
.claim-head-actions{display:flex;gap:10px;align-items:center}.claim-import-loading{padding:36px 20px;text-align:center;color:#66758d}.claim-import-loading h3{color:#1d2b44;margin:14px 0 6px}.claim-import-loading p{max-width:680px;margin:0 auto;line-height:1.65}.claim-import-preview{min-width:min(1500px,88vw)}.claim-import-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.claim-import-summary>div{border:1px solid #e1e7f0;background:#f8fafc;border-radius:12px;padding:11px 14px;min-width:0}.claim-import-summary span{display:block;color:#75839b;font-size:13px;margin-bottom:4px}.claim-import-summary b{display:block;color:#1c2940;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.claim-import-warn,.claim-import-duplicate{border-radius:10px;padding:10px 13px;margin:10px 0}.claim-import-warn{background:#fff8e6;border:1px solid #f2d58a;color:#8a5b00}.claim-import-duplicate{background:#fff1f0;border:1px solid #f2b7b0;color:#9f2d20;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.claim-import-duplicate label{margin-left:auto;color:#1d2b44;font-weight:600}.claim-import-table-wrap{max-height:45vh}.claim-import-table-wrap table{min-width:1450px}.claim-import-note{margin-top:10px;color:#6d7b92;font-size:13px}.claim-import-actions{position:sticky;bottom:-1px;background:white;border-top:1px solid #e5eaf2;padding-top:12px;z-index:3}@media(max-width:1000px){.claim-import-summary{grid-template-columns:1fr 1fr}.claim-head-actions{flex-wrap:wrap}}


/* V133 account nature + hierarchical role permissions */
.account-rule-note{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px solid #dbe4ef;border-radius:12px;padding:10px 14px;margin:0 0 12px;color:#475569}.account-rule-note b{color:#0f172a}.account-type{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-weight:700;font-size:12px}.account-type.personal{background:#eef2ff;color:#3730a3}.account-type.position{background:#ecfdf5;color:#047857}.handover-badge{display:inline-flex;margin-left:5px;border-radius:999px;padding:3px 7px;background:#fff7ed;color:#c2410c;font-size:11px;font-weight:700}.account-type-help{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.account-type-help b{color:#0f172a;margin-right:4px}.modal-card-user-account{width:min(820px,calc(100vw - 40px))!important;max-width:none!important}
.modal-card-role-permissions{width:min(1080px,calc(100vw - 36px))!important;max-width:none!important;max-height:calc(100vh - 24px)!important;display:flex!important;flex-direction:column!important}.modal-card-role-permissions #modalBody{flex:1 1 auto;min-height:0;overflow:hidden!important;padding:0!important}.role-permission-modal{height:100%;display:flex;flex-direction:column;min-height:0}.role-basic{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:14px 18px 8px}.role-basic label{margin:0}.perm-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:8px;padding:6px 18px}.perm-toolbar input{min-width:0}.perm-tip{margin:0 18px 8px;padding:9px 11px;border-radius:9px;background:#eff6ff;color:#475569;font-size:13px}.permission-tree{flex:1 1 auto;min-height:0;overflow:auto;padding:0 18px 12px}.perm-module{border:1px solid #dbe3ee;border-radius:12px;background:#fff;margin-bottom:9px;overflow:hidden}.perm-module-head{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;border:0;background:#f8fafc;padding:11px 13px;text-align:left;color:#0f172a;cursor:pointer}.perm-module-head b{font-size:16px}.perm-chevron{font-size:24px;line-height:1;transform:rotate(0);transition:.15s;color:#64748b}.perm-module.open .perm-chevron{transform:rotate(90deg)}.perm-count{font-style:normal;color:#64748b;font-size:12px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:2px 8px}.perm-select-all,.perm-subgroup-head label{display:flex!important;align-items:center;gap:6px;margin:0!important;white-space:nowrap;font-size:13px;font-weight:600}.perm-select-all input,.perm-subgroup-head input,.perm-item input{width:auto!important}.perm-module-body{display:none;padding:10px}.perm-module.open .perm-module-body{display:block}.perm-subgroup{border:1px solid #edf2f7;border-radius:10px;margin-bottom:8px;overflow:hidden}.perm-subgroup:last-child{margin-bottom:0}.perm-subgroup-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#fbfdff;border-bottom:1px solid #edf2f7}.perm-subgroup-head b{font-size:14px}.perm-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px}.perm-item{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;border:1px solid #e5eaf1;border-radius:8px;padding:8px 9px;min-width:0;cursor:pointer;background:#fff}.perm-item:hover{border-color:#b8c7f8;background:#f8faff}.perm-item span{min-width:0}.perm-item b{display:block;font-size:13px;color:#172033;overflow-wrap:anywhere}.perm-item small{display:block;color:#8491a6;font-size:10px;margin-top:2px;overflow-wrap:anywhere}.role-savebar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-top:1px solid #e5e7eb;background:#fff}.role-savebar span{color:#64748b;font-weight:700}
@media(max-width:820px){.role-basic{grid-template-columns:1fr}.perm-toolbar{grid-template-columns:1fr 1fr}.perm-toolbar input{grid-column:1/-1}.perm-items{grid-template-columns:1fr 1fr}.modal-card-role-permissions{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important}}@media(max-width:560px){.perm-items{grid-template-columns:1fr}.perm-module-head{grid-template-columns:auto 1fr auto}.perm-select-all{grid-column:2/-1}.perm-toolbar{grid-template-columns:1fr}.perm-toolbar input{grid-column:auto}}

/* V134 role permission modal scrolling fix */
.modal-card-role-permissions{
  height:calc(100vh - 24px)!important;
  max-height:calc(100vh - 24px)!important;
}
.modal-card-role-permissions #modalBody{
  display:flex!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.modal-card-role-permissions .role-permission-modal{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.modal-card-role-permissions .permission-tree{
  flex:1 1 0!important;
  min-height:120px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.modal-card-role-permissions .role-savebar{
  position:sticky;
  bottom:0;
  z-index:8;
}
@media(max-height:720px){
  .modal-card-role-permissions{height:calc(100vh - 12px)!important;max-height:calc(100vh - 12px)!important}
  .role-basic{padding-top:8px;padding-bottom:4px}
  .perm-tip{padding-top:6px;padding-bottom:6px;margin-bottom:5px}
}


/* V135 organization responsibility configuration */
.modal-card-org-responsibility{width:min(1180px,94vw);height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden}
.modal-card-org-responsibility .modal-body{min-height:0;overflow:auto}
.org-resp-modal{display:flex;flex-direction:column;gap:14px;min-height:0}
.org-resp-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.org-resp-list{max-height:340px;overflow:auto}
.org-resp-list thead th{position:sticky;top:0;z-index:2;background:var(--table-head,#eef3f8)}
.inline-actions{justify-content:flex-end;margin-top:0}
@media(max-width:900px){.org-resp-form{grid-template-columns:1fr}.org-resp-form .span-2{grid-column:auto}.modal-card-org-responsibility{width:96vw;height:92vh}}

/* V137 collapsed sidebar navigation */
.collapsed .side-nav{overflow:visible}
.collapsed .group-btn,.collapsed .menu-btn{position:relative}
.collapsed .group-btn:hover,.collapsed .menu-btn:hover{background:rgba(255,255,255,.12)}
.collapsed-side-flyout{position:fixed;z-index:120;width:238px;max-height:calc(100vh - 96px);overflow:auto;background:#fff;border:1px solid #dfe5ee;border-radius:13px;box-shadow:0 16px 38px rgba(18,31,53,.22);padding:8px;color:#1c2b42}
.collapsed-flyout-title{display:flex;align-items:center;gap:9px;padding:10px 11px;border-bottom:1px solid #edf1f6;margin-bottom:5px;font-size:15px}
.collapsed-flyout-title .menu-ico{color:var(--blue)}
.collapsed-flyout-items{display:grid;gap:3px}
.collapsed-flyout-items button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:9px;color:#24344d;font-weight:650;cursor:pointer}
.collapsed-flyout-items button:hover{background:#eef3ff;color:#315ee8}
.collapsed .menu-ico{width:24px;height:24px}
.collapsed .menu-ico svg{width:21px;height:21px}


/* V138 supplier legal-document qualification control */
.supplier-profile-modal .supplier-hold-alert{display:flex;flex-direction:column;gap:5px;margin:10px 0 14px;padding:12px 14px;border:1px solid #fecaca;background:#fff1f2;border-radius:12px;color:#991b1b}
.supplier-profile-modal .supplier-hold-alert span{font-size:13px;line-height:1.5}
.danger-text{color:#b42318}
.supplier-doc-title>div{display:flex;flex-direction:column;gap:3px}.supplier-doc-title small{font-weight:400;color:#7b8aa0}
.supplier-doc-upload{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr auto auto 120px 1.5fr auto;gap:10px;align-items:end;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px}
.supplier-doc-upload label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#64748b;min-width:0}.supplier-doc-upload input,.supplier-doc-upload select{width:100%;min-height:38px;border:1px solid #d8e1ef;border-radius:9px;padding:7px 10px;background:#fff;color:#17233a}
.supplier-doc-upload .supplier-doc-check{flex-direction:row;align-items:center;gap:6px;white-space:nowrap;min-height:38px}.supplier-doc-upload .supplier-doc-check input{width:auto;min-height:0}
.supplier-doc-upload .supplier-doc-file input{padding:5px}.supplier-doc-upload .input-suffix{position:absolute;pointer-events:none}.supplier-doc-table{overflow-x:auto}.supplier-doc-table table{min-width:980px}.supplier-doc-table td small{display:block;color:#8a98ad;margin-top:3px}
.supplier-doc-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.supplier-doc-badge.ok{background:#e9f8ef;color:#19733a}.supplier-doc-badge.warn{background:#fff5d9;color:#9a6500}.supplier-doc-badge.bad{background:#feeceb;color:#b42318}.supplier-doc-badge.muted{background:#eef2f7;color:#667085}
@media(max-width:1500px){.supplier-doc-upload{grid-template-columns:repeat(4,minmax(150px,1fr))}.supplier-doc-upload .supplier-doc-check,.supplier-doc-upload .supplier-doc-file,.supplier-doc-upload button{align-self:end}}
@media(max-width:900px){.supplier-doc-upload{grid-template-columns:1fr 1fr}}


/* V139 collapsed sidebar: consistent workspace navigation */
.collapsed .menu-btn .menu-ico{display:inline-flex!important;color:#d7deeb!important;opacity:1!important}
.collapsed .menu-btn.active .menu-ico,.collapsed .menu-btn:hover .menu-ico{color:#fff!important}
.collapsed .menu-btn .menu-ico svg{display:block!important;visibility:visible!important}
.subgroup-workspace-grid .subgroup-card{display:flex;align-items:center;gap:14px;text-align:left}
.subgroup-workspace-grid .subgroup-card>.menu-ico{width:42px;height:42px;border-radius:12px;background:#eef3ff;color:var(--blue);padding:10px;flex:0 0 42px}
.subgroup-workspace-grid .subgroup-card>.menu-ico svg{width:22px;height:22px}
.subgroup-workspace-grid .subgroup-card h3{margin:0 0 5px}
.subgroup-workspace-grid .subgroup-card p{margin:0;color:var(--muted)}

/* V140 employee credential validity + rehire restriction */
.status-danger-text{color:#b42318}.status-ok-text{color:#067647}.doc-critical{display:inline-block;margin-right:8px;padding:2px 7px;border-radius:999px;background:#fff1f0;color:#b42318;font-size:12px;font-weight:700}.employee-restriction-list{display:grid;gap:8px;margin-bottom:18px}.restriction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dfe6f0;border-radius:12px;background:#f8fafc}.restriction-row.active{border-color:#f3b6b1;background:#fff7f6}.restriction-row>div{display:grid;gap:3px}.restriction-row small{color:#718096}.warning-box,.onboarding-blocked{padding:12px 14px;border-radius:12px;background:#fff4e5;border:1px solid #f6c978;color:#7a4d00;margin-bottom:14px}.onboarding-blocked{background:#fff1f0;border-color:#f2b8b5;color:#a61b13;display:grid;gap:4px}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input{width:auto!important}


/* V141 employee document / restriction modal layout fix */
.modal-card-employee-form{
  width:min(760px,calc(100vw - 40px))!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
}
.modal-card-employee-form #modalBody{
  flex:1 1 auto;
  min-height:0;
  overflow:auto!important;
  padding:0!important;
}
.employee-doc-upload,.employee-restriction-modal,.employee-terminate-modal{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 18px 16px;
  box-sizing:border-box;
}
.employee-doc-upload .form-grid,.employee-restriction-modal .form-grid,.employee-terminate-modal .form-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px 14px;
  align-items:start;
}
.employee-doc-upload .form-grid label,.employee-restriction-modal .form-grid label,.employee-terminate-modal .form-grid label{
  display:flex!important;
  flex-direction:column;
  gap:6px;
  margin:0!important;
  min-width:0;
  color:#64748b;
  font-size:13px;
}
.employee-doc-upload .form-grid input,.employee-doc-upload .form-grid select,.employee-doc-upload .form-grid textarea,.employee-restriction-modal .form-grid input,.employee-restriction-modal .form-grid select,.employee-restriction-modal .form-grid textarea,.employee-terminate-modal .form-grid input,.employee-terminate-modal .form-grid select,.employee-terminate-modal .form-grid textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:40px;
  padding:9px 12px;
  border:1px solid #d7deea;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  margin:0!important;
}
.employee-doc-upload .form-grid textarea,.employee-restriction-modal .form-grid textarea,.employee-terminate-modal .form-grid textarea{
  min-height:92px;
  resize:vertical;
}
.employee-doc-upload .form-grid .span2,.employee-restriction-modal .form-grid .span2,.employee-terminate-modal .form-grid .span2{
  grid-column:1 / -1!important;
}
.employee-doc-upload .checkbox-line{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px;
  padding:2px 0;
}
.employee-doc-upload .checkbox-line input{
  width:auto!important;
  min-height:auto!important;
  margin-top:2px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
.employee-doc-upload input[type="file"]{
  padding:8px 10px;
}
.employee-doc-upload .file-help{
  margin:2px 0 0;
  font-size:12px;
  color:#64748b;
}
.employee-restriction-modal .warning-box{
  margin:2px 0 4px;
  padding:14px 16px;
  border-radius:12px;
  background:#fff8e8;
  border:1px solid #f2c26e;
  color:#8a5a00;
  line-height:1.55;
}
.employee-doc-upload .modal-actions,.employee-restriction-modal .modal-actions,.employee-terminate-modal .modal-actions{
  position:sticky;
  bottom:-1px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:0;
  padding-top:12px;
  border-top:1px solid #e7ebf1;
  background:#fff;
  z-index:2;
}
@media(max-width:700px){
  .modal-card-employee-form{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;}
  .employee-doc-upload,.employee-restriction-modal,.employee-terminate-modal{padding:12px 14px 14px;}
  .employee-doc-upload .form-grid,.employee-restriction-modal .form-grid,.employee-terminate-modal .form-grid{grid-template-columns:1fr!important;}
  .employee-doc-upload .form-grid .span2,.employee-restriction-modal .form-grid .span2,.employee-terminate-modal .form-grid .span2{grid-column:span 1!important;}
}


/* V143 employee profile summary card */
.employee-profile-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:stretch;padding:14px 16px;margin-bottom:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.employee-profile-photo{width:118px;height:146px;border-radius:12px;overflow:hidden;background:#f3f6fa;border:1px solid #e2e8f0;display:grid;place-items:center}.employee-profile-photo img{width:100%;height:100%;object-fit:cover;display:block}.employee-photo-placeholder{font-size:38px;font-weight:800;color:#94a3b8}.employee-profile-main{min-width:0}.employee-profile-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:10px;border-bottom:1px solid #eef2f6}.employee-profile-title h2{margin:0;color:#14213a;font-size:24px;line-height:1.2}.employee-profile-title p{margin:5px 0 0;color:#718096;font-size:13px}.employee-id-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;background:#f3f6fa;color:#66758d;font-size:12px;font-weight:700}.employee-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;margin-top:5px}.employee-profile-grid>div{padding:9px 0;border-bottom:1px solid #f1f5f9;min-width:0}.employee-profile-grid span{display:block;color:#7a879b;font-size:12px;margin-bottom:3px}.employee-profile-grid b{display:block;color:#18243a;font-size:14px;overflow-wrap:anywhere}.employee-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.employee-contact-grid>div:first-child{grid-column:span 2}.employee-contact-grid small{display:block;margin-top:3px;color:#b42318;font-size:11px}.employee-detail .employee-profile-card+.detail-grid{margin-top:0}@media(max-width:760px){.employee-profile-card{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}.employee-profile-photo{width:92px;height:116px}.employee-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-profile-title{flex-direction:column;gap:6px}.employee-contact-grid{grid-template-columns:1fr}.employee-contact-grid>div:first-child{grid-column:span 1}}@media(max-width:520px){.employee-profile-card{grid-template-columns:1fr}.employee-profile-photo{width:96px;height:118px}.employee-profile-grid{grid-template-columns:1fr}}

/* V144 third-party account types */
.account-type.external{background:#eef4ff;color:#2453c6;border:1px solid #cad9ff}
.handover-badge.danger{background:#fff0ee;color:#b42318;border-color:#f1c0ba}
.user-account-table small{display:block;color:#7b8798;margin-top:2px;font-size:11px}
.modal-card-user-account{width:min(820px,calc(100vw - 40px))!important;max-width:none!important}
.user-account-modal .form-grid .span2{grid-column:1/-1}
.user-account-modal .hidden{display:none!important}
@media(max-width:700px){.modal-card-user-account{width:calc(100vw - 20px)!important}.user-account-modal .form-grid .span2{grid-column:span 1}}

/* V146 system configuration center */
.syscfg-tabs{display:flex;gap:8px;margin:0 0 14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:8px;overflow-x:auto}.syscfg-tabs button{border:0;background:#f3f6fa;color:#334155;font-weight:700;padding:10px 18px;border-radius:10px;cursor:pointer;white-space:nowrap}.syscfg-tabs button.active{background:#4f70ff;color:#fff}.syscfg-body{min-height:420px}.syscfg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;margin-bottom:12px}.syscfg-toolbar>div:first-child{display:flex;flex-direction:column;gap:4px}.syscfg-toolbar>div:last-child{display:flex;gap:8px}.syscfg-toolbar b{font-size:18px}.syscfg-toolbar span{color:#64748b;font-size:13px}.syscfg-menu-tree{display:flex;flex-direction:column;gap:7px}.syscfg-menu-row{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,.65fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;padding-left:calc(12px + var(--depth,0) * 28px)}.syscfg-menu-row.disabled{opacity:.58}.syscfg-menu-name{display:grid;grid-template-columns:88px auto 1fr;align-items:center;gap:10px;min-width:0}.syscfg-menu-name b{font-size:15px}.syscfg-menu-name small{color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.syscfg-level{font-size:11px;border-radius:999px;background:#eef2ff;color:#4057c8;padding:4px 8px;text-align:center}.syscfg-menu-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#64748b}.syscfg-menu-meta code{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:5px 7px}.syscfg-row-actions{display:flex;gap:6px;white-space:nowrap}.syscfg-modal{padding:2px 6px 10px}.syscfg-modal.wide{min-width:min(980px,82vw)}.syscfg-field-head{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px;padding-top:12px;border-top:1px solid #e5e7eb}.syscfg-fields{display:flex;flex-direction:column;gap:7px}.syscfg-field-row{display:grid;grid-template-columns:1.2fr 1fr 130px 1fr 88px auto;gap:7px;align-items:center;border:1px solid #e3e8f0;border-radius:10px;padding:8px;background:#fafcff}.syscfg-field-row input,.syscfg-field-row select{width:100%;min-width:0;box-sizing:border-box;padding:8px 9px;border:1px solid #d7dfeb;border-radius:8px;background:#fff}.syscfg-option-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.syscfg-option-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.syscfg-option-card>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e8edf4}.syscfg-option-card>div code{margin-left:auto;color:#64748b;background:#f8fafc;border-radius:6px;padding:3px 7px}.syscfg-option-card .table{min-width:0}.configurable-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}
@media(max-width:1000px){.syscfg-menu-row{grid-template-columns:1fr}.syscfg-menu-meta{justify-content:flex-start}.syscfg-option-groups{grid-template-columns:1fr}.syscfg-field-row{grid-template-columns:1fr 1fr}.syscfg-modal.wide{min-width:0}}


/* V147 Knowledge Base */
.kb-head-actions{display:flex;gap:8px;align-items:center}.kb-search{min-width:320px;border:1px solid #d9e1ec;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.kb-shelf-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin:8px 0 18px}.kb-shelf-toolbar>div{display:flex;flex-direction:column;gap:3px}.kb-shelf-toolbar b{font-size:28px}.kb-shelf-toolbar span{color:#718096}.kb-shelf-toolbar label{display:flex;gap:8px;align-items:center}.kb-shelf-toolbar select{border:1px solid #d8e0eb;border-radius:9px;padding:8px 10px;background:#fff}.kb-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 34px}.kb-shelf-card{border:1px solid #dce3ed;border-radius:12px;background:#fff;overflow:hidden;text-align:left;padding:0;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:.18s transform,.18s box-shadow}.kb-shelf-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.1)}.kb-cover{height:205px;position:relative;overflow:hidden;padding:22px 24px;box-sizing:border-box;color:#fff;background:linear-gradient(135deg,#5778ff,#2949b8)}.kb-cover-grid{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(to bottom right,black,transparent 70%)}.kb-cover-word{position:relative;font-size:43px;line-height:.95;font-weight:900;letter-spacing:-1px;text-shadow:0 2px 8px rgba(0,0,0,.1);white-space:normal}.kb-cover-sub{position:absolute;left:26px;bottom:26px;font-size:24px;font-weight:800}.kb-cover-book{position:absolute;right:24px;bottom:19px;font-size:56px;opacity:.25;transform:rotate(-5deg)}.kb-cover-orange .kb-cover{background:linear-gradient(135deg,#ff9c3d,#d96900)}.kb-cover-blue .kb-cover{background:linear-gradient(135deg,#6d8cff,#3155c7)}.kb-cover-teal .kb-cover{background:linear-gradient(135deg,#71c9bd,#278f82)}.kb-cover-green .kb-cover{background:linear-gradient(135deg,#4aa76a,#146238)}.kb-cover-navy .kb-cover{background:linear-gradient(135deg,#3966d4,#18387b)}.kb-cover-purple .kb-cover{background:linear-gradient(135deg,#8a6dd4,#4d3188)}.kb-card-body{padding:18px 20px 20px;min-height:185px;display:flex;flex-direction:column}.kb-card-body h3{font-size:22px;line-height:1.35;margin:0 0 8px;color:#172033}.kb-card-body p{color:#7b8799;line-height:1.55;margin:0}.kb-card-meta{margin-top:auto;display:flex;flex-direction:column;gap:6px;color:#667085;font-size:13px}.kb-breadcrumb{display:flex;gap:10px;align-items:center;color:#718096;margin:0 0 12px}.kb-list-toolbar{display:flex;gap:10px;margin-bottom:14px}.kb-list-toolbar select{border:1px solid #d9e1ec;border-radius:10px;padding:9px 12px;background:#fff}.kb-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kb-doc-card{border:1px solid #dfe5ee;border-radius:14px;background:#fff;overflow:hidden}.kb-doc-open{display:block;width:100%;border:0;background:#fff;text-align:left;padding:18px;cursor:pointer}.kb-doc-open:hover{background:#fafcff}.kb-doc-type{font-size:11px;font-weight:800;letter-spacing:.08em;color:#4f70ff}.kb-doc-open h3{font-size:19px;margin:8px 0 5px}.kb-doc-open p{color:#7b8798;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-doc-meta{display:flex;gap:9px;align-items:center;padding:10px 16px;border-top:1px solid #edf1f5;color:#667085;font-size:12px}.kb-status{padding:3px 7px;border-radius:999px;background:#eef2f7}.kb-status.effective{background:#e8f7ee;color:#16794b}.kb-status.pending{background:#fff4d8;color:#9a6200}.kb-status.archived{background:#f1f1f3;color:#7a7a82}.kb-reader-page{max-width:1500px;margin:0 auto}.kb-reader-breadcrumb{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:#7c8798}.kb-reader-breadcrumb button{border:0;background:transparent;color:#5074a7;cursor:pointer;padding:0}.kb-reader-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.kb-reader-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.kb-toc{position:sticky;top:86px;max-height:calc(100vh - 110px);overflow:auto;padding:8px 8px 20px}.kb-toc h3{font-size:23px;font-weight:500;margin:0 0 12px;color:#5d6675}.kb-toc-item{width:100%;position:relative;border:0;background:transparent;text-align:left;color:#6c96c8;padding:6px 8px 6px 24px;cursor:pointer;font-size:14px;line-height:1.35}.kb-toc-item.l2{padding-left:38px}.kb-toc-item.l3{padding-left:54px;font-size:13px}.kb-toc-dot{position:absolute;left:4px;top:13px;width:7px;height:7px;border-radius:50%;background:#d8dde6}.kb-toc-item:before{content:'';position:absolute;left:7px;top:0;bottom:0;width:1px;background:#e4e8ee}.kb-toc-item.active{color:#3269ad;font-weight:800}.kb-toc-item.active .kb-toc-dot{background:#5b9bd5}.kb-reader-paper{background:#fff;border:1px solid #e2e7ee;border-radius:14px;box-shadow:0 2px 12px rgba(15,23,42,.05);padding:62px 68px;min-height:720px}.kb-reader-paper header{padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #edf0f4}.kb-reader-paper header h1{font-size:48px;line-height:1.15;margin:5px 0 8px;color:#1f1f24}.kb-reader-paper header h2{font-size:22px;color:#697386;font-weight:500;margin:0}.kb-doc-kicker{color:#5476a6;font-weight:800}.kb-doc-info{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;color:#7b8798;font-size:13px}.kb-reader-content{font-size:17px;line-height:1.95;color:#333}.kb-reader-content p{margin:8px 0}.kb-reader-heading{scroll-margin-top:96px;color:#1f2126}.kb-reader-heading.level-1{font-size:35px;margin:38px 0 16px}.kb-reader-heading.level-2{font-size:25px;margin:28px 0 12px}.kb-reader-heading.level-3{font-size:20px;margin:22px 0 8px}.kb-reader-content ul,.kb-reader-content ol{padding-left:28px}.kb-para-gap{height:8px}.kb-category-admin{display:flex;flex-direction:column;gap:9px}.kb-category-row{display:grid;grid-template-columns:150px minmax(0,1fr) 100px auto;align-items:center;gap:16px;background:#fff;border:1px solid #e1e6ee;border-radius:13px;padding:12px}.kb-category-swatch{padding:16px;border-radius:10px;color:#fff;font-weight:900;text-align:center;background:#5778ff}.kb-category-swatch.kb-cover-orange{background:#dc750f}.kb-category-swatch.kb-cover-teal{background:#2f978a}.kb-category-swatch.kb-cover-green{background:#257545}.kb-category-swatch.kb-cover-navy{background:#29498e}.kb-category-swatch.kb-cover-purple{background:#5a3b92}.kb-category-row p{margin:4px 0 0;color:#7b8798}.kb-edit-modal,.kb-document-edit{padding:4px 6px 10px}.modal-card-kb-document{width:min(1180px,calc(100vw - 36px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}.modal-card-kb-document #modalBody{overflow:auto!important;min-height:0}.kb-document-edit .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kb-document-edit .span2{grid-column:span 2}.kb-editor-section{margin-top:16px}.kb-editor-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.kb-editor-label span{color:#758197;font-size:13px}.kb-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid #dfe5ee;border-bottom:0;border-radius:10px 10px 0 0;background:#f8fafc}.kb-editor-toolbar button{border:1px solid #d8e0ec;border-radius:7px;background:#fff;padding:7px 10px;cursor:pointer;font-weight:700}.kb-editor-textarea{width:100%;box-sizing:border-box;min-height:430px;border:1px solid #dfe5ee;border-radius:0 0 10px 10px;padding:18px;font:15px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.kb-editor-preview{min-height:430px;border:1px solid #dfe5ee;border-radius:0 0 10px 10px;padding:28px;background:#fff;font-size:16px;line-height:1.8}.kb-editor-preview h2{font-size:28px}.kb-editor-preview h3{font-size:22px}.kb-editor-preview h4{font-size:18px}.kb-toc-mobile{display:none}
@media(max-width:1100px){.kb-shelf,.kb-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-reader-layout{grid-template-columns:220px minmax(0,1fr)}.kb-reader-paper{padding:44px 42px}.kb-document-edit .form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kb-head-actions{width:100%}.kb-search{min-width:0;flex:1}.kb-shelf,.kb-doc-grid{grid-template-columns:1fr}.kb-reader-layout{display:block}.kb-toc{display:none;position:fixed;z-index:50;left:12px;right:12px;top:90px;max-height:70vh;background:#fff;border:1px solid #dfe5ee;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.18);padding:16px}.kb-toc.mobile-open{display:block}.kb-reader-paper{padding:28px 22px}.kb-reader-paper header h1{font-size:34px}.kb-reader-heading.level-1{font-size:28px}.kb-document-edit .form-grid.three{grid-template-columns:1fr}.kb-document-edit .span2{grid-column:auto}.kb-category-row{grid-template-columns:100px 1fr}.kb-category-row>span,.kb-category-row>button{grid-column:auto}.kb-shelf-toolbar{align-items:flex-start;gap:10px;flex-direction:column}}


/* V148 Knowledge Base unified navigation */
.kb-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-weight:800;color:currentColor;font-size:16px;}
.kb-add-subcategory{border-style:dashed!important;}
.kb-category-row>span{white-space:nowrap;color:#64748b;font-size:13px;}
@media(max-width:900px){.kb-head-actions{width:100%;}.kb-head-actions .kb-search{min-width:0;flex:1;}}


/* V149 Knowledge Base category management: unified platform style, no per-category colors */
.kb-category-code{
  min-width:150px;
  padding:14px 16px;
  border:1px solid #dfe5ee;
  border-radius:10px;
  background:#f7f9fc;
  color:#24324a;
  font-weight:800;
  text-align:center;
  letter-spacing:.01em;
}
.kb-category-row{background:#fff!important;border:1px solid #e1e6ee!important;box-shadow:none!important;}

/* V150 hierarchical admin accordions: knowledge categories / approval flows / system menu config */
.admin-tree-tools{display:flex;justify-content:flex-end;gap:8px;margin:-2px 0 10px}.admin-tree-list{display:flex;flex-direction:column;gap:10px}.admin-tree-group{background:#fff;border:1px solid #dfe5ee;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.02)}.admin-tree-head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff}.admin-tree-group.open>.admin-tree-head{background:#f8faff}.admin-tree-toggle{flex:1;min-width:0;border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:3px 2px;cursor:pointer;color:#182235}.admin-tree-caret{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;font-size:24px;line-height:1;color:#718096;transition:transform .16s ease}.admin-tree-toggle[aria-expanded="true"]>.admin-tree-caret{transform:rotate(90deg)}.admin-tree-title{display:flex;flex-direction:column;min-width:0;gap:2px}.admin-tree-title b{font-size:16px}.admin-tree-title small{font-size:12px;color:#8a96a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-tree-count{margin-left:auto;font-size:12px;color:#718096;background:#f1f5f9;border-radius:999px;padding:4px 8px;white-space:nowrap}.admin-tree-actions{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#718096;font-size:12px}.admin-tree-actions code{max-width:190px;overflow:hidden;text-overflow:ellipsis;background:#f8fafc;border:1px solid #e3e8ef;border-radius:7px;padding:4px 7px;color:#64748b}.admin-tree-body{border-top:1px solid #e8edf4;padding:8px 10px 10px;background:#fbfcfe}.admin-tree-subgroup{border:1px solid #e3e8ef;border-radius:11px;background:#fff;margin:7px 0;overflow:hidden}.admin-tree-subhead{display:flex;align-items:center;gap:10px;padding:8px 10px}.admin-tree-toggle.sub{font-size:14px}.admin-tree-toggle.sub b{font-size:14px}.admin-tree-toggle.sub small{color:#8b96a8;margin-left:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-tree-subbody{border-top:1px solid #edf1f5;background:#fcfdff;padding:5px}.admin-tree-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border-radius:9px}.admin-tree-row+.admin-tree-row{border-top:1px solid #edf1f5}.admin-tree-row:hover{background:#f8faff}.admin-tree-row>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.admin-tree-row b{font-size:14px}.admin-tree-row small,.admin-tree-muted{font-size:12px;color:#8894a6}.admin-tree-branch{position:relative;width:24px;height:24px}.admin-tree-branch:before{content:'';position:absolute;left:10px;top:-12px;bottom:11px;border-left:1px solid #d8e0ea}.admin-tree-branch:after{content:'';position:absolute;left:10px;top:11px;width:12px;border-top:1px solid #d8e0ea}.admin-tree-empty{padding:18px;text-align:center;color:#94a3b8}.approval-tree-table{margin:0;border:0;border-radius:8px}.approval-tree-table .table{margin:0}.syscfg-tree-row{grid-template-columns:28px minmax(260px,1fr) minmax(220px,auto) auto}.syscfg-tree-row .syscfg-menu-name{grid-template-columns:84px minmax(100px,auto) 1fr}.syscfg-menu-tree .admin-tree-body{padding-left:12px;padding-right:12px}
@media(max-width:1100px){.admin-tree-head,.admin-tree-subhead{align-items:flex-start;flex-wrap:wrap}.admin-tree-actions{width:100%;justify-content:flex-end}.admin-tree-count{margin-left:0}.admin-tree-row,.syscfg-tree-row{grid-template-columns:24px minmax(0,1fr)}.admin-tree-row>.admin-tree-muted,.admin-tree-row>button,.syscfg-tree-row>.syscfg-menu-meta,.syscfg-tree-row>.syscfg-row-actions{grid-column:2}.syscfg-tree-row .syscfg-menu-name{grid-template-columns:80px 1fr}.syscfg-tree-row .syscfg-menu-name small{grid-column:2}.approval-tree-table{overflow:auto}}

/* V151 knowledge base attachments + inline PDF viewer */
.kb-reader-files,.kb-edit-files{margin:18px 0;padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.kb-reader-files-head,.kb-editor-label{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.kb-reader-files-head div,.kb-editor-label{display:flex;flex-direction:column;gap:3px}.kb-reader-files-head span,.kb-editor-label span{font-size:13px;color:#7b8aa0;font-weight:400}
.kb-attachment-list{display:flex;flex-direction:column;gap:8px}.kb-attachment-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.kb-attachment-icon{width:44px;height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#eef3ff;color:#395eea;font-size:11px;font-weight:800}.kb-attachment-main{min-width:0;display:flex;flex-direction:column;gap:2px}.kb-attachment-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-attachment-main span,.kb-attachment-main small{font-size:12px;color:#7b8aa0}.kb-attachment-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.kb-attachment-empty{padding:13px;border:1px dashed #d4dce8;border-radius:10px;color:#8492a6;background:#fff}.kb-file-picker,.kb-file-note{display:flex!important;flex-direction:column;gap:7px;margin-top:10px;color:#64748b}.kb-file-picker input,.kb-file-note input{width:100%;box-sizing:border-box;border:1px solid #d7deea;border-radius:9px;padding:10px 12px;background:#fff}.kb-pdf-preview{height:min(78vh,900px);display:flex;flex-direction:column;gap:10px}.kb-pdf-toolbar{display:flex;justify-content:flex-end;gap:8px}.kb-pdf-preview iframe{width:100%;flex:1;min-height:520px;border:1px solid #dbe2ec;border-radius:10px;background:#f2f4f7}.modal-card-kb-pdf{width:min(1200px,94vw)!important;max-width:none!important;height:min(92vh,980px)!important}.modal-card-kb-pdf #modalBody{height:calc(100% - 58px);overflow:hidden!important;padding:14px!important}
@media(max-width:760px){.kb-attachment-row{grid-template-columns:44px minmax(0,1fr)}.kb-attachment-actions{grid-column:1/-1;justify-content:flex-start}.modal-card-kb-pdf{width:98vw!important;height:96vh!important}.kb-pdf-preview iframe{min-height:420px}}

/* V152 Sample Management */
.sample-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.sample-kpi{background:#fff;border:1px solid #e4e8f0;border-radius:16px;padding:14px 16px}.sample-kpi span{display:block;color:#718096;font-size:13px}.sample-kpi b{display:block;margin-top:3px;font-size:26px;color:#17233b}.danger-text{color:#c0392b!important}.sample-panel{background:#fff;border:1px solid #e4e8f0;border-radius:16px;padding:14px}.sample-filter-row{display:grid;grid-template-columns:minmax(280px,1fr) 240px 180px auto auto;gap:10px;align-items:center;margin-bottom:12px}.sample-filter-row input,.sample-filter-row select{height:42px;border:1px solid #d7deea;border-radius:10px;padding:0 12px;background:#fff}.sample-table-card{overflow:auto}.sample-table-card .table{min-width:1320px}.sample-table-card td{vertical-align:top}.sample-overdue-row td:first-child{border-left:3px solid #e67e22}.status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.neutral{background:#eef2f7;color:#556070}.status-badge.info{background:#eaf1ff;color:#355ec9}.status-badge.warning{background:#fff4d8;color:#a06400}.status-badge.danger{background:#ffe6e3;color:#b42318}.status-badge.success{background:#e4f6ea;color:#237a3b}.sample-order-modal{padding:4px 2px}.sample-items-section{margin-top:16px}.sample-edit-table input{width:100%;min-width:90px;height:38px;border:1px solid #d7deea;border-radius:8px;padding:0 9px;box-sizing:border-box}.sample-note-label{display:flex;flex-direction:column;gap:6px;color:#64748b;margin-top:14px}.sample-note-label textarea{width:100%;box-sizing:border-box;border:1px solid #d7deea;border-radius:10px;padding:10px 12px}.sample-logistics{margin-top:16px}.modal-card-sample-detail{width:min(1180px,calc(100vw - 40px))!important}.sample-detail-modal{min-height:560px}.sample-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:4px 2px 14px;border-bottom:1px solid #e6eaf0}.sample-detail-title{font-size:24px;font-weight:800;color:#17233b}.sample-detail-sub{margin-top:6px;color:#66758d}.sample-detail-tabs{display:flex;gap:6px;overflow:auto;padding:12px 0;border-bottom:1px solid #e6eaf0}.sample-detail-tabs button{border:0;background:#f1f4f8;color:#28364f;padding:10px 14px;border-radius:10px;font-weight:700;white-space:nowrap}.sample-detail-tabs button.active{background:#4f72ff;color:#fff}.sample-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e7ebf2;border:1px solid #e7ebf2;border-radius:12px;overflow:hidden;margin:14px 0}.sample-info-grid>div{background:#fff;padding:13px 15px;min-height:62px}.sample-info-grid>div.wide{grid-column:span 3}.sample-info-grid span{display:block;color:#718096;font-size:12px;margin-bottom:4px}.sample-info-grid b{color:#17233b;white-space:pre-wrap}.sample-logistics-view{margin-top:12px;padding:12px 14px;border-radius:10px;background:#f7f9fc;color:#526077}.sample-record-list{display:grid;gap:12px;margin-top:12px}.sample-record-list article{border:1px solid #e3e8f0;border-radius:14px;padding:14px 16px;background:#fff}.record-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f5;padding-bottom:9px;margin-bottom:10px}.record-head b{font-size:15px}.record-head span{color:#718096}.record-head em{margin-left:auto;font-style:normal;font-weight:700;color:#355ec9}.record-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}.record-three>div{background:#f7f9fc;border-radius:10px;padding:10px}.record-three small{display:block;color:#7a879a;margin-bottom:4px}.sample-sync-note{padding:12px 14px;background:#eef4ff;border:1px solid #cfdcff;border-radius:10px;color:#3f5d98;margin-bottom:14px}.sample-file-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sample-file-chips a{padding:6px 9px;border-radius:8px;background:#eef2f7;color:#34435d;text-decoration:none}.sample-file-list{display:grid;gap:8px;margin-top:12px}.sample-file-list>div{display:grid;grid-template-columns:130px minmax(0,1fr) 190px auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e4e8f0;border-radius:10px}.sample-file-list a{color:#355ec9;text-decoration:none}.sample-file-list small{color:#7a879a}.sample-sub-modal{padding:2px}.sample-sub-modal .form-grid textarea{width:100%;box-sizing:border-box}.checkbox-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}
@media(max-width:900px){.sample-kpi-row{grid-template-columns:repeat(2,1fr)}.sample-filter-row{grid-template-columns:1fr}.sample-info-grid{grid-template-columns:1fr}.sample-info-grid>div.wide{grid-column:span 1}.record-three{grid-template-columns:1fr}.sample-file-list>div{grid-template-columns:1fr}.modal-card-sample-detail{width:calc(100vw - 20px)!important}}
.sample-sync-badge{display:inline-flex;padding:2px 7px;border-radius:999px;background:#eaf1ff;color:#355ec9;font-size:11px;font-weight:700}.sample-sub-modal input[type=file]{width:100%;min-height:42px;border:1px solid #d7deea;border-radius:9px;padding:7px 9px;box-sizing:border-box;background:#fff}


/* V153 Development style sample timeline */
.dev-sample-timeline-card{margin:16px 0;background:#fff;border:1px solid #dfe5ee;border-radius:18px;padding:18px 20px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.dev-sample-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.dev-sample-timeline-head>div:first-child{display:flex;flex-direction:column;gap:4px}.dev-sample-timeline-head b{font-size:18px;color:#1e293b}.dev-sample-timeline-head span{font-size:13px;color:#8492a6}.dev-sample-timeline-summary{white-space:nowrap;background:#f4f7fb;border-radius:10px;padding:8px 12px;color:#52627a;font-size:13px}
.dev-sample-timeline-empty{padding:24px;border:1px dashed #d8e0eb;border-radius:12px;text-align:center;color:#8a98ab;background:#fafbfd}.dev-sample-timeline-scroll{overflow-x:auto;overflow-y:hidden;padding:4px 4px 12px}.dev-sample-timeline-track{display:flex;align-items:stretch;min-width:max-content;padding:14px 8px 4px;position:relative}.dev-sample-timeline-track:before{content:"";position:absolute;left:28px;right:28px;top:31px;height:3px;background:#dfe6f1;border-radius:3px}.dev-sample-node{position:relative;width:220px;padding:0 12px;z-index:1}.dev-sample-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;background:#e8eef8;border:4px solid #fff;box-shadow:0 0 0 2px #cfd9e8;color:#52627a;font-weight:800}.dev-sample-node.done .dev-sample-dot{background:#e5f6eb;box-shadow:0 0 0 2px #79c690;color:#237442}.dev-sample-node.active .dev-sample-dot{background:#e8edff;box-shadow:0 0 0 2px #6f86ff;color:#3f56d9}.dev-sample-node.cancelled .dev-sample-dot{background:#f2f3f5;box-shadow:0 0 0 2px #c9ced6;color:#8d96a3}.dev-sample-node-card{height:calc(100% - 44px);min-height:172px;border:1px solid #dfe5ee;border-radius:14px;background:#fff;padding:13px;box-sizing:border-box;transition:.18s ease}.dev-sample-node.clickable{cursor:pointer}.dev-sample-node.clickable:hover .dev-sample-node-card{border-color:#8ca0ff;box-shadow:0 6px 18px rgba(68,88,180,.12);transform:translateY(-2px)}.dev-sample-node-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dev-sample-node-top>b{font-size:16px;color:#202b3c}.dev-sample-node-top .status-badge{font-size:11px;padding:3px 7px}.dev-sample-stage{font-weight:700;margin-top:7px;color:#475569}.dev-sample-no{font-size:12px;color:#94a0b2;margin-top:3px}.dev-sample-node-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.dev-sample-node-meta span{font-size:11px;color:#8492a6;background:#f7f9fc;border-radius:7px;padding:5px;text-align:center}.dev-sample-node-meta b{display:block;color:#273449;font-size:13px}.dev-sample-node-date{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #eef1f5;margin-top:10px;padding-top:9px;font-size:11px;color:#8492a6}.dev-sample-node-date b{font-size:12px;color:#44536a}.dev-sample-feedback{margin-top:8px;font-size:11px;line-height:1.35;color:#64748b;background:#f8fafc;border-radius:7px;padding:6px 8px;white-space:normal}.dev-sample-timeline-tip{text-align:right;font-size:12px;color:#8a98ab;margin-top:2px}
.dev-style-profile.dev-collapsed + .dev-sample-timeline-card{display:none}
@media(max-width:800px){.dev-sample-timeline-card{padding:14px}.dev-sample-timeline-head{flex-direction:column}.dev-sample-node{width:190px}.dev-sample-timeline-summary{white-space:normal}}

/* V155 assessment content length / translation review */
.translation-q.translation-long b{display:block;white-space:pre-wrap;line-height:1.65;font-weight:600}
.translation-q.translation-long textarea{min-height:180px;line-height:1.6}

/* V156 assessment start timing + visible result card */
.assessment-start-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.assessment-result-card{text-align:center;padding:18px 16px 8px}
.assessment-result-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:#eef3ff;color:#456cf6;font-size:32px;font-weight:800}
.assessment-result-card h2{margin:4px 0 8px}
.assessment-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;text-align:left}
.assessment-result-grid>div,.assessment-result-metric{background:#f7f9fc;border:1px solid #e4e9f1;border-radius:12px;padding:12px 14px}
.assessment-result-grid span{display:block;color:#718096;font-size:12px;margin-bottom:5px}
.assessment-result-grid b{font-size:18px;color:#18233a}
@media(max-width:700px){.assessment-result-grid{grid-template-columns:1fr}.assessment-start-row{align-items:flex-start;flex-direction:column}}

/* V158 MES paper pattern size / pre-wash calculation */
.pattern-search-card{padding:16px;margin-bottom:14px}.pattern-search-row{display:grid;grid-template-columns:minmax(320px,1fr) auto auto;gap:10px;align-items:end}.pattern-search-row label{display:flex;flex-direction:column;gap:6px}.pattern-editor-card{padding:16px}.pattern-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.pattern-head h3{margin:0 0 4px;font-size:22px}.pattern-head p{margin:0;color:#718096}.pattern-actions{display:flex;gap:8px;flex-wrap:wrap}.pattern-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.pattern-meta-grid label{display:flex;flex-direction:column;gap:5px;color:#64748b}.pattern-info-banner{padding:10px 12px;border-radius:10px;background:#eef4ff;color:#496180;margin-bottom:10px}.pattern-table-wrap{overflow:auto;max-height:calc(100vh - 380px);border:1px solid #dfe5ee;border-radius:12px}.pattern-table{min-width:1500px;margin:0}.pattern-table thead th{position:sticky;top:0;z-index:4;background:#edf2f8}.pattern-table input,.pattern-table select{width:100%;min-width:88px;border:0;background:transparent;padding:8px 7px;box-sizing:border-box}.pattern-table input:focus,.pattern-table select:focus{outline:2px solid #4f72ff;background:#fff}.pattern-table .pattern-point{min-width:220px}.pattern-table .washed-head,.pattern-table .washed-ref{background:#eef6ff}.pattern-table .prewash-base-head,.pattern-table [data-base-prewash]{background:#fff8df}.pattern-table .base-size-col{background:#eef9ef!important}.pattern-project-results{margin-top:12px}.primary-btn.small{padding:7px 12px;font-size:13px}
@media(max-width:900px){.pattern-search-row{grid-template-columns:1fr 1fr}.pattern-search-row label{grid-column:1/-1}.pattern-meta-grid{grid-template-columns:1fr 1fr}.pattern-head{flex-direction:column}.pattern-table-wrap{max-height:none}}
@media print{body.pattern-print-mode header,body.pattern-print-mode aside,body.pattern-print-mode .pattern-search-card,body.pattern-print-mode .pattern-actions,body.pattern-print-mode .pattern-info-banner,body.pattern-print-mode .work-head{display:none!important}body.pattern-print-mode main,body.pattern-print-mode #content{margin:0!important;padding:0!important;width:100%!important}body.pattern-print-mode .pattern-editor-card{box-shadow:none;border:0;padding:0}body.pattern-print-mode .pattern-table-wrap{overflow:visible;max-height:none;border:0}body.pattern-print-mode .pattern-table{min-width:0;font-size:9px}body.pattern-print-mode .pattern-table thead th{position:static}body.pattern-print-mode .pattern-table input,body.pattern-print-mode .pattern-table select{font-size:9px;padding:2px;border:0}body.pattern-print-mode .pattern-meta-grid{grid-template-columns:repeat(4,1fr)}}


/* V159 pattern size page compact / unified layout */
.pattern-search-card{padding:12px 14px;margin-bottom:12px}
.pattern-search-row{grid-template-columns:minmax(420px,1fr) auto auto;gap:8px;align-items:end}
.pattern-search-row label{gap:4px;font-size:13px;color:#5f6f88}
.pattern-search-row input{height:38px}
.pattern-project-results{margin-top:9px}
.pattern-project-results .table-card{border-radius:10px}
.pattern-project-results .table.compact th,.pattern-project-results .table.compact td{padding:8px 10px;white-space:nowrap}
.pattern-editor-card{padding:14px}
.pattern-head{align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e5eaf2}
.pattern-head h3{font-size:21px;margin:0 0 2px}
.pattern-head p{font-size:13px}
.pattern-actions{flex-wrap:nowrap;align-items:center}
.pattern-actions .primary-btn,.pattern-actions .secondary-btn{height:38px;padding:0 14px;white-space:nowrap}
.pattern-meta-grid{grid-template-columns:.8fr 1fr .65fr 1.55fr;gap:8px;margin-bottom:8px}
.pattern-meta-grid label{gap:4px;font-size:13px}
.pattern-meta-grid input,.pattern-meta-grid select{height:38px;padding:7px 10px}
.pattern-info-banner{padding:8px 11px;border-radius:8px;margin-bottom:8px;font-size:13px;line-height:1.45;background:#f3f6fb;color:#5c6c83;border:1px solid #e4eaf2}
.pattern-table-wrap{max-height:calc(100vh - 315px);border-radius:10px;background:#fff}
.pattern-table{min-width:max-content;font-size:13px;table-layout:fixed}
.pattern-table thead th{height:42px;padding:7px 8px;white-space:nowrap;line-height:1.2;vertical-align:middle;text-align:center;background:#edf2f8}
.pattern-table tbody td{height:40px;padding:0 8px;white-space:nowrap;vertical-align:middle}
.pattern-table .ps-col-index{width:42px;min-width:42px}
.pattern-table .ps-col-code{width:90px;min-width:90px;text-align:left}
.pattern-table .ps-col-point{width:245px;min-width:245px;text-align:left}
.pattern-table .ps-col-tol{width:58px;min-width:58px}
.pattern-table .ps-col-unit{width:58px;min-width:58px}
.pattern-table .ps-col-ref{width:105px;min-width:105px}
.pattern-table .ps-col-base{width:118px;min-width:118px}
.pattern-table .ps-col-size{width:96px;min-width:96px}
.pattern-table .ps-col-round{width:80px;min-width:80px}
.pattern-table .ps-col-note{width:160px;min-width:160px}
.pattern-table .pattern-point{min-width:245px;white-space:normal;line-height:1.25}
.pattern-table input,.pattern-table select{min-width:0;height:34px;padding:5px 7px;border:1px solid transparent;border-radius:6px}
.pattern-table input:hover,.pattern-table select:hover{border-color:#d7deea;background:#fff}
.pattern-table input:focus,.pattern-table select:focus{outline:none;border-color:#4f72ff;box-shadow:0 0 0 2px rgba(79,114,255,.12);background:#fff}
.pattern-table .washed-head,.pattern-table .washed-ref{background:#eef6ff!important}
.pattern-table .prewash-base-head,.pattern-table [data-base-prewash]{background:#fff8df!important}
.pattern-table [data-base-prewash]{font-weight:700}
.pattern-hidden-base-copy{display:none!important}
@media(max-width:1100px){.pattern-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-note-field{grid-column:1/-1}.pattern-table-wrap{max-height:calc(100vh - 350px)}}
@media(max-width:760px){.pattern-search-row{grid-template-columns:1fr 1fr}.pattern-search-row label{grid-column:1/-1}.pattern-head{align-items:flex-start}.pattern-actions{flex-wrap:wrap}.pattern-meta-grid{grid-template-columns:1fr}.pattern-note-field{grid-column:auto}.pattern-table-wrap{max-height:none}}


/* V160 paper-pattern size: keep original SPEC editor/table behavior inside unified platform */
.ps-spec-search{padding:14px 16px;margin-bottom:14px}.ps-spec-search-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.ps-spec-search-row h3,.ps-spec-search-row p{margin:0}.ps-spec-search-row p{color:#718096;margin-top:4px}.ps-query-box{display:flex;gap:8px;min-width:min(720px,65%)}.ps-query-box input{flex:1}.ps-project-results{position:relative}.ps-search-results{margin-top:10px;border:1px solid #dde4ed;border-radius:12px;overflow:hidden;background:#fff}.ps-result-row{display:grid;width:100%;grid-template-columns:minmax(200px,1.1fr) minmax(250px,1.4fr) 130px 90px;gap:12px;align-items:center;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:10px 14px;text-align:left;color:#18233a}.ps-result-row:last-child{border-bottom:0}.ps-result-row:hover{background:#f4f8fd}.ps-result-row span{min-width:0}.ps-result-row span:first-child{display:flex;flex-direction:column}.ps-result-row small{color:#718096}.ps-result-row em{font-style:normal;color:#356df6;font-weight:700;text-align:right}
.ps-spec-editor{padding:0;overflow:hidden}.ps-spec-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px}.ps-spec-title h3,.ps-spec-title p{margin:0}.ps-spec-title p{margin-top:4px;color:#718096}.ps-spec-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ps-meta-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 12px;padding:8px 20px 18px;border-bottom:1px solid #e5eaf1}.ps-meta-grid>label{display:flex;flex-direction:column;gap:5px;color:#61708a;font-size:12px;min-width:0}.ps-meta-grid input,.ps-meta-grid select{width:100%;min-width:0}.ps-meta-grid .ps-sizes-field{grid-column:span 2}.ps-radio-group{height:40px;display:flex;align-items:center;gap:14px;border:1px solid #d7deea;border-radius:9px;padding:0 10px;background:#fff}.ps-radio-group label{display:flex;align-items:center;gap:5px;color:#1f2937;white-space:nowrap}.ps-radio-group input{width:auto}.ps-measure-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 10px}.ps-measure-head h3,.ps-measure-head p{margin:0}.ps-measure-head p{margin-top:4px;color:#718096}.ps-spec-table-wrap{overflow:auto;max-height:62vh;border-top:1px solid #dbe2e8}
#psMeasureTable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}#psMeasureTable col.ps-col-dim{width:68px}#psMeasureTable col.ps-col-desc{width:280px}#psMeasureTable col.ps-col-tol{width:60px}#psMeasureTable col.ps-col-size{width:62px}#psMeasureTable col.ps-col-divider{width:8px}#psMeasureTable col.ps-col-base-ref{width:86px}#psMeasureTable col.ps-col-base-input{width:98px}#psMeasureTable col.ps-col-rule{width:76px}#psMeasureTable col.ps-col-round{width:58px}#psMeasureTable col.ps-col-action{width:62px}
#psMeasureTable th,#psMeasureTable td{border-right:1px solid #dbe2e8;border-bottom:1px solid #dbe2e8;height:36px;min-height:36px;padding:3px;text-align:center;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#psMeasureTable th{position:sticky;z-index:4;color:#fff;background:#315b78;font-weight:700}#psMeasureTable .ps-group-head th{top:0;height:34px}#psMeasureTable .ps-size-head th{top:34px;height:32px}#psMeasureTable .ps-after-group,#psMeasureTable .ps-after-size{background:#1f6f9c!important}#psMeasureTable .ps-before-group,#psMeasureTable .ps-before-size{background:#8a6818!important}#psMeasureTable .ps-base-ref-head{background:#2f6f5e!important}#psMeasureTable .ps-base-input-head{background:#b95500!important}#psMeasureTable .ps-group-head th:nth-last-child(-n+3){background:#4e6170!important}#psMeasureTable td.ps-after-cell{background:#eaf6ff}#psMeasureTable td.ps-before-cell{background:#fff4cc}#psMeasureTable td.ps-base-ref-cell{background:#e8f4ef;color:#174b3d;font-weight:700}#psMeasureTable td.ps-base-input-cell{background:#fff0e6}#psMeasureTable td.ps-base-mark{box-shadow:inset 0 0 0 2px #d98b00}#psMeasureTable .ps-split-divider{min-width:8px;width:8px;padding:0!important;background:#cfd8df!important;border-left:2px solid #6b7b88!important;border-right:2px solid #6b7b88!important}#psMeasureTable .ps-sticky-dim{position:sticky;left:0;z-index:5;background:#fff}#psMeasureTable .ps-sticky-desc{position:sticky;left:68px;z-index:5;background:#fff}#psMeasureTable thead .ps-sticky-dim,#psMeasureTable thead .ps-sticky-desc{z-index:9;background:#315b78;color:#fff}#psMeasureTable .ps-section-row td{background:#c9ddea!important;color:#162635!important;font-weight:800;text-align:left!important;padding:6px 10px!important;height:32px!important}#psMeasureTable .ps-section-title{position:sticky!important;left:0!important;z-index:8!important;width:348px!important;min-width:348px!important;max-width:348px!important;border-right:1px solid #9fb7c8!important}#psMeasureTable input,#psMeasureTable select{height:30px;padding:3px 6px;border:1px solid #ccd6e0;border-radius:5px;background:#fff;font-size:12px}#psMeasureTable .ps-sticky-dim input{width:58px}#psMeasureTable .ps-desc{width:268px}#psMeasureTable .ps-tol-input{width:50px;text-align:center}#psMeasureTable .ps-after-cell input{width:52px;text-align:center}#psMeasureTable .ps-base-before{width:86px;border:2px solid #d26a00;font-weight:700;text-align:center}#psMeasureTable select{width:66px}#psMeasureTable .ps-round-input{width:48px;text-align:center}
@media(max-width:1100px){.ps-spec-search-row{align-items:stretch;flex-direction:column}.ps-query-box{min-width:0;width:100%}.ps-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-result-row{grid-template-columns:1fr 1fr 110px 80px}}@media(max-width:700px){.ps-meta-grid{grid-template-columns:1fr 1fr}.ps-meta-grid .ps-sizes-field{grid-column:1/-1}.ps-spec-title{flex-direction:column}.ps-result-row{grid-template-columns:1fr}.ps-result-row em{text-align:left}}
@media print{body.pattern-spec-print-mode *{visibility:hidden!important}body.pattern-spec-print-mode #patternSpecEditor,body.pattern-spec-print-mode #patternSpecEditor *{visibility:visible!important}body.pattern-spec-print-mode #patternSpecEditor{position:absolute;left:0;top:0;width:100%;box-shadow:none!important;border:0!important}.ps-spec-actions,.ps-spec-search,.ps-measure-head button{display:none!important}.ps-spec-table-wrap{max-height:none!important;overflow:visible!important}#psMeasureTable th{position:static!important}}


/* V161 Pattern Size layout refinement */
.ps-spec-search{padding:12px 14px;margin-bottom:12px;border-radius:14px}
.ps-spec-search-row{gap:14px}
.ps-spec-search-row h3{font-size:16px}
.ps-spec-search-row p{font-size:12px}
.ps-query-box{min-width:min(760px,67%);align-items:center}
.ps-query-box input{height:38px}
.ps-query-box button{height:38px;padding:0 16px}
.ps-search-results{margin-top:8px;border-radius:10px}
.ps-result-row{padding:8px 12px;min-height:52px}
.ps-result-row b{font-size:14px}
.ps-result-row small{font-size:11px;margin-top:2px}

.ps-spec-editor{border-radius:14px}
.ps-spec-title{align-items:center;padding:13px 16px 8px}
.ps-spec-title h3{font-size:17px}
.ps-spec-title p{font-size:12px;margin-top:2px}
.ps-spec-actions{gap:6px}
.ps-spec-actions button{height:36px;padding:0 13px}
.ps-meta-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 10px;padding:6px 16px 12px}
.ps-meta-grid>label{gap:4px;font-size:11px}
.ps-meta-grid input,.ps-meta-grid select{height:34px;padding:5px 8px}
.ps-radio-group{height:34px;border-radius:7px;padding:0 8px;gap:10px}
.ps-radio-group label{font-size:12px}

.ps-measure-head{padding:10px 16px 8px;background:#f8fafc;border-top:1px solid #e5eaf1;border-bottom:1px solid #dbe2e8}
.ps-measure-head h3{font-size:16px}
.ps-measure-head p{font-size:12px;margin-top:2px}
.ps-measure-head button{height:34px}
.ps-spec-table-wrap{max-height:calc(100vh - 405px);min-height:380px;border-top:0;background:#fff}

#psMeasureTable th,#psMeasureTable td{height:34px;min-height:34px;padding:2px 3px;font-size:11.5px}
#psMeasureTable .ps-group-head th{height:32px}
#psMeasureTable .ps-size-head th{top:32px;height:30px}
#psMeasureTable input,#psMeasureTable select{height:28px;font-size:11.5px}
#psMeasureTable .ps-section-row td{height:30px!important;padding:5px 9px!important}
#psMeasureTable col.ps-col-desc{width:260px}
#psMeasureTable .ps-desc{width:248px}
#psMeasureTable col.ps-col-size{width:60px}
#psMeasureTable col.ps-col-base-ref{width:82px}
#psMeasureTable col.ps-col-base-input{width:92px}

@media(max-width:1350px){
  .ps-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ps-meta-grid .ps-sizes-field{grid-column:span 2}
}

/* V162 saved-version output safety */
#psExport:disabled,#psPrint:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}

/* V163 clean/dirty output workflow */
#psSave:disabled{opacity:.45;cursor:not-allowed}
/* V166 ERP Order List */
.order-page,.order-detail-page{display:flex;flex-direction:column;gap:12px}.order-filter-card,.order-list-card{background:#fff;border:1px solid #dfe5ee;border-radius:14px;padding:12px 14px}.order-main-filter,.order-advanced{display:flex;align-items:end;gap:10px}.order-main-filter label,.order-advanced label{display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:12px}.order-main-filter .grow{flex:1;min-width:300px}.order-main-filter input,.order-main-filter select,.order-advanced input,.order-advanced select{height:38px;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px;background:#fff;color:#172238}.order-advanced{margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}.order-advanced label{min-width:170px}.order-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.order-kpi{background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between}.order-kpi span{color:#718096;font-size:12px}.order-kpi b{font-size:20px}.order-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.seg-tabs{display:flex;background:#f1f5f9;padding:3px;border-radius:10px}.seg-tabs button{border:0;background:transparent;padding:8px 14px;border-radius:8px;font-weight:700;color:#475569}.seg-tabs button.active{background:#4b6fff;color:#fff}.order-table-scroll{overflow:auto;border:1px solid #e1e7ef;border-radius:10px}.order-table{min-width:1350px}.order-table th,.order-table td{white-space:nowrap}.order-table .clip{max-width:220px;overflow:hidden;text-overflow:ellipsis}.order-summary-row td{background:#fff7cf;border-top:2px solid #e6c85f}.pagination-bar{display:flex;justify-content:space-between;align-items:center;padding-top:9px}.order-detail-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.order-detail-kpis>div{background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:12px}.order-detail-kpis span{display:block;font-size:12px;color:#718096;margin-bottom:5px}.order-detail-kpis b{font-size:18px}.order-info-strip{background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:11px 14px;display:flex;flex-wrap:wrap;gap:10px 24px}.order-info-strip span{font-size:13px;color:#475569}.order-detail-tabs{display:flex;gap:4px;border-bottom:1px solid #dfe5ee}.order-detail-tabs button{border:0;background:transparent;padding:10px 14px;font-weight:700;color:#64748b;border-bottom:3px solid transparent}.order-detail-tabs button.active{color:#3e65f4;border-bottom-color:#3e65f4}.order-raw-toolbar{display:flex;justify-content:flex-end;margin-bottom:7px}.order-raw-toolbar input{width:360px;height:36px;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px}.order-table-scroll.raw{max-height:590px}.order-create-modal{min-width:min(1180px,90vw)}.order-create-modal .form-grid.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.order-items{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}.order-item-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr auto;gap:7px}.order-item-row input{height:36px;border:1px solid #d7dfeb;border-radius:8px;padding:0 9px}.order-import-modal{min-width:min(1120px,90vw)}.import-drop{border:1px dashed #b9c5d8;border-radius:12px;padding:18px;background:#f8fafc}.import-drop b{font-size:16px}.import-drop p{color:#64748b;margin:5px 0 12px}.import-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0}.import-summary>div{padding:9px 11px;border:1px solid #dfe5ee;border-radius:10px;background:#fff}.import-summary span{display:block;font-size:11px;color:#718096}.import-summary b{font-size:17px}.recognized-fields{margin:8px 0;color:#64748b;font-size:12px}.recognized-fields span{display:inline-block;background:#eef3ff;color:#4260bd;padding:3px 7px;border-radius:999px;margin:2px}.order-table-scroll.preview{max-height:330px}.order-import-history{min-width:min(1050px,88vw)}@media(max-width:1200px){.order-kpis,.order-detail-kpis{grid-template-columns:repeat(3,1fr)}.order-main-filter{flex-wrap:wrap}.order-main-filter .grow{min-width:100%}.order-create-modal .form-grid.cols4{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.order-kpis,.order-detail-kpis,.import-summary{grid-template-columns:repeat(2,1fr)}.order-create-modal .form-grid.cols4{grid-template-columns:1fr}.order-item-row{grid-template-columns:1fr 1fr}.order-main-filter,.order-advanced{align-items:stretch;flex-direction:column}.order-main-filter label,.order-advanced label{min-width:0;width:100%}}


/* ================= V167 Order List compact UI + modal adaptation ================= */
.order-page{gap:10px}
.order-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.order-page-head h2{margin:0;font-size:24px;line-height:1.2}
.order-page-head p{margin:4px 0 0;color:#7a879a;font-size:13px}
.order-page-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

.order-filter-card.compact{padding:10px 12px;border-radius:12px}
.order-main-filter.one-line{
  display:grid;
  grid-template-columns:minmax(270px,1fr) 92px 98px 94px 112px auto auto auto;
  gap:8px;
  align-items:end;
}
.order-main-filter.one-line label{min-width:0}
.order-main-filter.one-line .grow{min-width:0}
.order-main-filter.one-line input,
.order-main-filter.one-line select{height:34px;padding:0 8px;border-radius:8px;font-size:12px}
.order-main-filter.one-line button{height:34px;padding:0 12px;white-space:nowrap}
.order-main-filter.one-line label{font-size:11px;gap:3px}
.order-advanced{margin-top:8px;padding:8px 0 0;border-top:1px dashed #e4e9f0;display:flex;gap:8px;align-items:end}
.order-advanced.hidden{display:none!important}
.order-advanced label{min-width:150px;font-size:11px;gap:3px}
.order-advanced input,.order-advanced select{height:34px;padding:0 8px;font-size:12px}

.order-kpis.compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.order-kpis.compact .order-kpi{padding:8px 11px;border-radius:10px}
.order-kpis.compact .order-kpi span{font-size:11px}
.order-kpis.compact .order-kpi b{font-size:18px}
.order-list-card{padding:10px 12px;border-radius:12px}
.order-list-toolbar{margin-bottom:7px}
.order-table th,.order-table td{padding-top:8px!important;padding-bottom:8px!important;font-size:12px}
.pagination-bar{padding-top:7px;font-size:12px}

/* Order modals: parent card must own sizing; children must never create overflow. */
.modal:has(.order-create-modal) .modal-card{
  width:min(1180px,calc(100vw - 40px))!important;
  max-width:none!important;
  max-height:calc(100vh - 32px)!important;
}
.modal:has(.order-import-modal) .modal-card{
  width:min(900px,calc(100vw - 40px))!important;
  max-width:none!important;
  max-height:calc(100vh - 32px)!important;
}
.modal:has(.order-import-history) .modal-card{
  width:min(1080px,calc(100vw - 40px))!important;
  max-width:none!important;
  max-height:calc(100vh - 32px)!important;
}
.modal:has(.order-create-modal) #modalBody,
.modal:has(.order-import-modal) #modalBody,
.modal:has(.order-import-history) #modalBody{
  overflow:auto!important;
  min-height:0!important;
  padding:12px 16px 14px!important;
}
.order-create-modal,.order-import-modal,.order-import-history{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
}
.order-create-modal .form-grid.cols4{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px 10px;
}
.order-create-modal .form-grid.cols4 label{min-width:0;margin:0!important}
.order-create-modal .form-grid.cols4 input,
.order-create-modal .form-grid.cols4 select{
  width:100%;min-width:0;height:34px;padding:6px 8px;margin:3px 0 0!important;box-sizing:border-box
}
.order-modal-section-title{font-weight:700;color:#26344b;margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid #e7ebf1}
.order-create-modal .section-toolbar{margin-top:12px}
.order-create-modal .modal-actions,
.order-import-modal .modal-actions{
  position:sticky;bottom:-14px;background:#fff;border-top:1px solid #edf0f4;padding:10px 0 0;margin-top:10px;z-index:3
}
.order-items{max-height:245px}
.order-item-row{grid-template-columns:1.15fr .85fr .85fr .85fr .8fr auto;min-width:0}
.order-item-row>*{min-width:0}
.import-drop{padding:14px 16px;overflow:hidden}
.import-drop p{font-size:12px;line-height:1.45;white-space:normal}
.import-drop input[type=file]{width:100%;max-width:100%;box-sizing:border-box}
.order-table-scroll.preview{max-width:100%;overflow:auto}
.order-import-history .table-card{max-width:100%;overflow:auto}
.order-import-history table{min-width:900px}

/* keep desktop filters one line; gracefully degrade only when viewport is genuinely narrow */
@media(max-width:1350px){
  .order-main-filter.one-line{grid-template-columns:minmax(240px,1fr) 82px 90px 86px 100px auto auto auto;gap:6px}
  .order-main-filter.one-line button{padding:0 9px}
}
@media(max-width:1050px){
  .order-main-filter.one-line{grid-template-columns:repeat(4,minmax(0,1fr))}
  .order-main-filter.one-line .grow{grid-column:span 4}
  .order-page-head{flex-direction:column}
  .order-page-actions{justify-content:flex-start}
  .order-kpis.compact{grid-template-columns:repeat(3,1fr)}
  .order-create-modal .form-grid.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .modal{padding:8px!important}
  .modal:has(.order-create-modal) .modal-card,
  .modal:has(.order-import-modal) .modal-card,
  .modal:has(.order-import-history) .modal-card{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}
  .order-main-filter.one-line{grid-template-columns:1fr 1fr}
  .order-main-filter.one-line .grow{grid-column:span 2}
  .order-kpis.compact{grid-template-columns:repeat(2,1fr)}
  .order-create-modal .form-grid.cols4{grid-template-columns:1fr}
  .order-item-row{grid-template-columns:1fr 1fr}
}

/* V168 Order List fixed workspace and dual horizontal scrolling */
body.order-list-lock #content{overflow:hidden!important}
.order-page{height:calc(100vh - 86px);min-height:0;overflow:hidden;display:flex;flex-direction:column}
.order-page-head,.order-filter-card,.order-kpis{flex:0 0 auto}
.order-list-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.order-list-toolbar,.order-hscroll-top,.pagination-bar{flex:0 0 auto}
.order-table-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.order-hscroll-top{height:14px;overflow-x:auto;overflow-y:hidden;margin:0 0 5px;border:1px solid #e1e7ef;border-radius:7px;background:#f8fafc}
.order-hscroll-top>div{height:1px}
.order-hscroll-top::-webkit-scrollbar,.order-table-scroll::-webkit-scrollbar{height:12px;width:11px}
.order-hscroll-top::-webkit-scrollbar-thumb,.order-table-scroll::-webkit-scrollbar-thumb{background:#a8b2bf;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.order-hscroll-top::-webkit-scrollbar-track,.order-table-scroll::-webkit-scrollbar-track{background:#edf1f5}


/* ================= V169 Order filters + grid scroll behavior ================= */
.order-hscroll-top{display:none!important}

/* Multi-select filters */
.order-multi{position:relative;min-width:0}
.order-multi-btn{
  width:100%;height:34px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;
  padding:0 8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;
  color:#26344b;text-align:left;cursor:pointer;font-size:11px
}
.order-multi-btn span{color:#64748b;white-space:nowrap}
.order-multi-btn b{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-multi-btn i{font-style:normal;color:#64748b}
.order-multi-menu{
  position:absolute;z-index:90;top:38px;left:0;min-width:190px;max-width:300px;
  background:#fff;border:1px solid #dbe2eb;border-radius:10px;box-shadow:0 10px 28px rgba(30,42,68,.16);
  padding:7px
}
.order-multi-actions{display:flex;justify-content:flex-end;gap:5px;padding:0 0 6px;border-bottom:1px solid #edf0f4}
.order-multi-actions button{border:0;background:#f1f5f9;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:11px}
.order-multi-options{max-height:240px;overflow:auto;padding-top:4px}
.order-multi-options label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;padding:6px 5px;border-radius:6px;cursor:pointer;color:#26344b!important;font-size:12px!important}
.order-multi-options label:hover{background:#f6f8fb}
.order-multi-options input{width:14px!important;height:14px!important;padding:0!important;margin:0!important}

/* Order table vertical scroll with sticky column titles */
.order-table-scroll{
  position:relative;
  overflow:auto!important;
  scrollbar-gutter:stable;
}
.order-table-scroll .order-table thead{
  position:sticky;
  top:0;
  z-index:12;
}
.order-table-scroll .order-table thead th{
  position:sticky;
  top:0;
  z-index:13;
  background:#f4f7fb!important;
  box-shadow:inset 0 -1px 0 #dce3ec;
}

/* Keep only the bottom horizontal scrollbar; make it easier to grab */
.order-table-scroll::-webkit-scrollbar{height:13px;width:11px}
.order-table-scroll::-webkit-scrollbar-thumb{background:#a8b2bf;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.order-table-scroll::-webkit-scrollbar-track{background:#edf1f5}

/* dropdown should not be clipped by query card */
.order-filter-card.compact{overflow:visible}
.order-main-filter.one-line{overflow:visible}

/* V171 assessment security / color plate / real spreadsheet test */
.secure-source-wrap{background:#fbfcfe;border:1px solid #dce4ee;border-radius:12px;padding:10px;margin:8px 0 10px;overflow:auto;user-select:none;-webkit-user-select:none}
.secure-source-canvas{display:block;max-width:100%;margin:auto;pointer-events:none}
.secure-source-note{font-size:11px;color:#8a5a1f;background:#fff7e6;border-radius:7px;padding:6px 8px;margin-top:7px;text-align:center}
.translation-secure-question{margin:0 0 16px}.translation-secure-question>b{display:block;margin-bottom:5px;color:#25324a}.translation-secure-question textarea{width:100%;min-height:150px;resize:vertical;border:1px solid #d7dfeb;border-radius:10px;padding:10px;font:inherit;box-sizing:border-box}
.color-plate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-height:64vh;overflow:auto;padding:4px}
.color-plate-card{border:1px solid #e0e5ed;border-radius:14px;background:#fff;padding:10px;text-align:center}.color-plate-canvas{display:block;max-width:100%;height:auto;margin:0 auto 8px;border-radius:50%}.color-plate-card label{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#64748b}.color-plate-card input{width:120px;height:34px;border:1px solid #d7dfeb;border-radius:8px;padding:0 8px;text-align:center;font-weight:700}
.spreadsheet-practical{min-width:min(900px,86vw)}.spreadsheet-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.spreadsheet-flow>div{border:1px solid #dfe5ee;border-radius:12px;background:#f8fafc;padding:14px;display:flex;flex-direction:column;gap:9px;min-height:120px}.spreadsheet-flow>div>b{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#4b6fff;color:#fff}.spreadsheet-flow>div span{font-size:13px;color:#475569;line-height:1.45}.spreadsheet-flow input[type=file]{max-width:100%}.spreadsheet-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border:1px solid #dfe5ee;border-radius:10px;padding:10px;margin:10px 0}.spreadsheet-grade>b{grid-column:1/-1}.spreadsheet-grade span{padding:6px 8px;border-radius:7px;font-size:12px}.spreadsheet-grade .ok{background:#eaf7ef;color:#1f7a45}.spreadsheet-grade .bad{background:#fff0ee;color:#b43a2a}
@media(max-width:1100px){.color-plate-grid{grid-template-columns:repeat(2,1fr)}.spreadsheet-flow{grid-template-columns:1fr}.spreadsheet-practical{min-width:0}}
@media(max-width:650px){.color-plate-grid{grid-template-columns:1fr}.spreadsheet-grade{grid-template-columns:1fr}}

/* V172 employee/system-account bulk workflow */
.pending-account{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#fff7d6;color:#8a6500;font-size:11px}
.modal-card-user-bulk{width:min(1180px,calc(100vw - 36px))!important;max-width:none!important;max-height:calc(100vh - 30px)!important}
.modal-card-user-bulk #modalBody{overflow:auto!important;min-height:0}
.user-bulk-modal{min-width:0}.bulk-user-tabs{margin-bottom:10px}.bulk-user-toolbar{display:flex;gap:8px;align-items:end;margin:10px 0}.bulk-user-toolbar label{display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:11px}.bulk-user-toolbar select{height:34px;border:1px solid #d7dfeb;border-radius:8px;padding:0 8px}
.bulk-user-list{border:1px solid #e0e6ef;border-radius:10px;max-height:430px;overflow:auto}.bulk-user-row{display:grid;grid-template-columns:28px minmax(230px,1.5fr) minmax(150px,.8fr) 150px 145px;gap:9px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf1f5}.bulk-user-row:last-child{border-bottom:0}.bulk-user-row>div{min-width:0}.bulk-user-row small,.bulk-user-row span{display:block;color:#7a8798;font-size:11px}.bulk-user-row b{font-size:12px}.bulk-user-row select{width:100%;height:32px;border:1px solid #d7dfeb;border-radius:7px;padding:0 7px}.bulk-excel-import{display:flex;align-items:center;gap:10px;padding:18px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.bulk-excel-import input{flex:1;min-width:0}.bulk-user-result{margin-top:12px}.bulk-password-table{max-height:260px;overflow:auto;margin-top:8px;border:1px solid #e1e7ef;border-radius:8px}.bulk-password-table code{font-size:12px;font-weight:700}.bulk-user-result>span{margin-left:14px}.bulk-user-result>button{float:right}
@media(max-width:900px){.bulk-user-row{grid-template-columns:26px 1fr 1fr}.bulk-user-row select{grid-column:span 1}.bulk-user-toolbar{flex-wrap:wrap}.bulk-excel-import{flex-direction:column;align-items:stretch}}

/* V173 team/job bulk import */
.master-bulk-import{min-width:min(900px,82vw)}
.master-import-actions{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:10px;align-items:center;margin:14px 0}
.master-import-actions input[type=file]{min-width:0;width:100%;border:1px solid #d7dfeb;border-radius:9px;padding:7px 9px;background:#fff}
.bulk-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.bulk-import-summary>div{border:1px solid #dfe5ee;background:#f8fafc;border-radius:10px;padding:10px 12px}
.bulk-import-summary span{display:block;color:#718096;font-size:12px}.bulk-import-summary b{font-size:20px}
.bulk-import-errors{max-height:330px;overflow:auto}.bulk-import-errors table{min-width:680px}
.success-note{padding:14px;border-radius:10px;background:#edf9f1;color:#207944;font-weight:700}
.position-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.master-bulk-import{min-width:0}.master-import-actions{grid-template-columns:1fr}.bulk-import-summary{grid-template-columns:repeat(2,1fr)}}


/* V174 global modal viewport safety + master import fix */
.modal{padding:16px!important;box-sizing:border-box!important;overflow:hidden!important}
.modal-card{
  min-width:0!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 32px)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.modal-card>.modal-head{flex:0 0 auto!important;min-width:0}
.modal-card>#modalBody{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}
#modalBody>*{max-width:100%;box-sizing:border-box}
#modalBody input,#modalBody select,#modalBody textarea{max-width:100%;box-sizing:border-box}
#modalBody input[type=file]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modalBody .info-banner,#modalBody p,#modalBody td,#modalBody th{overflow-wrap:anywhere;word-break:break-word}

.modal-card-master-import{
  width:min(920px,calc(100vw - 32px))!important;
  max-width:none!important;
  max-height:calc(100vh - 32px)!important;
}
.modal-card-master-import #modalBody{padding:12px 16px 14px!important}
.modal-card-master-import .master-bulk-import{min-width:0!important;width:100%!important;max-width:100%!important}
.modal-card-master-import .master-import-actions{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  width:100%;min-width:0
}
.modal-card-master-import .master-import-actions>*{min-width:0}
.modal-card-master-import .bulk-import-errors{max-width:100%;overflow:auto}
.modal-card-master-import .modal-actions{position:sticky;bottom:-14px;background:#fff;border-top:1px solid #edf0f4;padding:10px 0 0;z-index:4}

@media(max-width:760px){
  .modal{padding:8px!important}
  .modal-card{max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}
  .modal-card-master-import{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}
  .modal-card-master-import .master-import-actions{grid-template-columns:1fr!important}
  .modal-card-master-import .master-import-actions button{width:100%}
  .modal-card-master-import .bulk-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* V176 language */
#languageSelect{min-width:72px}.user-account-table td{vertical-align:middle}.bulk-user-row{grid-template-columns:auto minmax(190px,1.5fr) minmax(100px,.8fr) minmax(125px,1fr) minmax(120px,1fr) minmax(110px,.9fr)}
@media(max-width:1100px){.bulk-user-row{grid-template-columns:auto 1fr 1fr}.bulk-user-row>div:nth-child(2){grid-column:span 2}}

/* V177 fixed top collapse */
.head-collapse{display:flex;align-items:center;justify-content:center;background:#fff;border-right:1px solid #eef1f5;z-index:3}
.head-collapse .top-collapse{margin:0;flex:0 0 auto}
#topNav{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
#topNav .top-tab{flex:0 0 auto}

/* V177 reusable large-data workspace */
.workspace-data-scroll{
  position:relative;
  max-height:var(--workspace-data-max-height,calc(100vh - 260px));
  overflow:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.workspace-data-table{border-collapse:separate!important;border-spacing:0!important}
.workspace-data-table thead{position:sticky;top:0;z-index:20}
.workspace-data-table thead th{position:sticky;top:0;z-index:21;background:#f4f7fb!important;box-shadow:inset 0 -1px 0 #dce3ec}
.workspace-data-table tfoot{position:sticky;bottom:0;z-index:22}
.workspace-data-table tfoot td{position:sticky;bottom:0;z-index:23;background:#fff5c8!important;box-shadow:inset 0 1px 0 #e5c94d}
.workspace-data-scroll::-webkit-scrollbar{width:11px;height:13px}
.workspace-data-scroll::-webkit-scrollbar-thumb{background:#a8b2bf;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.workspace-data-scroll::-webkit-scrollbar-track{background:#edf1f5}

/* Order list: summary and horizontal bar stay visible at the bottom of the data viewport */
.order-table-scroll.workspace-data-scroll{flex:1 1 auto;min-height:220px;max-height:none}
.order-table-scroll .order-summary-row td{position:sticky!important;bottom:0!important;z-index:24!important;background:#fff5c8!important;box-shadow:inset 0 2px 0 #e5c94d}
.table-card.workspace-data-scroll{border-radius:12px}

@media(max-width:900px){
  header{grid-template-columns:minmax(0,1fr) 42px auto!important}
  .head-collapse{grid-column:2;grid-row:1}
  #topNav{grid-column:1 / -1;grid-row:2}
}

/* V178 org architecture layout cleanup */
.org-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0 16px}
.org-summary-grid .summary-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 12px rgba(31,41,55,.04)}
.org-summary-grid .summary-card span{color:var(--muted);font-size:13px}
.org-summary-grid .summary-card b{font-size:28px;line-height:1;color:var(--text)}
.org-dept-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.org-dept-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:0 4px 18px rgba(31,41,55,.05)}
.org-dept-card.is-inactive{opacity:.86}
.org-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #eef2f7;padding-bottom:12px;margin-bottom:14px}
.org-title-wrap{min-width:0;display:flex;flex-direction:column;gap:8px}
.org-badges{display:flex;flex-wrap:wrap;gap:8px}
.org-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef4ff;color:#3154d8;font-size:12px;font-weight:700}
.org-badge.muted{background:#f3f5f8;color:#5f6f86}
.org-badge.light{background:#fff7dd;color:#8f6a10}
.org-dept-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.org-dept-title strong{font-size:22px;line-height:1.2;color:var(--text)}
.org-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}
.org-status.ok{background:#eaf8ef;color:#18794e}
.org-status.off{background:#f3f4f6;color:#6b7280}
.org-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.org-card-body{display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr);gap:18px;align-items:start}
.org-info-grid{display:grid;grid-template-columns:1fr;gap:10px}
.org-info-item{border:1px solid #edf1f6;border-radius:14px;padding:12px 14px;background:#fafbfd}
.org-info-item label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.org-info-item div{font-size:15px;font-weight:600;color:var(--text);word-break:break-word}
.org-team-block{min-width:0}
.org-team-label{font-size:13px;color:var(--muted);font-weight:700;margin-bottom:8px}
.org-team-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.org-team-list.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.org-team-chip{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #edf1f6;background:#fff;border-radius:14px;padding:10px 12px;min-width:0}
.org-team-main{min-width:0;display:flex;flex-direction:column;gap:4px}
.org-team-name{font-weight:700;color:var(--text);word-break:break-word}
.org-team-head{font-size:12px;color:var(--muted);word-break:break-word}
.org-team-actions{display:flex;gap:6px;flex:0 0 auto}
.empty-note{padding:14px;border:1px dashed #d7deea;border-radius:14px;color:var(--muted);background:#fafbfd}
@media (max-width:1180px){.org-card-body{grid-template-columns:1fr}.org-card-actions{justify-content:flex-start}}
@media (max-width:760px){.org-dept-card{padding:14px}.org-card-head{flex-direction:column;align-items:stretch}.org-dept-title strong{font-size:18px}.org-team-list,.org-team-list.compact{grid-template-columns:1fr}.org-team-chip{flex-direction:column}.org-team-actions{justify-content:flex-start}}

/* ================= V179 unified data toolbar ================= */
.data-workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}
.data-workspace-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}
.data-result-count{white-space:nowrap;font-size:13px}
.data-inline-filter{display:flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:1px solid #d9e1eb;border-radius:9px;background:#fff;min-width:250px;max-width:360px}
.data-inline-filter span{font-size:12px;color:#728096;white-space:nowrap}
.data-inline-filter input{border:0!important;outline:0!important;background:transparent!important;height:30px!important;min-width:100px!important;width:100%!important;padding:0!important;box-shadow:none!important;font-size:12px!important;color:#22304a}
.data-page-size{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;height:34px;padding:0 8px;border:1px solid #d9e1eb;border-radius:9px;background:#fff;color:#728096!important;font-size:12px!important;white-space:nowrap}
.data-page-size select{height:28px!important;min-width:58px;border:0!important;outline:0;background:transparent;padding:0 20px 0 3px!important;font-size:13px;color:#22304a}
.order-list-toolbar{margin-bottom:7px}
.order-list-toolbar .data-workspace-tools{flex-wrap:nowrap}
.order-list-toolbar .data-inline-filter{width:290px}
.order-summary-row td{padding-top:4px!important;padding-bottom:4px!important;line-height:1.2!important;height:28px!important}
.workspace-data-table tfoot td{padding-top:4px!important;padding-bottom:4px!important;line-height:1.2!important}
.mop-toolbar.data-workspace-toolbar,.ods-result-toolbar.data-workspace-toolbar{padding-top:8px;padding-bottom:8px}
.pack-toolbar-actions .data-inline-filter{min-width:280px}
@media(max-width:1180px){.data-workspace-toolbar{align-items:flex-start;flex-wrap:wrap}.data-workspace-tools{justify-content:flex-start}.order-list-toolbar .data-workspace-tools{flex-wrap:wrap}.data-inline-filter{min-width:220px;max-width:100%}}
@media(max-width:700px){.data-workspace-tools{width:100%}.data-inline-filter{width:100%!important;max-width:none}.data-page-size{height:36px}}

/* V180 order sync + unified data export placement */
.order-sync-modal{width:min(820px,100%);max-width:100%;box-sizing:border-box}
.sync-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.sync-rule-grid>div,.sync-result-grid>div{border:1px solid #dfe5ee;border-radius:10px;padding:10px 12px;background:#f8fafc}
.sync-rule-grid span,.sync-result-grid span{display:block;color:#718096;font-size:12px;margin-bottom:4px}.sync-rule-grid b,.sync-result-grid b{font-size:16px}
.sync-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.order-list-toolbar .data-workspace-tools{flex-wrap:nowrap}
@media(max-width:900px){.sync-rule-grid,.sync-result-grid{grid-template-columns:repeat(2,1fr)}.order-list-toolbar .data-workspace-tools{flex-wrap:wrap}}
@media(max-width:600px){.sync-rule-grid,.sync-result-grid{grid-template-columns:1fr}}

/* V181 integrated legacy MARKER module */
.marker-integrated-shell{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:calc(100vh - 180px)}
.marker-integrated-frame{display:block;width:100%;height:calc(100vh - 190px);min-height:680px;border:0;background:#eef2f6}
@media(max-width:900px){.marker-integrated-frame{height:calc(100vh - 210px);min-height:620px}.marker-integrated-shell{border-radius:10px}}

/* V183 MARKER unified embedded appearance */
.marker-integrated-shell.marker-unified{background:transparent;border:0;border-radius:0;overflow:hidden;min-height:calc(100vh - 155px)}
.marker-integrated-shell.marker-unified .marker-integrated-frame{height:calc(100vh - 165px);min-height:720px;background:#f4f6fa;border:0}
@media(max-width:900px){.marker-integrated-shell.marker-unified .marker-integrated-frame{height:calc(100vh - 185px);min-height:650px}}

/* V184 MARKER native ODS page chrome */
.marker-v184{margin-top:0}
.marker-v184 .marker-integrated-frame{height:calc(100vh - 145px);min-height:720px}
@media(max-width:900px){.marker-v184 .marker-integrated-frame{height:calc(100vh - 175px);min-height:650px}}

/* V185 MARKER: single vertical scrollbar lives inside the embedded MARKER workspace */
body.marker-page-lock #content{overflow:hidden!important}
body.marker-page-lock .marker-v184{height:calc(100vh - 142px);min-height:0;overflow:hidden}
body.marker-page-lock .marker-v184 .marker-integrated-frame{height:100%!important;min-height:0!important;overflow:hidden}
@media(max-width:900px){
  body.marker-page-lock .marker-v184{height:calc(100vh - 170px)}
}

/* V186 MARKER single vertical scrollbar fix
   ODS <main> is the real page scroller. While MARKER is active, disable outer page scrolling
   and let the embedded MARKER frame own the only vertical scrollbar. */
html:has(body.marker-page-lock),body.marker-page-lock{overflow:hidden!important}
body.marker-page-lock main{overflow:hidden!important;height:100vh!important;min-height:0!important}
body.marker-page-lock #content{overflow:hidden!important;height:100%!important;min-height:0!important}
body.marker-page-lock .marker-v184{height:calc(100vh - var(--top) - 66px)!important;max-height:calc(100vh - var(--top) - 66px)!important;min-height:0!important;overflow:hidden!important}
body.marker-page-lock .marker-v184 .marker-integrated-frame{display:block!important;height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important}
@media(max-width:900px){
  body.marker-page-lock .marker-v184{height:calc(100vh - var(--top) - 104px)!important;max-height:calc(100vh - var(--top) - 104px)!important}
}

/* ================= V187 Native SAM / IE Operation Management ================= */
.sam-filter{display:grid;grid-template-columns:minmax(260px,1fr) 190px 170px auto auto;gap:8px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:10px}.sam-filter input,.sam-filter select{height:38px;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px;background:#fff}.sam-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:10px}.sam-kpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;display:flex;justify-content:space-between;align-items:center}.sam-kpis span{color:var(--muted);font-size:12px}.sam-kpis b{font-size:20px}.sam-table-wrap{max-height:calc(100vh - 320px);overflow:auto}.sam-table-wrap .clip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sam-op-modal .form-grid.cols2{grid-template-columns:1fr 1fr}.sam-import .form-grid{grid-template-columns:1fr 1fr}.sam-style-editor{min-width:0}.sam-editor-top{position:sticky;top:0;background:#fff;z-index:5}.sam-style-editor .form-grid.cols4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sam-style-editor label,.sam-audit-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.sam-style-editor input,.sam-style-editor select,.sam-audit-form input{height:36px;border:1px solid #d7dfeb;border-radius:8px;padding:0 8px}.sam-editor-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.sam-editor-actions select{min-width:260px}.sam-editor-summary{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.sam-editor-summary span{display:flex;gap:8px;align-items:center;background:#eef4ff;border-radius:999px;padding:5px 10px;font-size:12px}.sam-items-wrap{overflow:auto;max-height:480px;border:1px solid var(--line);border-radius:12px}.sam-items-wrap table{min-width:1180px}.sam-items-wrap thead th{position:sticky;top:0;z-index:2;background:#f4f7fb}.sam-items-table input,.sam-items-table select{min-width:85px;width:100%;height:32px;border:1px solid #d7dfeb;border-radius:7px;padding:0 6px}.sam-move{display:flex;gap:3px}.sam-move button{border:0;background:#edf3ff;border-radius:5px;padding:2px 5px}.sam-picker{min-width:0}.sam-picker>input{width:100%;height:40px;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px;margin-bottom:8px}.sam-pick-list{max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:6px}.sam-pick-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #e5eaf1;border-radius:10px;padding:9px 10px}.sam-pick-row>div{display:flex;flex-direction:column;min-width:0}.sam-pick-row span,.sam-pick-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sam-pick-row small{color:var(--muted)}.sam-style-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.sam-style-head h2{margin:0}.sam-style-head p{margin:4px 0;color:var(--muted)}.sam-style-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}.sam-style-meta>div{border:1px solid #e5eaf1;border-radius:10px;padding:9px 10px}.sam-style-meta span{display:block;color:var(--muted);font-size:11px}.sam-style-meta b{display:block;margin-top:3px}.sam-compare{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}.sam-compare>div{border:1px solid #dfe6f0;border-radius:11px;padding:10px;background:#f9fbfe}.sam-compare span,.sam-compare em{display:block;color:var(--muted);font-size:11px;font-style:normal}.sam-compare b{display:block;font-size:20px;margin:3px 0}.sam-detail-tabs{display:flex;border-bottom:1px solid var(--line);margin:10px 0}.sam-detail-tabs button{border:0;background:transparent;padding:10px 14px;font-weight:700;color:#64748b;border-bottom:3px solid transparent}.sam-detail-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.sam-timeline{display:flex;flex-direction:column;gap:8px}.sam-timeline>div{border-left:3px solid #d7e3ff;padding:8px 12px;background:#f9fbff;border-radius:0 10px 10px 0}.sam-timeline span{display:block;color:var(--muted);font-size:12px}.sam-timeline p{margin:4px 0 0}.sam-audit .sam-style-meta{grid-template-columns:repeat(5,1fr)}.sam-audit-form{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.sam-audit-form .span2{grid-column:span 2}.sam-audit-strip{display:flex;gap:8px;overflow:auto;margin:8px 0}.sam-audit-strip>div{min-width:190px;border:1px solid #e5eaf1;border-radius:10px;padding:9px}.sam-audit-strip span,.sam-audit-strip small{display:block;color:var(--muted);font-size:11px}.sam-items-wrap td small,.sam-items-wrap td em{display:block;font-size:11px;color:var(--muted);font-style:normal}.modal-card-wide:has(.sam-style-editor){width:min(1500px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 24px)}.modal-card-xwide:has(.sam-style-detail),.modal-card-xwide:has(.sam-audit){width:min(1540px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 24px)}
@media(max-width:1100px){.sam-filter{grid-template-columns:1fr 1fr 1fr auto auto}.sam-style-editor .form-grid.cols4{grid-template-columns:repeat(2,1fr)}.sam-style-meta,.sam-compare{grid-template-columns:repeat(2,1fr)}.sam-audit-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.sam-filter{grid-template-columns:1fr}.sam-style-editor .form-grid.cols4,.sam-op-modal .form-grid.cols2,.sam-import .form-grid,.sam-style-meta,.sam-compare,.sam-audit-form{grid-template-columns:1fr}.sam-audit-form .span2{grid-column:auto}.sam-style-head{flex-direction:column}}

/* V187 SAM modal safety and native sub-dialog */
.modal-card:has(.sam-style-editor),.modal-card.modal-card-sam-style{width:min(1500px,calc(100vw - 32px))!important;max-width:none!important;max-height:calc(100vh - 24px)!important}
.modal-card:has(.sam-style-detail),.modal-card:has(.sam-audit),.modal-card.modal-card-sam-detail{width:min(1540px,calc(100vw - 32px))!important;max-width:none!important;max-height:calc(100vh - 24px)!important}
.modal-card:has(.sam-style-editor) #modalBody,.modal-card:has(.sam-style-detail) #modalBody,.modal-card:has(.sam-audit) #modalBody{overflow:auto!important;min-height:0}
.sam-submodal{position:absolute;inset:0;z-index:80;background:rgba(15,23,42,.38);display:flex;align-items:center;justify-content:center;padding:18px}
.sam-submodal-card{width:min(920px,calc(100% - 20px));max-height:calc(100% - 20px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 20px 55px rgba(15,23,42,.28);overflow:hidden}
.sam-submodal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.sam-submodal-head b{font-size:16px}.sam-submodal-head button{border:0;background:#f1f5f9;border-radius:8px;width:32px;height:32px;font-size:20px;cursor:pointer}
.sam-submodal-body{padding:12px;overflow:auto;min-height:0}.sam-image-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.sam-image-toolbar select,.sam-image-toolbar input{height:36px;border:1px solid #d7dfeb;border-radius:8px;padding:0 9px}.sam-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.sam-image-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.sam-image-card img{width:100%;height:160px;object-fit:contain;background:#f7f9fc}.sam-image-card>div{padding:8px;display:flex;flex-direction:column;gap:4px}.sam-image-card span{font-size:12px;color:var(--muted);word-break:break-word}

/* V188 SAM style editor modal reliability */
.modal-card.modal-card-sam-style{
  width:min(1500px,calc(100vw - 28px))!important;
  max-width:none!important;
  max-height:calc(100vh - 24px)!important;
  display:flex;
  flex-direction:column;
}
.modal-card.modal-card-sam-style #modalBody{
  flex:1 1 auto;
  min-height:0;
  overflow:auto!important;
}
.modal-card.modal-card-sam-import{
  width:min(900px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 24px)!important;
}
.sam-style-editor{min-width:0;max-width:100%;box-sizing:border-box}
.sam-style-editor .sam-items-wrap{max-height:42vh;overflow:auto}
@media(max-width:760px){
  .modal-card.modal-card-sam-style{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important}
}

/* V189 Employee Feedback */
.feedback-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.feedback-kpis>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.feedback-kpis span{color:var(--muted);font-size:13px}.feedback-kpis b{font-size:24px}.feedback-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 150px 150px auto auto auto;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px}.feedback-toolbar input,.feedback-toolbar select{height:38px}.feedback-mine{display:flex!important;flex-direction:row!important;align-items:center;gap:6px!important;white-space:nowrap}.feedback-mine input{width:15px!important;height:15px!important}.feedback-list{display:flex;flex-direction:column;gap:9px}.feedback-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 15px;text-align:left;display:flex;justify-content:space-between;gap:12px;cursor:pointer}.feedback-title{font-size:16px;font-weight:700}.feedback-cat{color:#355ae8}.feedback-status{font-size:13px;margin-left:7px}.feedback-status.pending{color:#a66a00}.feedback-status.doing{color:#315edc}.feedback-status.done{color:#17834f}.feedback-meta{color:var(--muted);font-size:12px;margin:4px 0}.feedback-card p{margin:4px 0 0;color:#53627a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback-side{display:flex;gap:10px;align-items:center;white-space:nowrap;color:#77859a;font-size:12px}.feedback-form textarea{min-height:130px}.feedback-description{background:#f8fafc;border:1px solid #e7ebf1;border-radius:12px;padding:14px;line-height:1.7}.feedback-detail-head{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:12px;margin-bottom:12px}.feedback-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:12px 0}.feedback-photo-grid img{width:100%;height:110px;object-fit:cover;border-radius:10px}.feedback-timeline{display:flex;flex-direction:column;gap:8px}.feedback-reply{border-left:3px solid #5271ff;background:#f8fafc;padding:10px 12px}.feedback-reply-box{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.feedback-reply-box textarea{width:100%;min-height:90px}.feedback-reply-box>div{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.feedback-public .qr-panel{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.feedback-public .qr-panel img{width:220px;height:220px}.feedback-public .qr-panel input{width:100%;margin:8px 0}.modal-card:has(.feedback-detail),.modal-card:has(.feedback-public),.modal-card:has(.feedback-form){width:min(980px,calc(100vw - 28px))!important;max-height:calc(100vh - 24px)!important}.modal-card:has(.feedback-detail) #modalBody,.modal-card:has(.feedback-public) #modalBody,.modal-card:has(.feedback-form) #modalBody{overflow:auto!important}@media(max-width:900px){.feedback-kpis{grid-template-columns:repeat(2,1fr)}.feedback-toolbar{grid-template-columns:1fr 1fr}.feedback-toolbar>input:first-child{grid-column:1/-1}.feedback-public .qr-panel{grid-template-columns:1fr;text-align:center}.feedback-public .qr-panel img{margin:auto}}@media(max-width:600px){.feedback-toolbar{grid-template-columns:1fr}.feedback-card{flex-direction:column}}

/* V190 - 问题建议闭环工作区 */
.feedback-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.feedback-kpis .danger-kpi{border-color:#f0b5b5;background:#fff7f7}.feedback-kpis .danger-kpi b{color:#b42318}
.feedback-toolbar-v190{grid-template-columns:minmax(260px,1fr) 130px 130px 120px auto auto auto auto auto}.feedback-table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.feedback-table-wrap{overflow:auto;max-height:calc(100vh - 355px);min-height:320px}.feedback-table{min-width:1280px;margin:0}.feedback-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;white-space:nowrap}.feedback-table td{vertical-align:middle}.feedback-title-cell{min-width:260px;max-width:380px}.feedback-title-cell small{display:block;color:var(--muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.feedback-overdue-row{background:#fff9f8}.feedback-overdue{display:inline-flex;align-items:center;border-radius:999px;background:#fee4e2;color:#b42318;padding:3px 8px;font-size:12px;font-weight:700;white-space:nowrap}.feedback-priority{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.feedback-priority.normal{background:#eef2f6;color:#475467}.feedback-priority.urgent{background:#fff3cd;color:#946200}.feedback-priority.major{background:#fee4e2;color:#b42318}.feedback-status.muted-status{color:#667085}.feedback-assignment{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 14px}.feedback-assignment>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:9px 10px}.feedback-assignment span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.feedback-assignment b{font-size:13px}.feedback-action-panel{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.feedback-action-panel h3{margin:0 0 10px}.feedback-action-panel textarea{width:100%;min-height:82px}.feedback-action-panel.verify{border-color:#b9cdfa;background:#f7faff}.feedback-resolution{border-left:3px solid #5a78e8;background:#fff;padding:9px 11px;margin-bottom:10px}.feedback-resolution p{margin:5px 0 0;white-space:pre-wrap}.link-btn{background:none;border:0;color:#315edc;font-weight:700;cursor:pointer;padding:0}
@media(max-width:1100px){.feedback-toolbar-v190{grid-template-columns:1fr 1fr 1fr}.feedback-toolbar-v190>input:first-child{grid-column:1/-1}.feedback-kpis{grid-template-columns:repeat(3,1fr)}.feedback-assignment{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.feedback-toolbar-v190{grid-template-columns:1fr}.feedback-kpis{grid-template-columns:repeat(2,1fr)}.feedback-assignment{grid-template-columns:1fr}.feedback-table-wrap{max-height:calc(100vh - 430px)}}


/* V191 - Employee feedback form layout + multilingual safety */
.modal-card:has(.feedback-form-v191){width:min(1040px,calc(100vw - 28px))!important;max-height:calc(100vh - 24px)!important}
.feedback-form-v191{display:flex;flex-direction:column;gap:14px;padding:2px 0 0;min-width:0}
.feedback-form-v191 label{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;margin:0!important;color:#5d6b82;font-size:14px}
.feedback-form-v191 label>span{display:block;line-height:1.35}
.feedback-form-v191 input:not([type="checkbox"]):not([type="file"]),.feedback-form-v191 select,.feedback-form-v191 textarea{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;border:1px solid #d5deea!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font:inherit!important;padding:10px 12px!important;box-shadow:none!important}
.feedback-form-v191 input:not([type="checkbox"]):not([type="file"]),.feedback-form-v191 select{height:48px!important}
.feedback-form-v191 textarea{height:132px!important;min-height:132px!important;resize:vertical!important;line-height:1.55!important;overflow:auto!important}
.feedback-form-row{display:grid;gap:14px;min-width:0}.feedback-form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.feedback-form-v191 .feedback-anon{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;border:1px solid #e2e8f0;border-radius:10px;padding:12px!important;color:#5d6b82}
.feedback-form-v191 .feedback-anon input{width:18px!important;height:18px!important;margin:0!important;flex:0 0 auto}
.feedback-form-v191 .feedback-file-field input[type="file"]{width:100%!important;box-sizing:border-box!important;border:1px solid #d5deea;border-radius:10px;background:#fff;padding:9px 12px;min-height:48px}
.feedback-file-hint{margin-top:-7px}.feedback-form-actions{position:sticky;bottom:-1px;background:#fff;padding:12px 0 0!important;margin-top:0!important;border-top:1px solid #edf1f6;z-index:2}
@media(max-width:720px){.feedback-form-row.two{grid-template-columns:1fr}.modal-card:has(.feedback-form-v191){width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important}.feedback-form-v191 textarea{height:150px!important}}

/* V192 - feedback QR entry reliability */
.feedback-public-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.feedback-public .qr-panel img{width:210px;height:210px;object-fit:contain;border:1px solid #e1e7f0;border-radius:12px;background:#fff;padding:8px}
.feedback-public .hidden{display:none!important}
@media(max-width:680px){.feedback-public .qr-panel{grid-template-columns:1fr!important}.feedback-public .qr-panel img{width:190px;height:190px;margin:auto}}

/* V193 SAM operation/template fixes and compact style toolbar */
.sam-filter{display:flex!important;gap:8px;align-items:center!important;flex-wrap:nowrap!important}.sam-filter>input{flex:1 1 360px;min-width:220px}.sam-filter>select{flex:0 1 240px;min-width:130px}.sam-filter>button{flex:0 0 auto;white-space:nowrap}.sam-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sam-config-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.sam-config-tabs{display:flex;gap:8px}.sam-config-tabs .active{background:#e8efff;color:#315edc;border-color:#aabcf8}.sam-config-modal .table-card{max-height:480px;overflow:auto}.sam-config-edit{width:min(680px,calc(100% - 20px))}.sam-template-editor .form-grid.cols2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sam-template-editor .sam-items-wrap{max-height:52vh}.modal-card:has(.sam-template-editor){width:min(1320px,calc(100vw - 28px))!important;max-width:none!important;max-height:calc(100vh - 24px)!important}.modal-card:has(.sam-template-editor) #modalBody{overflow:auto!important}@media(max-width:1050px){.sam-filter{flex-wrap:wrap!important}.sam-filter>input{flex-basis:100%}.sam-filter>select{flex:1 1 180px}}@media(max-width:700px){.sam-filter{display:grid!important;grid-template-columns:1fr!important}.sam-template-editor .form-grid.cols2{grid-template-columns:1fr}.sam-config-head{align-items:stretch;flex-direction:column}.sam-config-tabs{flex-wrap:wrap}}


/* V195 — global searchable selector + sample order layout */
.search-select{position:relative;width:100%;min-width:0}.search-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}.search-select-input{width:100%!important;min-width:0!important;height:42px!important;box-sizing:border-box!important;border:1px solid #d7deea!important;border-radius:10px!important;background:#fff!important;padding:0 38px 0 12px!important;color:#17233b!important;outline:none!important}.search-select:after{content:'⌄';position:absolute;right:13px;top:9px;color:#64748b;font-size:18px;pointer-events:none}.search-select-input:focus{border-color:#4f72ff!important;box-shadow:0 0 0 3px rgba(79,114,255,.12)!important}.search-select-panel{position:fixed;z-index:5200;max-height:290px;overflow:auto;background:#fff;border:1px solid #d7deea;border-radius:10px;box-shadow:0 12px 30px rgba(26,39,68,.16);padding:5px;box-sizing:border-box}.search-select-panel.hidden{display:none}.search-select-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;color:#26344d;cursor:pointer;white-space:normal;line-height:1.3}.search-select-option:hover,.search-select-option.selected{background:#edf3ff;color:#315efb}.search-select-empty{padding:12px;color:#8793a8;text-align:center;font-size:13px}
.modal-card.modal-card-sample-order{width:min(980px,calc(100vw - 36px))!important;max-width:none!important;max-height:calc(100vh - 28px)!important;display:flex!important;flex-direction:column!important}.modal-card.modal-card-sample-order #modalBody{flex:1 1 auto;min-height:0;overflow:auto!important;padding:16px 18px 18px!important}.sample-order-modal{min-width:0;padding:0}.sample-order-modal .sample-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important}.sample-order-modal .sample-order-grid>label{min-width:0}.sample-order-modal .sample-order-grid .span2,.sample-order-modal .sample-order-grid .span3{grid-column:1/-1!important}.sample-order-modal .sample-order-grid input,.sample-order-modal .sample-order-grid select,.sample-order-modal .sample-order-grid textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}.sample-order-modal #smRequirements{min-height:92px!important;resize:vertical}.sample-order-modal .sample-items-section{margin-top:14px}.sample-order-modal .sample-items-section .section-toolbar{margin-bottom:8px}.sample-order-modal .sample-items-section .table-card{overflow:visible!important}.sample-order-modal .sample-edit-table{width:100%!important;min-width:0!important;table-layout:fixed}.sample-order-modal .sample-edit-table th:nth-child(1){width:23%}.sample-order-modal .sample-edit-table th:nth-child(2){width:18%}.sample-order-modal .sample-edit-table th:nth-child(3){width:14%}.sample-order-modal .sample-edit-table th:nth-child(4){width:auto}.sample-order-modal .sample-edit-table th:nth-child(5){width:78px}.sample-order-modal .sample-edit-table td{min-width:0}.sample-order-modal .sample-edit-table input{min-width:0!important}.sample-order-modal .modal-actions{position:sticky;bottom:-18px;background:#fff;border-top:1px solid #e7ebf1;margin:14px -18px -18px!important;padding:12px 18px!important;z-index:20}
@media(max-width:720px){.modal-card.modal-card-sample-order{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important}.sample-order-modal .sample-order-grid{grid-template-columns:1fr!important}.sample-order-modal .sample-order-grid .span2,.sample-order-modal .sample-order-grid .span3{grid-column:auto!important}.sample-order-modal .sample-items-section .table-card{overflow:auto!important}.sample-order-modal .sample-edit-table{min-width:680px!important}.search-select-panel{max-height:230px}}


/* V197 Visitor Management + global integration */
.visitor-tabs{display:flex;gap:6px;margin:10px 0 12px;border-bottom:1px solid var(--line);overflow:auto}.visitor-tabs button{border:0;background:transparent;padding:10px 15px;font-weight:700;color:#667085;border-bottom:3px solid transparent;white-space:nowrap;cursor:pointer}.visitor-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}
.visitor-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 10px}.visitor-kpis .metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between}.visitor-kpis .metric span{color:var(--muted);font-size:12px}.visitor-kpis .metric b{font-size:21px}.visitor-filter{display:grid;grid-template-columns:minmax(250px,1fr) 190px 145px 132px 132px auto auto auto;gap:8px;align-items:center;padding:10px;margin-bottom:10px}.visitor-filter input,.visitor-filter select{height:40px;min-width:0}.visitor-table-wrap{max-height:calc(100vh - 355px);overflow:auto}.visitor-table-wrap table{min-width:1250px}.visitor-table-wrap thead th{position:sticky;top:0;background:#f5f7fb;z-index:2}.visitor-actions{display:flex;gap:5px;flex-wrap:wrap}.visitor-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.visitor-detail-grid>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:9px 10px}.visitor-detail-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.visitor-detail-grid b{font-size:13px;word-break:break-word}.visitor-event-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}.visitor-event-list>div{border-left:3px solid #ccd9ff;background:#f8faff;border-radius:0 9px 9px 0;padding:7px 10px}.visitor-event-list small{color:var(--muted)}
.integration-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.integration-card .form-grid{margin-top:12px}.integration-switches{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0}.integration-switches .check-line{display:flex;flex-direction:row;align-items:center;gap:7px}.integration-switches input[type=checkbox]{width:17px;height:17px}.integration-stats{display:grid;grid-template-columns:repeat(2,minmax(140px,220px));gap:9px;margin:10px 0}.integration-stats>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px 12px}.integration-stats span{display:block;color:var(--muted);font-size:11px}.integration-stats b{font-size:21px}.info-banner.danger{border-color:#fecaca;background:#fff1f2;color:#9f1239}.qr-panel{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:center}.qr-panel input[readonly]{width:100%;height:42px;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px;background:#f8fafc}
@media(max-width:1100px){.visitor-filter{grid-template-columns:1fr 1fr 1fr}.visitor-filter>input:first-child{grid-column:1/-1}.visitor-kpis{grid-template-columns:repeat(3,1fr)}.visitor-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.visitor-filter{grid-template-columns:1fr}.visitor-filter>input:first-child{grid-column:auto}.visitor-kpis{grid-template-columns:repeat(2,1fr)}.visitor-detail-grid{grid-template-columns:1fr}.qr-panel{grid-template-columns:1fr}.integration-stats{grid-template-columns:1fr}}
.visitor-report-filter{display:flex;gap:8px;align-items:center;margin-bottom:10px}.visitor-report-filter input{height:40px}.visitor-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visitor-report-grid .table-card{padding:10px}.visitor-report-grid h3{margin:3px 4px 10px}.visitor-form .form-grid.cols2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visitor-form .span2{grid-column:1/-1}.visitor-form input,.visitor-form select,.visitor-form textarea{width:100%;min-width:0;box-sizing:border-box}.modal-card:has(.visitor-form){width:min(920px,calc(100vw - 28px))!important;max-height:calc(100vh - 24px)!important}
@media(max-width:700px){.visitor-report-filter{display:grid;grid-template-columns:1fr}.visitor-report-grid,.visitor-form .form-grid.cols2{grid-template-columns:1fr}.visitor-form .span2{grid-column:auto}}


/* V198 Visitor IA + public/mobile refinements */
.visitor-invite-center{min-width:min(980px,calc(100vw - 60px))}.visitor-invite-center .table-card{max-height:58vh;overflow:auto}
@media(max-width:900px){.visitor-filter{grid-template-columns:1fr 1fr}.visitor-filter>input:first-child{grid-column:1/-1}.visitor-filter .search-select{min-width:0}}
@media(max-width:700px){.visitor-filter{grid-template-columns:1fr}.visitor-filter>input:first-child{grid-column:auto}.visitor-tabs{margin-left:-2px;margin-right:-2px}.visitor-invite-center{min-width:0}.visitor-invite-center .section-toolbar{align-items:stretch}.visitor-invite-center .section-toolbar .primary-btn{width:100%}}


/* V199 Visitor invitation modal layout fix */
.modal-card-visitor-invite{width:min(1080px,calc(100vw - 36px))!important;max-width:none!important;max-height:calc(100vh - 36px)!important;display:flex;flex-direction:column;overflow:hidden}
.modal-card-visitor-invite .modal-head{flex:0 0 auto}
.modal-card-visitor-invite #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:0!important}
.visitor-invite-center{min-width:0!important;width:100%;box-sizing:border-box;padding:18px}
.visitor-invite-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:#f8faff;border:1px solid #e3e9f7;border-radius:14px;margin-bottom:14px}
.visitor-invite-hero h3{margin:0 0 5px;font-size:18px}.visitor-invite-hero p{margin:0;color:var(--muted);line-height:1.55}.visitor-invite-hero .primary-btn{flex:0 0 auto;white-space:nowrap}
.visitor-invite-history-title{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 8px}.visitor-invite-history-title span{font-size:12px;color:var(--muted)}
.visitor-invite-table-wrap{overflow:auto;max-height:52vh}
.visitor-invite-table{width:100%;min-width:0!important;table-layout:fixed}
.visitor-invite-table th,.visitor-invite-table td{white-space:normal;word-break:break-word;vertical-align:top}
.visitor-invite-table th:nth-child(1){width:9%}.visitor-invite-table th:nth-child(2){width:14%}.visitor-invite-table th:nth-child(3){width:18%}.visitor-invite-table th:nth-child(4){width:15%}.visitor-invite-table th:nth-child(5){width:13%}.visitor-invite-table th:nth-child(6){width:14%}.visitor-invite-table th:nth-child(7){width:17%}
@media(max-width:760px){
 .modal-card-visitor-invite{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}
 .visitor-invite-center{padding:12px}.visitor-invite-hero{display:grid;grid-template-columns:1fr;padding:13px}.visitor-invite-hero .primary-btn{width:100%}
 .visitor-invite-table-wrap{overflow:visible;max-height:none;border:0;background:transparent}
 .visitor-invite-table,.visitor-invite-table thead,.visitor-invite-table tbody,.visitor-invite-table tr,.visitor-invite-table td{display:block;width:100%!important}
 .visitor-invite-table thead{display:none}.visitor-invite-table tr{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-bottom:9px;box-sizing:border-box}.visitor-invite-table td{border:0!important;padding:5px 0!important}.visitor-invite-table td::before{display:inline-block;min-width:78px;color:var(--muted);font-size:11px;font-weight:600;margin-right:7px}.visitor-invite-table td:nth-child(1)::before{content:'状态'}.visitor-invite-table td:nth-child(2)::before{content:'日期 / 时间'}.visitor-invite-table td:nth-child(3)::before{content:'访客 / 公司'}.visitor-invite-table td:nth-child(4)::before{content:'拜访部门'}.visitor-invite-table td:nth-child(5)::before{content:'被访人'}.visitor-invite-table td:nth-child(6)::before{content:'目的'}.visitor-invite-table td:nth-child(7)::before{content:'操作'}
 .visitor-invite-table .empty-cell{text-align:center!important;color:var(--muted)}.visitor-invite-table .empty-cell::before{display:none}.visitor-invite-table .visitor-actions{display:inline-flex;vertical-align:middle}
}

/* V201 - System integration layout + Feishu binding details */
.integration-card-v201{padding:18px 20px}.integration-card-v201 .integration-head{padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--line);background:transparent;border-radius:0}.integration-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.integration-form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#334155;font-weight:700;font-size:13px}.integration-form-grid label>span{line-height:1.2}.integration-form-grid input{width:100%;min-width:0;box-sizing:border-box;height:42px;border:1px solid #d7dfeb;border-radius:9px;padding:0 11px;background:#fff;font:inherit;color:var(--text)}.integration-form-grid input[readonly]{background:#f8fafc;color:#64748b}.integration-form-grid small{font-weight:400;color:#94a3b8;line-height:1.35}.integration-switches-v201{padding:12px 14px;border:1px solid var(--line);background:#f8fafc;border-radius:11px;gap:26px}.integration-user-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:14px 0}.integration-user-summary .integration-stats{grid-template-columns:repeat(3,minmax(140px,190px));margin:0}.integration-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.integration-help{color:#64748b;font-size:13px;line-height:1.55;max-width:760px}.integration-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;white-space:nowrap}.modal-card.modal-card-feishu-binding{width:min(1180px,94vw);max-width:1180px}.feishu-binding-modal{min-width:0}.feishu-binding-filter{display:grid;grid-template-columns:minmax(260px,1fr) 150px auto auto;gap:9px;align-items:center;margin-bottom:12px}.feishu-binding-filter input,.feishu-binding-filter select{height:40px;width:100%;min-width:0;box-sizing:border-box;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px;background:#fff}.feishu-binding-modal .integration-stats{grid-template-columns:repeat(3,minmax(130px,190px))}.feishu-binding-table{max-height:56vh;overflow:auto}.feishu-binding-table .table{min-width:980px}.feishu-binding-table td:first-child small{display:block;margin-top:2px;color:#94a3b8}.mono-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.integration-form-grid{grid-template-columns:1fr}.integration-user-summary,.integration-footer{align-items:stretch;flex-direction:column}.integration-user-summary .integration-stats{width:100%;grid-template-columns:repeat(3,1fr)}.integration-user-summary>button{align-self:flex-end}.integration-actions{width:100%}.feishu-binding-filter{grid-template-columns:1fr 1fr}.feishu-binding-filter>input{grid-column:1/-1}}
@media(max-width:620px){.integration-card-v201{padding:14px}.integration-user-summary .integration-stats,.feishu-binding-modal .integration-stats{grid-template-columns:1fr 1fr}.integration-user-summary .integration-stats>div:first-child,.feishu-binding-modal .integration-stats>div:first-child{grid-column:1/-1}.integration-switches-v201{flex-direction:column;gap:10px}.integration-actions>*{flex:1 1 auto}.feishu-binding-filter{grid-template-columns:1fr}.feishu-binding-filter>input{grid-column:auto}.modal-card.modal-card-feishu-binding{width:96vw}.feishu-binding-table .table{min-width:820px}}

/* V202 SAM style editor compact workspace + multi-select operation picker */
.sam-style-editor{display:flex;flex-direction:column;min-height:0;height:calc(100vh - 150px);max-height:calc(100vh - 150px)}
.sam-editor-top{flex:0 0 auto;border-bottom:1px solid var(--line);padding-bottom:6px;background:#fff}
.sam-editor-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px}
.sam-editor-identity{display:flex;align-items:center;gap:10px;min-width:0}.sam-editor-identity>b{font-size:15px;color:var(--text)}.sam-editor-identity>span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sam-editor-fields{overflow:hidden;max-height:420px;opacity:1;transition:max-height .18s ease,opacity .15s ease,padding .18s ease}.sam-editor-top.is-collapsed .sam-editor-fields{max-height:0;opacity:0;pointer-events:none}
.sam-style-editor .sam-core-fields{margin-top:4px;gap:6px!important}.sam-style-editor .sam-core-fields label{gap:2px}.sam-style-editor .sam-core-fields input,.sam-style-editor .sam-core-fields select{height:31px}
.sam-compact-metrics{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:6px;margin-top:6px}.sam-compact-metrics label{gap:2px}.sam-compact-metrics input{height:30px!important}
.sam-editor-actions-compact{margin:6px 0 2px!important;min-height:34px}.sam-editor-actions-compact select{height:34px!important}.sam-editor-summary{flex:0 0 auto;margin:5px 0!important;min-height:28px}.sam-editor-summary span{padding:4px 8px!important}
.sam-style-editor>.sam-items-wrap{flex:1 1 auto;min-height:260px;max-height:none!important}.sam-editor-savebar{flex:0 0 auto;margin-top:6px!important;padding-top:6px!important;position:sticky;bottom:0;background:#fff;z-index:5}
.sam-op-picker-card{width:min(1080px,calc(100% - 18px))!important}.sam-submodal-head>div{display:flex;flex-direction:column;gap:2px}.sam-submodal-head small{color:var(--muted);font-size:11px;font-weight:400}
.sam-picker-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:8px}.sam-picker-toolbar>input{flex:1;height:40px;border:1px solid #d7dfeb;border-radius:9px;padding:0 10px}.sam-picker-toolbar>button{flex:0 0 auto}.sam-picker-toolbar+.sam-pick-list{max-height:none;flex:1}
.sam-op-picker-card .sam-submodal-body{display:flex;flex-direction:column;min-height:0;flex:1}.sam-op-picker-card .sam-pick-list{max-height:none!important;overflow:auto}
.sam-pick-row{cursor:pointer;position:relative}.sam-pick-row>input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}.sam-pick-row>div{flex:1}.sam-pick-row>em{font-size:12px;font-style:normal;color:var(--muted);white-space:nowrap}.sam-pick-row.is-selected{border-color:#7ea1ff;background:#eef4ff}.sam-pick-row.is-selected>em{color:var(--primary);font-weight:700}.sam-pick-row.is-existing{background:#f6f7f9;cursor:not-allowed;opacity:.7}
.sam-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}.sam-picker-footer>div{display:flex;gap:8px}.sam-picker-footer span{color:var(--muted)}.sam-picker-footer b{color:var(--primary);font-size:16px}
@media(max-width:1100px){.sam-compact-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.sam-style-editor{height:calc(100vh - 120px);max-height:calc(100vh - 120px)}.sam-compact-metrics{grid-template-columns:repeat(2,1fr)}.sam-editor-topline{align-items:flex-start}.sam-editor-identity{flex-direction:column;align-items:flex-start;gap:2px}.sam-picker-footer{align-items:stretch;flex-direction:column}.sam-picker-footer>div>*{flex:1}}

/* V203 SAM stable picker + compact table editor */
.sam-op-picker-card{height:min(720px,calc(100vh - 90px));max-height:min(720px,calc(100vh - 90px))}
.sam-op-picker-card .sam-submodal-body{min-height:0;overflow:hidden}
.sam-pick-list-fixed{height:520px;min-height:520px;max-height:520px!important;overflow:auto!important;align-content:start}
.sam-pick-row{min-height:72px;box-sizing:border-box}
.sam-pick-row>button{min-width:72px;flex:0 0 auto}
.sam-pick-row.is-existing>button{opacity:.75}
.sam-style-editor>.sam-items-wrap{border-radius:8px;background:#fff}
.sam-style-editor .sam-items-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1240px}
.sam-style-editor .sam-items-table th,.sam-style-editor .sam-items-table td{border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1;padding:5px 7px;vertical-align:middle;background:#fff}
.sam-style-editor .sam-items-table th{background:#f5f7fa;font-size:12px;font-weight:700;color:#26364b}
.sam-style-editor .sam-items-table tr:hover td{background:#fafcff}
.sam-style-editor .sam-items-table input,.sam-style-editor .sam-items-table select{height:30px;border:1px solid transparent!important;border-radius:5px!important;background:transparent!important;padding:0 5px!important;box-shadow:none!important}
.sam-style-editor .sam-items-table input:hover,.sam-style-editor .sam-items-table select:hover{border-color:#d5dce7!important;background:#fff!important}
.sam-style-editor .sam-items-table input:focus,.sam-style-editor .sam-items-table select:focus{border-color:#6f8fff!important;background:#fff!important;outline:none;box-shadow:0 0 0 2px rgba(75,111,255,.12)!important}
.sam-style-editor .sam-items-table th:nth-child(1){width:64px}.sam-style-editor .sam-items-table th:nth-child(2){width:110px}.sam-style-editor .sam-items-table th:nth-child(3){width:120px}.sam-style-editor .sam-items-table th:nth-child(4){width:155px}.sam-style-editor .sam-items-table th:nth-child(5){width:150px}.sam-style-editor .sam-items-table th:nth-child(6){width:90px}.sam-style-editor .sam-items-table th:nth-child(7){width:125px}.sam-style-editor .sam-items-table th:nth-child(8){width:78px}.sam-style-editor .sam-items-table th:nth-child(9){width:95px}.sam-style-editor .sam-items-table th:nth-child(10){width:120px}.sam-style-editor .sam-items-table th:nth-child(11){width:135px}.sam-style-editor .sam-items-table th:nth-child(12){width:72px}
@media(max-width:700px){.sam-pick-list-fixed{height:56vh;min-height:56vh;max-height:56vh!important}.sam-op-picker-card{height:calc(100vh - 24px);max-height:calc(100vh - 24px)}}

/* V205 - SAM detail: compact basic info + quote/production comparison table */
.sam-detail-section{margin:10px 0 12px}.sam-detail-section>h3,.sam-section-title h3{margin:0;font-size:15px;color:#17243a}.sam-section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:7px}.sam-section-title span{font-size:11px;color:var(--muted)}
.sam-basic-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.sam-basic-strip>div{min-width:0;padding:8px 10px;border-right:1px solid var(--line)}.sam-basic-strip>div:last-child{border-right:0}.sam-basic-strip span{display:block;color:var(--muted);font-size:11px;line-height:1.2}.sam-basic-strip b{display:block;margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sam-basic-strip .sam-basic-desc{grid-column:span 2}
.sam-compare-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.sam-compare-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:860px}.sam-compare-table th,.sam-compare-table td{padding:8px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}.sam-compare-table th:first-child,.sam-compare-table td:first-child{text-align:left;width:145px}.sam-compare-table tr:last-child th,.sam-compare-table tr:last-child td{border-bottom:0}.sam-compare-table th:last-child,.sam-compare-table td:last-child{border-right:0}.sam-compare-table thead th{background:#f4f7fb;color:#24324a;font-size:12px}.sam-compare-table tbody th{background:#fafbfd;color:#526079;font-size:12px}.sam-compare-table td{font-variant-numeric:tabular-nums;font-size:13px}.sam-compare-table td small{display:block;margin-top:2px;color:var(--muted);font-size:10px;white-space:nowrap}.sam-compare-table .muted-cell{color:#a0a8b6}.sam-var-over{color:#b42318;font-weight:700}.sam-var-under{color:#16794b;font-weight:700}.sam-var-even{color:#334155;font-weight:700}
.sam-style-detail .sam-detail-tabs{margin-top:8px}.sam-style-detail .sam-items-wrap{max-height:46vh}
@media(max-width:1150px){.sam-basic-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.sam-basic-strip .sam-basic-desc{grid-column:span 2}}
@media(max-width:700px){.sam-basic-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sam-basic-strip .sam-basic-desc{grid-column:span 2}.sam-section-title{align-items:flex-start;flex-direction:column;gap:3px}}

/* V206 - field audit DEPT filter and keyboard-entry workspace */
.sam-audit-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:8px 0 10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.sam-audit-toolbar label{display:flex;flex-direction:column;gap:4px;min-width:210px;color:var(--muted);font-size:12px}
.sam-audit-toolbar select{height:36px;border:1px solid #d7dfeb;border-radius:8px;padding:0 30px 0 9px;background:#fff}
.sam-audit-toolbar span{font-size:12px;font-weight:700;color:#334155;padding-bottom:9px}
.sam-audit-toolbar small{font-size:12px;color:#64748b;padding-bottom:9px;margin-left:auto}
.sam-audit-items tbody tr[hidden]{display:none}
.sam-audit-items .sat-sec:focus{outline:2px solid rgba(79,112,255,.22);border-color:var(--primary);background:#fff}
@media(max-width:700px){.sam-audit-toolbar{align-items:stretch}.sam-audit-toolbar label{width:100%;min-width:0}.sam-audit-toolbar small{margin-left:0;padding-bottom:0}.sam-audit-toolbar span{padding-bottom:0}}
\n\n/* V207 - modal state isolation / restore normal dialog density */\n.modal-card:not([class*="modal-card-"]){width:480px;max-width:calc(100vw - 32px)}\n.modal-card:not([class*="modal-card-"]) #modalBody{padding:13px}\n.modal-card:not([class*="modal-card-"]) #modalBody input,\n.modal-card:not([class*="modal-card-"]) #modalBody select{min-height:34px}\n@media(max-width:700px){.modal-card:not([class*="modal-card-"]){width:calc(100vw - 16px)}}\n

/* ================= V208 HRA master-data alignment and dialog normalization ================= */
/* Organization action: secondary action must remain readable in every theme/state. */
.org-add-team{background:#edf1f5!important;color:#17233b!important;border:0!important;opacity:1!important}
.org-add-team:hover{background:#e2e8f0!important;color:#17233b!important}

/* Staffing table has 13 real columns; keep header/data alignment deterministic. */
.staffing-table{min-width:1560px!important;table-layout:auto}
.staffing-table th,.staffing-table td{white-space:nowrap;vertical-align:middle}

/* Position/job workspace: restore compact, aligned toolbar instead of browser-native broken flow. */
.position-toolbar{display:grid!important;grid-template-columns:minmax(210px,1fr) minmax(250px,1.2fr) auto auto auto!important;gap:8px!important;align-items:center!important;margin:10px 0 12px!important}
.position-toolbar>select,.position-toolbar>.search-select{min-width:0!important;width:100%!important}
.position-toolbar>select{height:40px!important;border:1px solid #d7deea!important;border-radius:9px!important;padding:0 10px!important;background:#fff!important}
.position-toolbar .search-select-input{height:40px!important;margin:0!important}
.position-toolbar>button{height:40px!important;white-space:nowrap!important;margin:0!important}
.master-panel .table-card{overflow:auto}
.position-title-modal,.job-position-modal{padding:12px 16px 0!important}
.position-title-modal>.modal-actions,.job-position-modal>.modal-actions{margin:10px -16px 0!important;padding:10px 16px 12px!important}

/* Job-test form: normalize textarea and keep description full-width and visually consistent. */
.job-test-modal .form-grid{gap:0 14px!important}
.job-test-modal .form-grid label{min-width:0!important;margin:4px 0!important}
.job-test-modal .form-grid input,.job-test-modal .form-grid select,.job-test-modal .form-grid textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.job-test-modal .form-grid textarea{min-height:88px!important;height:88px!important;border:1px solid #d7deea!important;border-radius:9px!important;padding:9px 10px!important;resize:vertical!important;font:inherit!important;color:#17233b!important;background:#fff!important;margin:5px 0 10px!important}
.job-test-modal .form-grid .span2{grid-column:1/-1!important}
.job-test-modal>.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7ebf1;margin:8px -16px -14px!important;padding:10px 16px 14px!important;z-index:3}

/* Global safe textarea baseline for ordinary dialogs. Scoped specialist editors can override this. */
#modalBody textarea:not(.kb-editor-textarea){width:100%;min-width:0;box-sizing:border-box;border:1px solid #d7deea;border-radius:9px;padding:9px 10px;font:inherit;color:#17233b;background:#fff;resize:vertical}

@media(max-width:900px){.position-toolbar{grid-template-columns:1fr 1fr!important}.position-toolbar>button{width:100%}}
@media(max-width:700px){.position-toolbar{grid-template-columns:1fr!important}.job-test-modal .form-grid .span2{grid-column:1!important}}


/* V210 - global data-workspace sticky table headers */
.table thead th,
.table-card table thead th,
.data-table thead th,
.data-table-wrap table thead th,
.table-scroll table thead th,
.table-wrap table thead th,
.order-table-scroll table thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #f5f7fb;
  box-shadow: 0 1px 0 var(--line);
}
/* Keep visitor filters in one desktop toolbar row, including CSV export. */
@media (min-width:1101px){
  .visitor-filter{grid-template-columns:minmax(250px,1fr) 190px 145px 132px 132px auto auto auto!important;}
}

/* ODS V213 - native garment measurement (MEASURE integration) */
.measure-source-card,.measure-setup-card,.measure-work-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;margin-top:14px}
.measure-searchbar,.measure-history-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center}.measure-history-tools{grid-template-columns:minmax(240px,1fr) 160px auto;margin-bottom:12px}
.measure-result-list{margin-top:10px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.measure-result{width:100%;display:grid;grid-template-columns:120px 150px minmax(200px,1fr) 120px 70px;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--border);padding:11px 12px;background:#fff}.measure-result:last-child{border-bottom:0}.measure-result:hover{background:#f7f9ff}.measure-result em{font-style:normal;color:var(--primary);font-weight:700}
.measure-info-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.measure-info-grid>div{background:#f7f9fc;border:1px solid var(--border);border-radius:10px;padding:9px 11px;min-width:0}.measure-info-grid small{display:block;color:var(--muted);margin-bottom:3px}.measure-info-grid b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.measure-setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.measure-setup-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted)}.measure-point-head{display:flex;align-items:center;gap:12px;margin:14px 0 8px}.measure-point-head span{color:var(--muted);font-size:13px;flex:1}.measure-point-scroll{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:10px}.measure-point-table thead th{position:sticky;top:0;z-index:2;background:#f3f6fb}
.measure-work-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.measure-work-head>div:first-child{display:flex;flex-direction:column}.measure-work-head small{color:var(--muted);margin-top:3px}.measure-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.measure-actions a{text-decoration:none}.measure-summary-bar{display:flex;gap:8px;margin:12px 0}.measure-summary-bar span{padding:6px 12px;border-radius:999px;font-weight:700}.measure-summary-bar .GREEN{background:#e7f7ed;color:#18783b}.measure-summary-bar .YELLOW{background:#fff7d6;color:#9a7200}.measure-summary-bar .ORANGE{background:#ffead8;color:#ad5700}.measure-summary-bar .RED{background:#ffe0e0;color:#b52828}
.measure-table-scroll{max-height:calc(100vh - 390px);min-height:330px;overflow:auto;border:1px solid var(--border);border-radius:12px}.measure-table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;background:#fff}.measure-table th,.measure-table td{border-bottom:1px solid var(--border);padding:8px 10px;min-width:105px;text-align:center}.measure-table thead th{position:sticky;top:0;z-index:5;background:#f3f6fb}.measure-table .m-sticky-1{position:sticky;left:0;z-index:4;background:#fff;min-width:90px}.measure-table .m-sticky-2{position:sticky;left:90px;z-index:4;background:#fff;min-width:220px;text-align:left}.measure-table thead .m-sticky-1,.measure-table thead .m-sticky-2{z-index:7;background:#f3f6fb}.measure-cell{padding:5px!important}.measure-cell input{width:98px;text-align:center;padding:8px 6px;border:1px solid #d8dfeb;border-radius:8px}.measure-cell small{display:block;font-weight:700;margin-top:2px}.measure-cell.GREEN{background:#e8f7ed}.measure-cell.YELLOW{background:#fff7d6}.measure-cell.ORANGE{background:#ffead8}.measure-cell.RED{background:#ffe0e0}.measure-single-nav{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:10px}.measure-kpis{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin:12px 0}.measure-kpis>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#f8faff}.measure-kpis small{display:block;color:var(--muted)}.measure-kpis b{font-size:22px}.measure-history-wrap{max-height:60vh}.measure-summary-table{max-height:300px}.measure-detail-table{max-height:360px}.measure-history-wrap thead th,.measure-summary-table thead th,.measure-detail-table thead th{position:sticky;top:0;z-index:3;background:#f3f6fb}
@media(max-width:900px){.measure-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.measure-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.measure-work-head{align-items:flex-start;flex-direction:column}.measure-actions{justify-content:flex-start}.measure-table-scroll{max-height:calc(100vh - 320px)}.measure-kpis{grid-template-columns:repeat(2,1fr)}.measure-result{grid-template-columns:90px 1fr 65px}.measure-result span:nth-of-type(2),.measure-result span:nth-of-type(3){display:none}}

.modal-card.modal-card-measure{width:min(1500px,96vw);max-width:1500px}.measure-summary-tools{grid-template-columns:minmax(240px,1fr) 160px auto auto}.measure-summary-actions{display:flex;justify-content:flex-end;margin:8px 0}

/* V214 MEASURE workflow alignment */
.measure-searchbar input,.measure-setup-grid input,.measure-setup-grid select{height:42px;border:1px solid #d7deea;border-radius:9px;background:#fff;padding:0 12px;font:inherit;color:var(--text);box-sizing:border-box;width:100%}
.measure-current-user{height:42px;border:1px solid #d7deea;border-radius:9px;background:#f6f8fb;padding:0 12px;display:flex;align-items:center;color:var(--text);font-weight:600;box-sizing:border-box;width:100%}.measure-cell input{font-variant-numeric:tabular-nums}
.measure-setup-card{padding:14px 16px}.measure-info-grid{margin-bottom:10px}.measure-setup-grid{gap:9px 12px}.measure-setup-grid label{font-size:13px}
.measure-point-head{justify-content:space-between;align-items:center}.measure-point-head>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.measure-point-head>div:first-child span{flex:none}.measure-point-actions{display:flex;gap:8px;flex-shrink:0}
.measure-point-scroll{max-height:360px}.measure-point-table th,.measure-point-table td{padding:8px 10px}.measure-point-table tbody tr{height:42px}
.modal-card.modal-card-measure-work{width:min(1540px,97vw);max-width:1540px;height:min(900px,94vh);max-height:94vh}.modal-card-measure-work .modal-body{padding:0;overflow:hidden}.measure-modal-shell{height:100%;min-height:0}.measure-work-modal{height:100%;margin:0;border:0;border-radius:0;padding:14px 16px;display:flex;flex-direction:column;min-height:0}.measure-work-modal #mMeasureBody{flex:1;min-height:0}.measure-work-modal .measure-table-scroll{height:calc(94vh - 210px);max-height:none;min-height:320px}.measure-complete-banner{margin:-2px 0 10px;padding:9px 12px;border:1px solid #bfe7cc;border-radius:9px;background:#ecf9f0;color:#19733a;font-weight:700}
@media(max-width:900px){.measure-point-head{align-items:flex-start;flex-direction:column}.measure-point-actions{width:100%}.measure-point-actions button{flex:1}.modal-card.modal-card-measure-work{width:100vw;height:100vh;max-height:100vh;border-radius:0}.measure-work-modal .measure-table-scroll{height:calc(100vh - 220px)}}

/* V216 paper-size metadata: project washing is readonly; work order is searchable but may be typed manually. */
.ps-meta-grid input[readonly]{background:#f5f7fb!important;color:#334155!important;cursor:default}.ps-workorder-picker{position:relative;width:100%}.ps-workorder-panel{position:absolute;z-index:1400;left:0;right:0;top:calc(100% + 4px);max-height:250px;overflow:auto;background:#fff;border:1px solid #d7deea;border-radius:10px;box-shadow:0 12px 30px rgba(26,39,68,.16);padding:5px}.ps-workorder-panel.hidden{display:none}.ps-workorder-option{display:flex;width:100%;border:0;background:#fff;text-align:left;padding:8px 10px;border-radius:7px;cursor:pointer;flex-direction:column;gap:2px;color:#26344d}.ps-workorder-option:hover{background:#edf3ff;color:#315efb}.ps-workorder-option small{font-size:11px;color:#7b879c}.ps-workorder-empty{padding:10px;color:#8793a8;text-align:center;font-size:12px}

/* ODS V217 measurement workspace alignment */
.measure-searchbar>button{height:42px;min-width:96px;white-space:nowrap}
.measure-actions{align-items:center}.measure-actions .primary-btn,.measure-actions .secondary-btn,.measure-actions a.secondary-btn{height:38px;min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap}
.measure-table .m-sticky-1{left:0;min-width:90px;width:90px}
.measure-table .m-sticky-2{left:90px;min-width:220px;width:220px}
.measure-table .m-sticky-3{position:sticky;left:310px;z-index:4;background:#fff;min-width:110px;width:110px;font-weight:700}
.measure-table .m-sticky-4{position:sticky;left:420px;z-index:4;background:#fff;min-width:165px;width:165px}
.measure-table thead .m-sticky-3,.measure-table thead .m-sticky-4{z-index:7;background:#f3f6fb}
.measure-table .m-sticky-4{box-shadow:5px 0 8px -7px rgba(20,34,54,.7)}
.modal-card.modal-card-measure-summary{height:min(900px,94vh);max-height:94vh}.modal-card-measure-summary .modal-body{overflow:hidden;padding:12px 16px 16px}.measure-summary-shell{height:100%;display:flex;flex-direction:column;min-height:0}.measure-summary-output{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.measure-summary-output>.empty-panel{margin-top:10px}.measure-summary-section{display:flex;flex-direction:column;min-height:0;margin-top:10px}.measure-summary-section:first-of-type{flex:0 0 min(300px,35vh)}.measure-summary-detail-section{flex:1 1 auto}.measure-summary-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:0 2px}.measure-summary-section-head h3{margin:0;font-size:16px}.measure-summary-section-head span{color:var(--muted);font-size:12px}.measure-summary-table,.measure-detail-table{max-height:none!important;height:100%;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:10px}.measure-summary-table table,.measure-detail-table table{min-width:100%;margin:0}.measure-detail-table table{min-width:1180px}.measure-summary-table thead th,.measure-detail-table thead th{top:0;z-index:4}.measure-summary-actions{margin:6px 0 0}.measure-kpis{margin:10px 0 2px}
@media(max-width:900px){.measure-searchbar{grid-template-columns:minmax(0,1fr) auto auto}.measure-searchbar>button{min-width:auto;padding:0 10px}.measure-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.measure-actions>*{flex:0 0 auto}.measure-table .m-sticky-2{min-width:170px;width:170px}.measure-table .m-sticky-3{left:260px}.measure-table .m-sticky-4{left:370px}.modal-card.modal-card-measure-summary{height:100vh;max-height:100vh}.measure-summary-section:first-of-type{flex-basis:260px}}

/* V219: attachment preview-first actions */
.attachment-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;vertical-align:middle}.attachment-actions .table-btn{white-space:nowrap;text-decoration:none}.attachment-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#27364f}.doc-actions .attachment-actions{justify-content:flex-end}.sample-file-chips .attachment-actions{padding:0;background:transparent}.sample-file-list>div{grid-template-columns:110px minmax(0,1fr) auto 170px auto}.file-row{gap:10px;align-items:center}.file-row .file-main{min-width:0;display:flex;flex-direction:column;gap:3px}.file-row .file-main b,.file-row .file-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.sample-file-list>div{grid-template-columns:1fr}.doc-actions .attachment-actions{justify-content:flex-start}.attachment-actions{gap:5px}}

/* V221 packing list print header: brand logo before customer name */
.pack-report-customer{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;margin:0 0 5px}
.pack-report-customer h1{margin:0!important;line-height:1.2;overflow-wrap:anywhere}
.pack-report-brand-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:42px;padding:3px 5px;box-sizing:border-box;background:#fff}
.pack-report-brand-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:780px){.pack-report-customer{justify-content:flex-start}.pack-report-brand-logo{flex-basis:50px;width:50px;height:36px}}
@media print{body.pack-print-mode .pack-report-brand-logo{width:14mm;height:10mm;flex-basis:14mm;padding:0 1mm}.pack-report-customer{gap:2.5mm}}


/* ODS V222 packing print polish: larger brand logo, box-derived CTN and aligned tables */
.pack-report-brand-logo{flex:0 0 86px;width:86px;height:58px;padding:2px 4px}
.pack-report-table th,.pack-report-table td{vertical-align:middle}
.pack-report-table th.txt,.pack-report-table td.txt{text-align:left}
.pack-report-table th.ctr,.pack-report-table td.ctr{text-align:center}
.pack-report-table th.num,.pack-report-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.pack-report-table thead th:not(.txt):not(.ctr):not(.num){text-align:center}
@media(max-width:780px){.pack-report-brand-logo{flex-basis:72px;width:72px;height:50px}}
@media print{body.pack-print-mode .pack-report-brand-logo{width:22mm;height:15mm;flex-basis:22mm;padding:0 1mm}.pack-report-table th,.pack-report-table td{vertical-align:middle}}

/* V224 Packing report completion: keep total row aligned with its headers. */
.pack-report-table .pack-grand td{vertical-align:middle}
.pack-report-table .pack-grand td.txt{text-align:left}
.pack-report-table .pack-grand td.num{text-align:right;font-variant-numeric:tabular-nums}

/* V226 Shipping packing list: master-PO query + customer size conversion matrix */
.pack-mode-tabs{display:flex;gap:8px;margin:0 0 12px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:12px;width:max-content;max-width:100%}
.pack-mode-tabs button{height:38px;padding:0 18px;border:0;border-radius:9px;background:#eef2f7;color:#26354d;font:inherit;font-weight:700;cursor:pointer}
.pack-mode-tabs button.active{background:var(--primary);color:#fff}
.shipping-query-card{padding:14px 16px;margin-bottom:12px}.shipping-query-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(180px,260px) auto;gap:10px;align-items:end}.shipping-query-grid label{display:grid;gap:5px;color:var(--muted);font-size:13px}.shipping-query-grid input{height:42px;border:1px solid var(--border);border-radius:9px;padding:0 12px;background:#fff;color:var(--text);font:inherit;box-sizing:border-box;width:100%}.shipping-query-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.shipping-query-actions button{height:42px}.shipping-pack-meta{margin-top:8px;color:var(--muted);font-size:12px}.shipping-result-card{padding:14px 16px;overflow:hidden}
.shipping-pack-sheet{min-width:1120px;color:#111;background:#fff}.shipping-pack-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 0 9px;border-bottom:2px solid #222;margin-bottom:10px}.shipping-pack-title h2{margin:0;font-size:23px;letter-spacing:.02em}.shipping-pack-title>div{font-size:13px;white-space:nowrap}.shipping-pack-sheet h3{margin:12px 0 6px;font-size:18px}.shipping-table-wrap{width:100%;overflow:auto;border:1px solid #9ca3af;background:#fff}.shipping-pack-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;color:#111}.shipping-pack-table th,.shipping-pack-table td{border:1px solid #7a7a7a;padding:5px 7px;vertical-align:middle;white-space:nowrap}.shipping-pack-table th{position:sticky;top:0;z-index:3;background:#f3f3f3;text-align:center;font-weight:700}.shipping-pack-table th span{font-weight:500}.shipping-pack-table td{text-align:center}.shipping-pack-table .txt{text-align:left}.shipping-pack-table .ctr{text-align:center}.shipping-pack-table .num{text-align:right;font-variant-numeric:tabular-nums}.shipping-summary-table th:nth-child(1){width:82px}.shipping-summary-table th:nth-child(2){width:110px}.shipping-summary-table th:nth-child(3){width:100px}.shipping-summary-table th:nth-child(4){width:78px}.shipping-summary-table .shipping-scale-code{width:34px;min-width:34px;text-align:center;font-style:italic}.shipping-size-band{background:#e9edf3!important}.shipping-size-active th{background:#fff4c2!important;border-top:2px solid #7a6200;border-bottom:2px solid #7a6200}.shipping-grand td{background:#f1f1f1;font-weight:700;border-top:2px solid #555}.shipping-detail-table th:nth-child(1){width:60px}.shipping-detail-table th:nth-child(2){width:140px}.shipping-detail-table th:nth-child(3){width:100px}.shipping-detail-table th:nth-child(4){width:70px}.shipping-detail-table th:nth-child(5){width:70px}.shipping-detail-table th:nth-child(6){width:90px}.shipping-pack-print-overlay{position:fixed;inset:0;z-index:3000;background:#f3f5f8;overflow:auto;padding-top:58px}.shipping-print-toolbar{position:fixed;left:0;right:0;top:0;height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 18px;background:#fff;border-bottom:1px solid var(--border);z-index:3001}.shipping-print-page{max-width:1600px;margin:14px auto;background:#fff;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.08)}
@media(max-width:900px){.shipping-query-grid{grid-template-columns:1fr}.shipping-query-actions{overflow-x:auto}.shipping-pack-title{align-items:flex-start;flex-direction:column}.pack-mode-tabs{width:100%}.pack-mode-tabs button{flex:1}}
@media print{body.shipping-pack-print-mode>*:not(#shippingPackPrintOverlay){display:none!important}body.shipping-pack-print-mode #shippingPackPrintOverlay{display:block!important;position:static!important;inset:auto!important;padding:0!important;background:#fff!important;overflow:visible!important}body.shipping-pack-print-mode .shipping-print-toolbar{display:none!important}body.shipping-pack-print-mode .shipping-print-page{max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important}body.shipping-pack-print-mode .shipping-pack-sheet{min-width:0!important;width:100%!important}body.shipping-pack-print-mode .shipping-table-wrap{overflow:visible!important;border:0!important}body.shipping-pack-print-mode .shipping-pack-table{font-size:8.5px!important;table-layout:fixed!important}body.shipping-pack-print-mode .shipping-pack-table th,body.shipping-pack-print-mode .shipping-pack-table td{padding:2.2px 3px!important}body.shipping-pack-print-mode .shipping-pack-table th{position:static!important}body.shipping-pack-print-mode .shipping-pack-title h2{font-size:16px!important}body.shipping-pack-print-mode .shipping-pack-sheet h3{font-size:12px!important;margin:7px 0 3px!important}@page{size:A4 landscape;margin:7mm}}


/* V227 packing workspace: compact mode switch in workspace header, isolated panes */
.pack-mode-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;background:#eef2f7;border:1px solid var(--border);border-radius:10px;white-space:nowrap}
.pack-mode-switch button{height:34px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:#42516a;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.15s ease}
.pack-mode-switch button:hover{background:#fff;color:var(--text)}
.pack-mode-switch button.active{background:var(--blue)!important;color:#fff!important;box-shadow:0 3px 10px rgba(63,96,255,.22)}
.packing-mode-pane.hidden{display:none!important}
.packing-mode-pane{min-width:0}
/* Legacy V226 standalone tab row is no longer rendered; keep harmless compatibility only. */
.pack-mode-tabs{display:none!important}
@media(max-width:760px){.workspace-bar{align-items:flex-start}.pack-mode-switch{max-width:100%;overflow-x:auto}.pack-mode-switch button{flex:0 0 auto;padding:0 11px}}

/* V229: packing mode selector follows the system top-tab selected state. */
.workspace-actions .pack-mode-switch{background:#f1f4f8;border:0;padding:4px;border-radius:12px;gap:4px}
.workspace-actions .pack-mode-switch button{height:40px;padding:0 18px;border-radius:10px;background:transparent;color:#26354d;font-size:14px;font-weight:700}
.workspace-actions .pack-mode-switch button:hover:not(.active){background:#fff;color:#18253a}
.workspace-actions .pack-mode-switch button.active{background:var(--blue)!important;color:#fff!important;box-shadow:0 5px 14px rgba(65,102,255,.22)!important}

/* V230 PACK local-cache controls */
.pack-head-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.pack-sync-status{font-size:12px;color:var(--muted,#74829a);white-space:nowrap}.pack-head-tools>.table-btn{height:44px;white-space:nowrap}.pack-head-tools .pack-mode-switch{margin:0}@media(max-width:900px){.pack-sync-status{display:none}.pack-head-tools{gap:6px}}

/* V231 MES / 扫描包装 / 装箱明细 */
.pcm-settings-card,.pcm-data-card{padding:14px 16px;margin-bottom:12px}.pcm-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:12px}.pcm-kpis>div{border:1px solid #e0e6ef;border-radius:12px;background:#f8fafe;padding:10px 13px}.pcm-kpis span{display:block;color:#7b899f;font-size:12px;margin-bottom:4px}.pcm-kpis b{font-size:19px;color:#18253b}.pcm-config-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.pcm-config-row>label:not(.pcm-switch){display:grid;gap:5px;color:#61708a;font-size:13px}.pcm-config-row select,.pcm-config-row input,.pcm-toolbar input{height:38px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;padding:0 11px;font:inherit;color:#17233a;box-sizing:border-box}.pcm-switch{height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d7dfeb;border-radius:9px;background:#fff}.pcm-toolbar{gap:12px}.pcm-toolbar .data-workspace-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pcm-toolbar input{width:190px}.pcm-toolbar #pcmKeyword{width:320px}.pcm-table-scroll{height:calc(100vh - 390px);min-height:300px;overflow:auto;border:1px solid #e0e6ef;border-radius:12px}.pcm-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.pcm-table th{position:sticky;top:0;z-index:4;background:#edf2f8}.pcm-table th,.pcm-table td{white-space:nowrap;padding:8px 10px}.pcm-table .num{text-align:right;font-variant-numeric:tabular-nums}.pcm-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:10px}.pcm-pager span{min-width:72px;text-align:center;color:#61708a}@media(max-width:1000px){.pcm-kpis{grid-template-columns:repeat(2,1fr)}.pcm-table-scroll{height:calc(100vh - 470px)}.pcm-toolbar #pcmKeyword{width:220px}}@media(max-width:650px){.pcm-kpis{grid-template-columns:1fr}.pcm-config-row>*{width:100%}.pcm-toolbar .data-workspace-tools{width:100%}.pcm-toolbar input,.pcm-toolbar #pcmKeyword{width:100%}}
/* V232 PACK incremental synchronization controls */
.pcm-po-sync-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 2px;border-top:1px solid var(--line,#e2e8f0);margin-top:12px}.pcm-po-sync-row>div:first-child{display:flex;flex-direction:column;gap:3px}.pcm-po-sync-row .data-workspace-tools{display:flex;gap:10px;align-items:center}.pcm-po-sync-row input{min-width:340px}.pcm-config-row label>span{white-space:nowrap}@media(max-width:900px){.pcm-po-sync-row{align-items:stretch;flex-direction:column}.pcm-po-sync-row .data-workspace-tools{width:100%}.pcm-po-sync-row input{min-width:0;flex:1}}


/* V235 assessment participant selector */
.assessment-picker-head{margin:16px 0 10px}.assessment-picker-head .assessment-person-filter{margin:0}.assessment-picker-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:8px;color:#718096;font-size:13px}.assessment-person-table{padding:0;max-height:340px;background:#fff;overflow:auto;border-radius:12px}.assessment-person-table .assessment-emp-grid{display:grid;grid-template-columns:58px 110px minmax(150px,1.1fr) minmax(150px,1fr) minmax(220px,1.6fr) minmax(120px,.9fr);align-items:center;column-gap:8px}.assessment-person-table .assessment-emp-grid-head{position:sticky;top:0;z-index:3;min-height:42px;padding:0 12px;background:#f4f7fb;border-bottom:1px solid #dfe5ef;font-weight:700;color:#1f2937}.assessment-person-table label.assessment-emp-row{min-height:46px;padding:6px 12px;border-bottom:1px solid #edf0f6;cursor:pointer}.assessment-person-table label.assessment-emp-row:hover{background:#f8faff}.assessment-person-table label.assessment-emp-row:last-child{border-bottom:0}.assessment-person-table .assessment-emp-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-person-table input[type=checkbox]{width:18px;height:18px;margin:0}.assessment-person-table b{font-size:14px}.job-test-modal .modal-actions{margin-top:10px}
@media(max-width:1100px){.assessment-person-table .assessment-emp-grid{min-width:930px;grid-template-columns:52px 100px 150px 150px 230px 130px}.assessment-person-table{overflow:auto}}


/* V238 typing progress + detailed test feedback */
.typing-progress-source{max-height:230px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:Consolas,"Courier New",monospace;font-size:17px;line-height:1.9;padding:14px 16px;scroll-behavior:smooth}
.typing-char{border-radius:3px;transition:background-color .08s,color .08s}
.typing-char-pending{color:#64748b}
.typing-char-correct{color:#1f7a45;background:#eaf7ef}
.typing-char-error{color:#b42318;background:#fee4e2;text-decoration:underline;text-decoration-thickness:2px;font-weight:700}
.typing-char-current{color:#0f172a;background:#dbe7ff;box-shadow:inset 0 -3px 0 #4b6fff;font-weight:700}
.typing-end-marker{display:inline-block;min-width:4px;color:#4b6fff}
.spreadsheet-grade-detail{display:block;padding:0;overflow:hidden;background:#fff}
.spreadsheet-grade-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.spreadsheet-grade-head span{font-size:12px;color:#64748b}
.spreadsheet-check-row{padding:12px 14px;border-bottom:1px solid #edf1f5;background:#fff}
.spreadsheet-check-row:last-child{border-bottom:0}
.spreadsheet-check-row.bad{background:#fff9f8;color:inherit}.spreadsheet-check-row.ok{background:#fbfefc;color:inherit}
.spreadsheet-check-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.spreadsheet-check-title>b{font-size:14px}.spreadsheet-check-title>span{font-size:12px;color:#64748b}
.spreadsheet-check-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spreadsheet-check-detail>div{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid #e8edf3;border-radius:8px;background:#fff}.spreadsheet-check-detail span{font-size:11px;color:#64748b}.spreadsheet-check-detail b{font-size:12px;line-height:1.45;word-break:break-word}.spreadsheet-check-reason{grid-column:1/-1;border-color:#f6cbc6!important;background:#fff4f2!important}.spreadsheet-check-reason b{color:#b42318}
.test-error-section{margin-top:16px;text-align:left}.test-error-section h3{margin:0 0 10px;font-size:15px}.test-detail-success{margin-top:16px;padding:12px 14px;border-radius:10px;background:#eaf7ef;color:#1f7a45;font-weight:700}
.color-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.color-result-card{display:flex;align-items:center;gap:14px;border:1px solid #f0d0cc;border-radius:12px;background:#fff9f8;padding:10px}.color-result-canvas{width:120px!important;height:120px!important;flex:0 0 120px;border-radius:50%}.color-result-card>div{display:flex;flex-direction:column;gap:5px}.color-result-card span{font-size:13px;color:#475569}.bad-text{color:#b42318}
@media(max-width:700px){.spreadsheet-check-detail{grid-template-columns:1fr}.color-result-grid{grid-template-columns:1fr}.color-result-canvas{width:96px!important;height:96px!important;flex-basis:96px}.typing-progress-source{font-size:15px;max-height:190px}}


/* V243 unified vertical scrolling
   Form/configuration workspaces use the main page scrollbar.
   Only genuine data/table regions and modal bodies may own an internal scrollbar. */
.thread-tool-card{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.thread-tool-frame{
  height:auto;
  min-height:680px;
  overflow:hidden!important;
}
.marker-integrated-shell,
.marker-integrated-shell.marker-unified,
.marker-v184{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}
.marker-integrated-shell .marker-integrated-frame,
.marker-integrated-shell.marker-unified .marker-integrated-frame,
.marker-v184 .marker-integrated-frame{
  height:auto;
  max-height:none!important;
  min-height:720px!important;
  overflow:hidden!important;
}
/* V184 page-lock is retired: marker is now part of the normal document flow. */
body.marker-page-lock,
html:has(body.marker-page-lock),
body.marker-page-lock main,
body.marker-page-lock #content,
body.marker-page-lock .marker-v184,
body.marker-page-lock .marker-v184 .marker-integrated-frame{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}
/* Keep horizontal scrolling on real wide data tables. */
.marker-v184 iframe,
.thread-tool-card iframe{width:100%;display:block;border:0}

/* V244 global workspace scroll contract
   1) top navigation is a permanently fixed layer and never participates in workspace scrolling;
   2) main owns the page-level vertical scrollbar only below the top bar;
   3) genuine table/data regions may keep their own scrollbars, and their column headers stay fixed. */
@media (min-width:901px){
  main{
    position:fixed!important;
    top:var(--top)!important;
    right:0!important;
    bottom:0!important;
    left:var(--side)!important;
    width:auto!important;
    height:auto!important;
    padding:14px 16px 22px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}
@media (max-width:900px){
  main{
    position:fixed!important;
    top:calc(var(--top) + 42px)!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:auto!important;
    height:auto!important;
    padding:10px 10px 18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}

/* Modern tables with an explicit THEAD. */
.table-card table thead th,
.table-scroll table thead th,
.table-wrap table thead th,
.data-table-wrap table thead th,
.workspace-data-scroll table thead th,
.master-panel .table-card table thead th{
  position:sticky!important;
  top:0!important;
  z-index:12!important;
  background:#f5f7fb!important;
  box-shadow:0 1px 0 var(--line),0 2px 5px rgba(21,33,59,.05)!important;
}

/* Legacy system tables were often rendered as <table><tr><th>...</th></tr>...
   Browsers insert TBODY automatically, so keep that first header row sticky as well. */
.table-card > table > tbody:first-child > tr:first-child > th,
.table-scroll > table > tbody:first-child > tr:first-child > th,
.table-wrap > table > tbody:first-child > tr:first-child > th,
.master-panel .table-card > table > tbody:first-child > tr:first-child > th,
#jobPositionTable .table-card > table > tbody:first-child > tr:first-child > th{
  position:sticky!important;
  top:0!important;
  z-index:12!important;
  background:#f5f7fb!important;
  box-shadow:0 1px 0 var(--line),0 2px 5px rgba(21,33,59,.05)!important;
}

/* Data-region containers are the only normal workspace elements allowed to own
   an inner scrollbar.  Sticky headers remain anchored to these containers. */
.table-card.workspace-data-scroll,
.table-scroll,
.data-table-wrap,
.order-table-scroll,
.measure-table-scroll,
.measure-point-scroll,
.feedback-table-wrap,
.visitor-table-wrap,
.pcm-table-scroll,
.mop-table-scroll,
.assessment-person-table{
  position:relative;
  scrollbar-gutter:stable;
}

/* ODS V245 — data viewport / sticky header / unified packing refinements */
/* Development project technical tabs are genuine data regions.  Even in the
   expanded profile view, rows scroll inside the data viewport while the column
   header remains visible. */
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card{
  position:relative!important;
  overflow:auto!important;
  max-height:min(54vh,calc(100vh - 360px))!important;
  min-height:220px;
  overscroll-behavior:contain;
  border-radius:10px!important;
}
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card > .dev-data-grid{
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card > .dev-data-grid tr:first-child th{
  position:sticky!important;
  top:0!important;
  z-index:45!important;
  background:#eaf0f7!important;
  box-shadow:0 1px 0 #d7e0ec,0 2px 5px rgba(21,33,59,.05)!important;
}

/* Employee master: the table owns the remaining viewport height so the pager
   and totals stay reachable without falling below the screen. */
.employee-table-wrap{
  min-height:220px!important;
  overflow:auto!important;
  position:relative!important;
  overscroll-behavior:contain;
}
.employee-table-wrap > .employee-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.employee-table-wrap > .employee-table > tbody:first-child > tr:first-child > th{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  background:#f5f7fb!important;
  box-shadow:0 1px 0 var(--line),0 2px 5px rgba(21,33,59,.05)!important;
}
.pager{flex:0 0 auto;min-height:42px;padding:8px 0 2px;background:var(--bg,#f4f6fa);position:relative;z-index:2}

/* Pattern Dimensions: Washing is read-only business data, but visually it must
   use the same field treatment as the surrounding style-information cells. */
#psWashing{
  background:#fff!important;
  color:var(--text,#17233a)!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
  opacity:1!important;
  -webkit-text-fill-color:var(--text,#17233a)!important;
}

/* Unified PACK-source workspace */
.pack-unified-query,.pack-unified-batches,.pack-generate-card{padding:14px 16px;margin-bottom:12px}
.pack-unified-query-grid{display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(180px,.7fr) auto;gap:10px;align-items:end}
.pack-unified-query-grid label{display:grid;gap:5px;color:#61708a;font-size:13px}
.pack-unified-query-grid input{height:40px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;padding:0 12px;font:inherit;color:#17233a;box-sizing:border-box;width:100%}
.pack-query-note{margin-top:8px;color:#75839a;font-size:12px}
.pack-batch-scroll{max-height:min(42vh,390px);min-height:150px;overflow:auto;border:1px solid #e0e6ef;border-radius:10px;position:relative}
.pack-batch-scroll table{border-collapse:separate;border-spacing:0;width:100%;min-width:950px}
.pack-batch-scroll thead th{position:sticky!important;top:0!important;z-index:12!important;background:#edf2f8!important}
.pack-batch-scroll tfoot td{position:sticky;bottom:0;z-index:10;background:#fff7d6!important;font-weight:700;border-top:2px solid #e4c76b}
.pack-batch-table{table-layout:fixed!important;width:100%!important;min-width:900px!important}.pack-batch-table col.c-check{width:72px}.pack-batch-table col.c-po{width:150px}.pack-batch-table col.c-mps{width:145px}.pack-batch-table col.c-style{width:130px}.pack-batch-table col.c-color{width:120px}.pack-batch-table col.c-qty{width:130px}.pack-batch-table col.c-ctn{width:100px}.pack-batch-table col.c-rows{width:105px}.pack-batch-table th,.pack-batch-table td{box-sizing:border-box;padding:8px 12px!important;vertical-align:middle!important}.pack-batch-table th{text-align:left!important}.pack-batch-table th.check-cell,.pack-batch-table td.check-cell{text-align:center!important}.pack-batch-table th.num,.pack-batch-table td.num{text-align:right!important;font-variant-numeric:tabular-nums}.pack-batch-table .pack-batch-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-batch-table tfoot td:first-child{text-align:left!important}
.pack-generate-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.pack-generate-row>div:first-child{display:flex;align-items:center;gap:14px}
.pack-output-modes{display:flex;gap:4px;background:#eef2f7;padding:4px;border-radius:10px}
.pack-output-modes button{height:34px;border:0;border-radius:8px;background:transparent;color:#40516a;padding:0 18px;font-weight:700;cursor:pointer}
.pack-output-modes button.active{background:#4f70ff;color:#fff;box-shadow:0 2px 7px rgba(79,112,255,.22)}
.pack-generate-actions{display:flex;align-items:center;gap:8px}
.asn-report-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}.asn-report-head h3{margin:0 0 4px}.asn-report-head p{margin:0;color:#64748b}
.visitor-preset-list{display:grid;gap:7px;max-height:min(62vh,620px);overflow:auto;margin-top:12px}.visitor-preset-row{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(180px,1fr) minmax(180px,1fr);gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.visitor-preset-row select{width:100%;height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 9px}.visitor-preset-row b{font-size:13px}@media(max-width:700px){.visitor-preset-row{grid-template-columns:1fr}.visitor-preset-row b{padding-top:3px}}
.asn-table-scroll{max-height:calc(100vh - 360px);min-height:240px;overflow:auto;border:1px solid #dfe5ef;border-radius:10px}
.asn-table-scroll table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px}.asn-table-scroll thead th{position:sticky!important;top:0!important;z-index:8!important;background:#edf2f8!important}.asn-table-scroll tfoot td{position:sticky;bottom:0;z-index:7;background:#fff7d6!important}
@media(max-width:900px){.pack-unified-query-grid{grid-template-columns:1fr}.pack-generate-row{align-items:stretch;flex-direction:column}.pack-generate-row>div:first-child{align-items:flex-start;flex-direction:column}.pack-generate-actions{width:100%;overflow-x:auto}.pack-output-modes{width:100%}.pack-output-modes button{flex:1}.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card{max-height:52vh!important}}

/* ODS V246 — ASN/DBS generation fields */
.pack-asn-fields{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(200px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.pack-asn-fields label{display:grid;gap:5px;color:var(--muted);font-size:13px}.pack-asn-fields input,.pack-asn-fields select{height:42px;border:1px solid var(--border);border-radius:9px;padding:0 11px;background:#fff;color:var(--text);font:inherit;box-sizing:border-box;width:100%}.asn-report-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.asn-report-head h3{margin:0 0 5px}.asn-report-head p{margin:3px 0;color:var(--muted)}.asn-table-scroll{max-height:min(52vh,520px);overflow:auto;border:1px solid var(--border);border-radius:10px}.asn-table-scroll thead th{position:sticky;top:0;z-index:4;background:var(--panel,#fff)}
@media(max-width:1100px){.pack-asn-fields{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:700px){.pack-asn-fields{grid-template-columns:1fr}}

/* V247 pattern-size ADJ column: manually recorded only, excluded from calculations. */
#psMeasureTable .ps-adjust-head{background:#6b5b95!important}
#psMeasureTable td.ps-adjust-cell{background:#f4efff}
#psMeasureTable .ps-adjust-input{width:76px;text-align:center;border:1px solid #8b79b5;background:#fff;font-weight:700}
.ps-col-adjust{width:88px;min-width:88px}


/* V248 workspace density + single-data-area scrolling contract */
body.v248-single-data-page #content,
body.v248-claim-page #content,
body.v248-audit-page #content{
  overflow:hidden!important;
  height:100%!important;
  min-height:0!important;
}
body.v248-single-data-page #content>*,
body.v248-claim-page #content>*,
body.v248-audit-page #content>*{min-height:0}
.v248-single-data-region{overflow:hidden!important;min-height:0!important}
.staffing-wrap.v248-single-data-region{height:calc(100vh - 245px)!important;max-height:none!important;overflow:auto!important}
.staffing-wrap.v248-single-data-region table{min-width:1320px}
.staffing-wrap.v248-single-data-region tr:first-child th{position:sticky;top:0;z-index:8;background:#f4f7fb!important}

/* Claims: compact KPI/query header, let the table own the only vertical scrollbar. */
body.v248-claim-page .workspace-bar{margin-bottom:8px!important}
body.v248-claim-page .claim-kpis{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important;margin-bottom:7px!important}
body.v248-claim-page .claim-kpis .kpi{min-height:48px!important;padding:7px 12px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
body.v248-claim-page .claim-kpis .kpi span{font-size:11px!important}
body.v248-claim-page .claim-kpis .kpi b{font-size:18px!important;margin:0!important}
body.v248-claim-page .claim-filter{gap:7px!important;margin-bottom:7px!important;align-items:center!important}
body.v248-claim-page .claim-filter input,body.v248-claim-page .claim-filter select,body.v248-claim-page .claim-filter button{height:36px!important}
body.v248-claim-page .v248-single-data-region{height:calc(100vh - 285px)!important}
body.v248-claim-page .claim-table-wrap{height:100%!important;max-height:none!important;min-height:0!important;overflow:auto!important}

/* Field audit list + audit modal: denser controls and a larger effective data area. */
body.v248-audit-page .workspace-bar{margin-bottom:7px!important}
body.v248-audit-page .sam-filter{padding:7px 9px!important;margin-bottom:7px!important;gap:7px!important}
body.v248-audit-page .sam-filter input,body.v248-audit-page .sam-filter select{height:34px!important}
body.v248-audit-page .sam-table-wrap.v248-single-data-region{height:calc(100vh - 205px)!important;max-height:none!important;overflow:auto!important}
.sam-audit .sam-style-meta{gap:5px!important;margin:5px 0!important}.sam-audit .sam-style-meta>div{padding:6px 8px!important;border-radius:8px!important}.sam-audit-toolbar{margin:5px 0!important;padding:5px 8px!important;min-height:0!important}.sam-audit-toolbar select{height:32px!important}.sam-audit-form{gap:6px!important;margin:6px 0!important}.sam-audit-form input{height:32px!important}.sam-audit .sam-audit-items{max-height:42vh!important}.sam-audit .modal-actions{margin:7px 0!important}.sam-audit>h3{margin:8px 0 5px!important}.sam-audit-strip{margin:5px 0!important}.sam-audit-strip>div{padding:6px 8px!important}

/* Order list V248: only two views. MPS is concise; PO is the complete order-information view. */
.order-table{min-width:100%}.order-page .seg-tabs button{white-space:nowrap}
body.order-list-lock .order-list-card{min-height:0}

/* V249 — one-data-area workspace contract: the data region owns the only vertical scrollbar. */
body.v248-single-data-page main,
body.v248-claim-page main,
body.v248-audit-page main,
body.v249-single-data-page main,
body.order-list-lock main{
  overflow:hidden!important;
}
body.v248-single-data-page #content,
body.v248-claim-page #content,
body.v248-audit-page #content,
body.v249-single-data-page #content,
body.order-list-lock #content{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.v249-single-data-page #content>.workspace-bar,
body.v249-single-data-page #content>.master-tabs,
body.v249-single-data-page #content>.master-panel>.position-toolbar,
body.v249-single-data-page #content>.master-panel>.master-note,
body.v248-single-data-page #content>.workspace-bar,
body.v248-single-data-page #content>.staffing-summary{
  flex:0 0 auto;
}
body.v249-single-data-page .master-panel.active{display:flex!important;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}
body.v249-single-data-page .master-panel.active>.v249-single-data-region,
body.v249-single-data-page .master-panel.active>#jobPositionTable,
body.v249-single-data-page #jobPositionTable>.v249-single-data-region{
  flex:1 1 auto;min-height:0;overflow:auto!important;max-height:none!important;
}
body.v249-single-data-page .v249-single-data-region tr:first-child th{position:sticky;top:0;z-index:8;background:#f4f7fb!important}
body.v248-single-data-page .staffing-wrap.v248-single-data-region{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:auto!important}
body.v248-claim-page .claim-table-wrap.v248-single-data-region,
body.v248-audit-page .sam-table-wrap.v248-single-data-region{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:auto!important}
body.order-list-lock .order-page{height:100%!important;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.order-list-lock .order-page-head,
body.order-list-lock .order-filter-card,
body.order-list-lock .order-kpis{flex:0 0 auto}
body.order-list-lock .order-list-card{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}
body.order-list-lock .order-table-scroll{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto!important}
body.order-list-lock .pagination-bar{flex:0 0 auto}

/* V249 — dense SAM / operation-management UI across editors, lists and field audit. */
.sam-filter{gap:6px!important;padding:6px 8px!important;margin-bottom:6px!important}
.sam-filter input,.sam-filter select,.sam-filter button{height:32px!important;min-height:32px!important}
.sam-style-editor .form-grid,.sam-op-modal .form-grid,.sam-import .form-grid{gap:5px 8px!important}
.sam-style-editor label,.sam-op-modal label,.sam-import label{margin:3px 0!important}
.sam-style-editor input,.sam-style-editor select,.sam-op-modal input,.sam-op-modal select,.sam-import input,.sam-import select{height:32px!important;padding-top:4px!important;padding-bottom:4px!important}
.sam-items-wrap .table th,.sam-items-wrap .table td,.sam-table-wrap .table th,.sam-table-wrap .table td{padding:6px 8px!important;line-height:1.2!important}
.sam-items-table input,.sam-items-table select{height:28px!important}
.sam-style-meta{gap:5px!important;margin:5px 0!important}.sam-style-meta>div{padding:6px 8px!important}
.sam-compare{gap:5px!important;margin:5px 0!important}.sam-compare>div{padding:6px 8px!important}.sam-compare b{font-size:17px!important;margin:2px 0!important}
.sam-detail-tabs{margin:5px 0!important}.sam-detail-tabs button{padding:7px 11px!important}
.sam-audit-form{gap:5px 7px!important;margin:5px 0 6px!important}.sam-audit-form label{margin:2px 0!important}.sam-audit-form input{height:30px!important;margin:2px 0!important;padding:5px 8px!important}
.sam-audit-table-toolbar{margin:3px 0 5px!important;padding:4px 7px!important;border-radius:8px!important}
.sam-audit-table-toolbar label{min-width:180px!important}.sam-audit-table-toolbar select{height:30px!important}.sam-audit-table-toolbar small{padding-bottom:6px!important}
.sam-audit-items{max-height:46vh!important}.sam-audit-items .table{min-width:1450px!important}.sam-audit-items th,.sam-audit-items td{padding:5px 7px!important}
.sam-audit-items input{height:29px!important;margin:0!important;padding:4px 6px!important;min-width:74px}.sam-audit-items .sat-note{min-width:150px}
.sam-audit-items .sat-timer{margin:0!important;padding:5px 9px!important;min-width:48px}.sam-audit-items .sat-timer.danger{background:#fff0ee!important;color:#b6291d!important}
.sam-audit .modal-actions{margin:5px 0!important}.sam-audit>h3{margin:6px 0 4px!important}.sam-audit-strip{margin:4px 0!important}
body.v249-single-data-page .master-panel.active>#jobPositionTable{overflow:hidden!important;display:flex;flex-direction:column}
body.v249-single-data-page #jobPositionTable>.v249-single-data-region{height:100%;flex:1 1 auto;overflow:auto!important}


/* V250 — data viewport scrollbar placement + user search + feedback adaptive layout. */
/* Keep the column header visually outside the scrolling rows.  The scroll track starts
   below the sticky header by reserving a header-height inset on the right edge. */
.workspace-data-scroll,
.table-scroll,
.data-table-wrap,
.order-table-scroll,
.measure-table-scroll,
.measure-point-scroll,
.feedback-table-wrap,
.user-table-scroll,
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card{
  scrollbar-gutter:stable both-edges;
  background:#fff;
}
.workspace-data-scroll table,
.table-scroll table,
.data-table-wrap table,
.order-table-scroll table,
.feedback-table-wrap table,
.user-table-scroll table,
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card table{
  border-collapse:separate!important;
  border-spacing:0!important;
}
/* Chromium/Edge: reserve the header height above the vertical scrollbar track so the
   scroll thumb begins at the first data row instead of beside the column titles. */
.workspace-data-scroll::-webkit-scrollbar-track,
.table-scroll::-webkit-scrollbar-track,
.data-table-wrap::-webkit-scrollbar-track,
.order-table-scroll::-webkit-scrollbar-track,
.feedback-table-wrap::-webkit-scrollbar-track,
.user-table-scroll::-webkit-scrollbar-track,
.dev-tab-card:not(.dev-focus-card) > .dev-tab-content.dev-grid-mode > .table-card::-webkit-scrollbar-track:vertical{margin-top:38px}

body.v250-users-page main,
body.v250-feedback-page main{overflow:hidden!important}
body.v250-users-page #content,
body.v250-feedback-page #content{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
body.v250-users-page #content>.workspace-bar,
body.v250-users-page #content>.master-tabs,
body.v250-users-page #content>.account-rule-note,
body.v250-users-page #content>.user-search-bar,
body.v250-feedback-page #content>.workspace-bar,
body.v250-feedback-page #content>.feedback-kpis,
body.v250-feedback-page #content>.feedback-toolbar{flex:0 0 auto}

.user-search-bar{display:grid;grid-template-columns:minmax(320px,1fr) 180px 140px auto auto;gap:8px;align-items:center;margin:8px 0 10px}
.user-search-bar input,.user-search-bar select{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 11px;font:inherit;color:var(--text)}
.user-table-card{flex:1 1 auto;min-height:0;overflow:hidden!important;display:flex;flex-direction:column;padding:0!important}
.user-table-scroll{flex:1 1 auto;min-height:0;overflow:auto;position:relative}
.user-account-table{margin:0;min-width:1280px}
.user-account-table thead th{position:sticky!important;top:0!important;z-index:12!important;background:#f5f7fb!important}
.user-count-bar{flex:0 0 auto;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 12px;border-top:1px solid var(--line);background:#fff;color:#59677e;font-size:13px}

body.v250-feedback-page .feedback-kpis{margin:6px 0!important;gap:7px!important}
body.v250-feedback-page .feedback-kpis>div{padding:7px 11px!important;border-radius:10px!important;min-height:42px}
body.v250-feedback-page .feedback-kpis b{font-size:20px!important}
body.v250-feedback-page .feedback-toolbar{margin:0 0 7px!important;padding:7px!important;border-radius:10px!important;grid-template-columns:minmax(260px,1.5fr) 135px 135px 120px auto auto auto auto auto!important}
body.v250-feedback-page .feedback-toolbar input,body.v250-feedback-page .feedback-toolbar select{height:34px!important}
body.v250-feedback-page .feedback-table-card{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;border-radius:10px}
body.v250-feedback-page .feedback-table-wrap{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto!important;width:100%;position:relative}
body.v250-feedback-page .feedback-table{min-width:1180px;width:100%;table-layout:auto}
body.v250-feedback-page .feedback-table th,body.v250-feedback-page .feedback-table td{padding:8px 10px!important;white-space:nowrap}
body.v250-feedback-page .feedback-title-cell{min-width:230px;max-width:330px}
@media(max-width:1100px){.user-search-bar{grid-template-columns:1fr 1fr 1fr auto auto}body.v250-feedback-page .feedback-toolbar{grid-template-columns:1fr 1fr 1fr!important}.feedback-toolbar-v190>input:first-child{grid-column:1/-1}}
@media(max-width:700px){.user-search-bar{grid-template-columns:1fr 1fr}.user-search-bar>input:first-child{grid-column:1/-1}.user-count-bar{align-items:flex-start;flex-direction:column;gap:2px}body.v250-feedback-page .feedback-toolbar{grid-template-columns:1fr!important}}

/* V251 — field-audit desktop compaction. Core inputs remain visible without horizontal scrolling. */
.sam-audit-v251 .sam-style-meta{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.sam-audit-v251 .sam-audit-form{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.sam-audit-v251 .sam-audit-form .span2{grid-column:span 1!important}
.sam-audit-v251 .sam-audit-table-toolbar{display:grid!important;grid-template-columns:180px auto minmax(260px,1fr);align-items:end!important;gap:8px!important}
.sam-audit-v251 .sam-audit-table-toolbar small{padding:0!important;text-align:right}
.sam-audit-v251 .sam-audit-items{max-height:48vh!important;overflow-y:auto!important;overflow-x:hidden!important}
.sam-audit-v251 .sam-audit-compact-table{width:100%!important;min-width:0!important;table-layout:fixed}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(1){width:38px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(2){width:24%}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(3){width:92px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(4){width:62px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(5){width:82px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(6){width:66px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(7){width:86px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(8),.sam-audit-v251 .sam-audit-compact-table th:nth-child(9){width:74px}
.sam-audit-v251 .sam-audit-compact-table th:nth-child(10){width:16%}
.sam-audit-v251 .sam-audit-compact-table td{min-width:0!important;overflow:hidden}
.sam-audit-v251 .sam-audit-compact-table input{box-sizing:border-box;width:100%!important;min-width:0!important}
.sam-audit-v251 .sat-operation b,.sam-audit-v251 .sat-operation small,.sam-audit-v251 .sat-standard b,.sam-audit-v251 .sat-standard small{display:block;overflow:hidden;text-overflow:ellipsis}
.sam-audit-v251 .sat-operation small,.sam-audit-v251 .sat-standard small{margin-top:2px;color:#748198;font-size:11px;white-space:nowrap}
@media(max-width:1050px){.sam-audit-v251 .sam-audit-items{overflow-x:auto!important}.sam-audit-v251 .sam-audit-compact-table{min-width:940px!important}.sam-audit-v251 .sam-audit-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sam-audit-v251 .sam-audit-table-toolbar{grid-template-columns:170px auto}.sam-audit-v251 .sam-audit-table-toolbar small{grid-column:1/-1;text-align:left}}

/* V251 — home organization chart, sourced live from organization + HRA employees. */
body.v254-org-page main{overflow:hidden!important}
body.v254-org-page #content{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
body.v254-org-page #content>.workspace-bar,body.v254-org-page #content>.org-chart-toolbar{flex:0 0 auto}
.home-org-card{border:0;text-align:left;cursor:pointer;color:inherit}.home-org-card p{margin:4px 0;color:var(--muted)}.home-org-arrow{font-size:24px;color:var(--primary)}
.org-chart-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:9px 12px;margin:6px 0 8px;border:1px solid var(--line);border-radius:12px;background:#fff}
.org-chart-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:12px}.org-chart-toolbar select{min-width:300px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 9px}.org-chart-toolbar>div{display:flex;gap:6px}
.org-chart-viewport{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable;background:linear-gradient(#f8faff 1px,transparent 1px),linear-gradient(90deg,#f8faff 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--line);border-radius:14px;padding:24px}
.org-chart-canvas{display:flex;align-items:flex-start;gap:34px;width:max-content;min-width:100%;transform-origin:top center}
.org-tree-section{display:grid;justify-items:center;gap:8px}.org-group-label{display:inline-flex;padding:5px 12px;border-radius:999px;background:#eaf0ff;color:#3d5bc4;font-size:12px;font-weight:800}
.org-tree ul{padding-top:22px;position:relative;display:flex;justify-content:center;margin:0;padding-left:0}.org-tree li{list-style:none;text-align:center;position:relative;padding:22px 8px 0}
.org-tree>ul{padding-top:0}.org-tree>ul>li{padding-top:0}.org-tree>ul>li::before,.org-tree>ul>li::after{display:none}
.org-tree li::before,.org-tree li::after{content:"";position:absolute;top:0;width:50%;height:22px;border-top:2px solid #cbd7ea}.org-tree li::before{right:50%}.org-tree li::after{left:50%;border-left:2px solid #cbd7ea}.org-tree li:only-child::before,.org-tree li:only-child::after{display:none}.org-tree li:first-child::before,.org-tree li:last-child::after{border:0}.org-tree li:last-child::before{border-right:2px solid #cbd7ea;border-radius:0 8px 0 0}.org-tree li:first-child::after{border-radius:8px 0 0 0}.org-tree ul ul::before{content:"";position:absolute;top:0;left:50%;height:22px;border-left:2px solid #cbd7ea}
.org-chart-node{width:210px;box-sizing:border-box;text-align:left;background:#fff;border:1px solid #dbe3f0;border-radius:14px;padding:12px 14px;box-shadow:0 5px 18px rgba(31,55,96,.08)}.org-chart-node.enterprise-node{width:230px;border-top:4px solid #4f70ff}.org-chart-node.department-node{border-top:3px solid #27a889}.org-chart-node h2,.org-chart-node h3{margin:2px 0 9px;color:#17233a;white-space:normal}.org-chart-node h2{font-size:17px}.org-chart-node h3{font-size:15px}.org-node-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;color:#70809a}.org-chart-node>div:not(.org-node-kicker){display:flex;justify-content:space-between;gap:8px;padding-top:5px;border-top:1px solid #eef2f7;font-size:11px}.org-chart-node span{color:#748198}.org-chart-node b{max-width:125px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.org-chart-toolbar{align-items:stretch;flex-direction:column}.org-chart-toolbar select{width:100%;min-width:0}.org-chart-toolbar>div{overflow-x:auto}.org-chart-viewport{padding:14px}}

/* V252 — SmartArt-style editable organization canvas. */
.org-editor-shell{position:relative;flex:1 1 auto;min-height:0;display:flex;gap:8px;overflow:hidden}.org-editor-shell>.org-free-viewport{flex:1 1 auto;min-width:0}
.org-free-viewport{padding:0!important;position:relative;background-color:#f8faff;background-image:linear-gradient(#eaf0f8 1px,transparent 1px),linear-gradient(90deg,#eaf0f8 1px,transparent 1px);background-size:24px 24px}
.org-free-canvas{position:relative;width:3000px;height:1600px;transform-origin:top left}.org-free-canvas>svg{position:absolute;inset:0;z-index:1;overflow:visible;pointer-events:none}.org-free-canvas>svg path{fill:none;stroke:#a8bad4;stroke-width:2.5;stroke-linejoin:round}
.org-free-node{position:absolute;z-index:2;width:220px;box-sizing:border-box;text-align:left;background:#fff;border:1px solid #d6e0ee;border-top:4px solid #5c78dd;border-radius:14px;padding:11px 13px;box-shadow:0 6px 18px rgba(31,55,96,.1);user-select:none;transition:box-shadow .16s,border-color .16s}
.org-free-node.type-enterprise{width:240px;border-top-color:#3557d5;background:linear-gradient(135deg,#fff,#f2f5ff)}.org-free-node.type-department{border-top-color:#27a889}.org-free-node.type-team{width:200px;border-top-color:#e59a36;background:linear-gradient(135deg,#fff,#fffaf2)}
.org-free-node h3{font-size:15px;line-height:1.25;margin:2px 0 8px;color:#17233a;white-space:normal}.org-free-node>div:not(.org-node-kicker){display:flex;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid #edf1f6;font-size:11px}.org-free-node span{color:#748198}.org-free-node b{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.org-free-node.editable{cursor:grab}.org-free-node.editable:hover,.org-free-node.selected{border-color:#4f70ff;box-shadow:0 0 0 3px rgba(79,112,255,.16),0 9px 24px rgba(31,55,96,.14)}.org-free-node.dragging{cursor:grabbing;z-index:10;transition:none}
.org-node-edit{position:absolute;right:5px;top:5px;width:24px;height:24px;border:0;border-radius:7px;background:#eef2ff;color:#405bd0;font-size:18px;line-height:18px;cursor:pointer}.org-free-canvas.editing>svg path{stroke:#7189c6;stroke-dasharray:5 3}
.org-editor-panel{position:relative;inset:auto;flex:0 0 270px;min-width:0;overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px;box-shadow:0 5px 18px rgba(31,55,96,.08)}.org-editor-panel h3{margin:0 0 12px}.org-editor-panel label{display:grid;gap:5px;margin:14px 0;color:var(--muted);font-size:12px}.org-editor-panel select{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 8px}.org-editor-panel p{font-size:12px;line-height:1.55;color:var(--muted)}.org-editor-panel>button{width:100%}
#orgSelectedSummary{display:grid;gap:4px;padding:10px;border-radius:10px;background:#f4f7ff}#orgSelectedSummary b{font-size:15px}#orgSelectedSummary span{font-size:12px;color:var(--muted)}
@media(max-width:900px){.org-editor-shell{position:relative}.org-editor-panel{position:absolute;right:8px;top:8px;bottom:8px;z-index:20;width:250px}.org-chart-editor-toolbar>div{max-width:100%;overflow:auto}}

/* V253 — design hierarchy positions first, then bind live organization data. */
.org-slot-node.type-empty{border-style:dashed;border-color:#9aa9bd;border-top-color:#9aa9bd;background:repeating-linear-gradient(135deg,#fff,#fff 10px,#f8fafc 10px,#f8fafc 20px)}
.org-slot-node .org-empty-hint{display:block!important;border:1px dashed #c8d2e1!important;border-radius:8px;padding:8px!important;color:#748198;text-align:center;font-size:11px}
.org-node-add{position:absolute;left:50%;bottom:-15px;z-index:4;transform:translateX(-50%);width:30px;height:30px;border:2px solid #fff;border-radius:50%;background:#4f70ff;color:#fff;font-size:18px;line-height:22px;cursor:pointer;box-shadow:0 3px 10px rgba(49,75,155,.28)}
.org-editor-panel input{box-sizing:border-box;width:100%;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 8px}
.org-panel-actions{display:grid;gap:7px;margin-top:14px}.org-panel-actions>button{width:100%}
.org-panel-actions .danger-btn{height:36px;border:1px solid #f1b8b4;border-radius:8px;background:#fff5f4;color:#b42318;font-weight:700;cursor:pointer}

/* V254 — fullscreen hierarchy canvas, responsible-person nodes and clearer reporting lines. */
.org-fullscreen-exit{display:none;position:absolute;right:18px;top:14px;z-index:50;height:38px;padding:0 14px;border:1px solid #cbd6e5;border-radius:9px;background:#fff;color:#233552;font-weight:800;cursor:pointer;box-shadow:0 5px 18px rgba(20,39,75,.16)}
.org-editor-shell:fullscreen,.org-editor-shell.is-fullscreen{width:100vw;height:100vh;padding:14px;box-sizing:border-box;background:#edf2f8}.org-editor-shell:fullscreen .org-fullscreen-exit,.org-editor-shell.is-fullscreen .org-fullscreen-exit{display:block}.org-editor-shell:fullscreen .org-free-viewport,.org-editor-shell.is-fullscreen .org-free-viewport{border-radius:10px}.org-editor-shell:fullscreen .org-editor-panel,.org-editor-shell.is-fullscreen .org-editor-panel{margin-right:0;padding-top:58px}
.org-free-canvas>svg .org-relation-line{fill:none!important;stroke:#4d6590!important;stroke-width:3.2!important;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.org-free-canvas.editing>svg .org-relation-line{stroke:#3559a8!important;stroke-dasharray:none!important}.org-free-canvas>svg .org-arrow-head{fill:#4d6590!important;stroke:none!important;stroke-dasharray:none!important}
.org-free-node.org-slot-node{width:220px;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 18px;border:2px solid rgba(255,255,255,.72);border-top:2px solid rgba(255,255,255,.72);border-radius:2px;background:#1d6988;color:#fff;box-shadow:0 5px 14px rgba(24,63,88,.22)}
.org-free-node.org-slot-node.type-enterprise{width:240px;background:#244d80;border-top-color:rgba(255,255,255,.78)}.org-free-node.org-slot-node.type-team{width:210px;background:#267b82}.org-free-node.org-slot-node.type-leader{background:#345b88}.org-free-node.org-slot-node.type-empty{border:2px dashed #8295af;background:repeating-linear-gradient(135deg,#fff,#fff 10px,#f0f4f8 10px,#f0f4f8 20px);color:#42526b}
.org-free-node.org-slot-node.type-empty.type-leader{border:2px solid rgba(255,255,255,.72);background:#345b88;color:#fff}
.org-free-node.org-slot-node h3{margin:0;color:inherit;font-size:16px;line-height:1.3;font-weight:800;max-width:100%;white-space:normal}.org-card-leader{display:block!important;width:100%;margin-top:10px;padding:0!important;border:0!important;color:inherit!important;font-size:16px!important;font-weight:700;line-height:1.25;text-align:center}.org-card-count{display:block!important;width:100%;margin-top:9px;padding:0!important;border:0!important;color:inherit!important;font-size:17px!important;font-weight:900;line-height:1;text-align:center;font-variant-numeric:tabular-nums}
.org-free-node.org-slot-node.editable:hover,.org-free-node.org-slot-node.selected{border-color:#ffdf70;box-shadow:0 0 0 4px rgba(255,216,76,.23),0 8px 22px rgba(22,54,90,.25)}

/* V254 — public job application link and QR management. */
.modal-card-external-link{width:min(760px,calc(100vw - 32px))!important;max-width:760px!important;overflow-x:hidden!important}.external-job-link{display:grid;gap:14px;width:100%;min-width:0;max-width:100%;overflow:hidden}.external-job-link .master-note{min-width:0;overflow-wrap:anywhere}.external-job-link>label{display:grid;gap:6px;color:var(--muted);font-size:12px}.external-job-link select,.external-link-result input{box-sizing:border-box;width:100%;min-width:0;height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px}.external-link-result{display:grid;grid-template-columns:176px minmax(0,1fr);align-items:center;gap:18px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8faff}.external-link-result img{display:block;width:176px;height:176px;padding:8px;box-sizing:border-box;border:1px solid #dce4ef;border-radius:10px;background:#fff}.external-link-result>div{display:grid;gap:10px;min-width:0}.external-link-result>div>span{font-weight:800;color:#273a59;overflow-wrap:anywhere}.external-link-result>div>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.external-open-link{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none!important}.external-job-link .empty-panel{text-align:center;padding:28px;border:1px dashed #b9c5d6;border-radius:12px;background:#fafcff}.external-job-link .empty-panel p{margin-top:0;color:var(--muted)}.job-language-block{padding:12px 14px;border-radius:10px;background:#f3f6ff;border:1px solid #dce4ff}.job-language-block h3{margin:0 0 4px;font-size:15px}.job-language-block p{margin:0;color:var(--muted);font-size:12px}
@media(max-width:700px){.modal-card-external-link{width:calc(100vw - 18px)!important}.external-link-result{grid-template-columns:1fr}.external-link-result img{margin:auto}}

/* V255 — ASN/DBS preview columns share one fixed layout and alignment contract. */
.asn-preview-table{width:100%!important;min-width:1120px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important}.asn-preview-table col.asn-col-carton{width:17%}.asn-preview-table col.asn-col-po{width:10%}.asn-preview-table col.asn-col-style{width:13%}.asn-preview-table col.asn-col-color{width:8%}.asn-preview-table col.asn-col-size{width:7%}.asn-preview-table col.asn-col-qty{width:7%}.asn-preview-table col.asn-col-net{width:8%}.asn-preview-table col.asn-col-gross{width:8%}.asn-preview-table col.asn-col-inspected{width:10%}.asn-preview-table col.asn-col-source{width:12%}.asn-preview-table th,.asn-preview-table td{box-sizing:border-box!important;padding:7px 10px!important;vertical-align:middle!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asn-preview-table th.txt,.asn-preview-table td.txt{text-align:left!important}.asn-preview-table th.num,.asn-preview-table td.num{text-align:right!important;font-variant-numeric:tabular-nums}.asn-preview-table th.ctr,.asn-preview-table td.ctr{text-align:center!important}.asn-preview-table thead th{font-weight:800!important}.asn-preview-table tbody td{font-weight:400}.asn-preview-table tbody td b{font-weight:800}

/* V259 — force fresh, stable knowledge reader layout. */
.kb-reader-page,.kb-reader-layout,.kb-reader-paper,.kb-reader-content{min-width:0!important;box-sizing:border-box!important}
.kb-reader-page{width:100%!important;max-width:1500px!important;overflow:visible!important}
.kb-reader-layout.no-toc{display:block!important}
.kb-reader-layout.no-toc .kb-reader-paper{max-width:1120px!important;margin:0 auto!important}
.kb-reader-paper header h1,.kb-reader-heading{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important}
.kb-reader-content{overflow-wrap:anywhere!important;word-break:break-word!important}
.kb-reader-paper{height:auto!important;overflow:visible!important;width:auto!important;writing-mode:horizontal-tb!important}
.kb-reader-paper header,.kb-reader-paper header h1,.kb-reader-paper header h2,.kb-reader-content,.kb-reader-content *{writing-mode:horizontal-tb!important;text-orientation:mixed!important}
.kb-reader-paper header h1{font-size:clamp(30px,3vw,48px)!important;line-height:1.2!important;width:100%!important}

/* V263 modal viewport, knowledge printing and shipping report refinements */
.modal-card,.modal-card #modalBody,.modal-card .form-grid,.modal-card .form-grid>label{min-width:0!important;box-sizing:border-box}
.modal-card #modalBody input,.modal-card #modalBody select,.modal-card #modalBody textarea,.modal-card #modalBody .search-select{max-width:100%;box-sizing:border-box}
.modal-card-application-detail{width:min(1020px,calc(100vw - 32px))!important;max-width:none!important;max-height:calc(100vh - 28px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.modal-card-application-detail #modalBody{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;overflow-x:hidden!important;padding:0!important}
.modal-card-application-detail .application-detail{width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:4px 18px 18px!important}
.modal-card-application-detail .detail-grid,.modal-card-application-detail .declaration-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.modal-card-application-detail .detail-grid>div,.modal-card-application-detail .declaration-summary>div,.modal-card-application-detail .employee-doc-row{min-width:0!important}
.modal-card-application-detail b,.modal-card-application-detail span{overflow-wrap:anywhere}
.shipping-pack-title>div:first-child{font-size:inherit;white-space:normal}.shipping-pack-title p{margin:3px 0 0;font-size:13px}.shipping-detail-table th:nth-child(10){width:120px}
@media(max-width:700px){.modal-card-application-detail{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important}.modal-card-application-detail .detail-grid,.modal-card-application-detail .declaration-summary{grid-template-columns:1fr!important}}
@media print{
  body.kb-print-mode>*:not(.app),body.kb-print-mode .sidebar,body.kb-print-mode .topbar,body.kb-print-mode .kb-reader-breadcrumb,body.kb-print-mode .kb-reader-actions,body.kb-print-mode .kb-toc,body.kb-print-mode .chatbot{display:none!important}
  body.kb-print-mode .app,body.kb-print-mode main,body.kb-print-mode #content,body.kb-print-mode .kb-reader-page,body.kb-print-mode .kb-reader-layout,body.kb-print-mode .kb-reader-paper{display:block!important;position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;border:0!important;box-shadow:none!important}
  body.kb-print-mode .kb-reader-content{font-size:11pt!important;line-height:1.65!important;color:#000!important}
  body.kb-print-mode .kb-reader-heading{break-after:avoid;page-break-after:avoid}
  body.kb-print-mode .kb-reader-files{break-inside:avoid;page-break-inside:avoid}
  @page{size:A4 portrait;margin:14mm}
}
.policy-language-block{margin:14px 0;border-top:1px solid #e5eaf1;padding-top:12px}.policy-language-block>.policy-preview-content{margin-top:7px}

/* V259 — page-tag editor uses the workspace width and supports USER fields. */
.modal-card-system-config{width:min(1120px,calc(100vw - 36px))!important;max-width:none!important;display:flex!important;flex-direction:column!important}
.modal-card-system-config #modalBody{overflow:auto!important;min-height:0!important}
.modal-card-system-config .syscfg-modal.wide{min-width:0!important;width:100%!important;box-sizing:border-box!important}
.syscfg-field-head>div{display:flex;flex-direction:column;gap:3px}.syscfg-field-head span{color:#64748b;font-size:12px}
.syscfg-field-labels{display:grid;grid-template-columns:1.2fr 1fr 150px 1fr 88px auto;gap:7px;padding:0 9px 5px;color:#7b8798;font-size:11px}
@media(max-width:1000px){.syscfg-field-labels{display:none}.modal-card-system-config .syscfg-field-row{grid-template-columns:1fr 1fr!important}.modal-card-system-config .syscfg-field-row .mini-check{justify-self:start}}

/* V262 — the document title must never inherit the fixed application header. */
.kb-reader-document-head{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;padding:0 0 22px!important;margin:0 0 24px!important;border:0!important;border-bottom:1px solid #edf0f4!important;background:transparent!important;z-index:auto!important}
.kb-reader-title{display:block!important;width:100%!important;max-width:100%!important;margin:5px 0 8px!important;font-size:clamp(30px,3vw,48px)!important;line-height:1.2!important;font-weight:800!important;color:#1f1f24!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:normal!important;overflow-wrap:anywhere!important}
.kb-reader-subtitle{display:block!important;width:100%!important;margin:0!important;font-size:22px!important;line-height:1.35!important;font-weight:500!important;color:#697386!important;writing-mode:horizontal-tb!important;white-space:normal!important}
@media(max-width:760px){.kb-reader-title{font-size:30px!important}.kb-reader-subtitle{font-size:18px!important}}

/* V265 shared shipping fields and document-only knowledge printing */
.pack-shared-shipping-fields{margin:0 0 8px!important;padding:0 0 12px!important;border-bottom:1px solid #e4e9f1}.pack-shared-note{margin:0 0 13px!important}.pack-generate-row{margin-top:0}
@media print{
  body.kb-print-mode{margin:0!important;background:#fff!important}
  body.kb-print-mode *{visibility:hidden!important}
  body.kb-print-mode #app,body.kb-print-mode main,body.kb-print-mode #content,body.kb-print-mode .kb-reader-page,body.kb-print-mode .kb-reader-layout,body.kb-print-mode .kb-reader-paper,body.kb-print-mode .kb-reader-paper *{visibility:visible!important}
  body.kb-print-mode #app>header,body.kb-print-mode #app>aside,body.kb-print-mode .kb-reader-breadcrumb,body.kb-print-mode .kb-reader-actions,body.kb-print-mode .kb-toc,body.kb-print-mode #chatbot,body.kb-print-mode .chatbot{display:none!important}
  body.kb-print-mode #app,body.kb-print-mode main,body.kb-print-mode #content,body.kb-print-mode .kb-reader-page,body.kb-print-mode .kb-reader-layout{display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}
  body.kb-print-mode .kb-reader-paper{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  body.kb-print-mode .kb-reader-document-head{display:block!important;padding:0 0 16px!important;margin:0 0 18px!important;border-bottom:1px solid #bbb!important}
  body.kb-print-mode .kb-reader-title{font-size:28pt!important;color:#000!important}
  body.kb-print-mode .kb-reader-subtitle{font-size:15pt!important;color:#444!important}
  body.kb-print-mode .kb-doc-info{display:flex!important;color:#444!important}
  body.kb-print-mode .kb-reader-content{font-size:11pt!important;color:#000!important}
}

/* V272 查货计划 / 查货管理 */
.inspection-filter{display:grid;grid-template-columns:150px 130px 130px 120px 140px 180px 180px auto auto;gap:8px;align-items:end}.inspection-filter .compact-date{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted,#64748b)}.inspection-summary{display:flex;gap:22px;align-items:center;padding:9px 12px;margin:8px 0;background:#fff;border:1px solid #e6ebf2;border-radius:10px;font-size:13px}.inspection-plan-table{max-height:calc(100vh - 300px);overflow:auto}.inspection-plan-table table{min-width:2100px}.inspection-plan-table thead th{position:sticky;top:0;z-index:2}.inspection-plan-table .qty-input{width:90px}.inspection-plan-table select,.inspection-plan-table input[type=date]{min-width:120px}.inspection-plan-table .row-muted{opacity:.58}.inspection-plan-table small{display:block;margin-top:3px}.inspection-exec-head{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;background:#f7f9fc;border:1px solid #e5eaf2;border-radius:10px;margin-bottom:12px}.inspection-exec-head>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.inspection-box-area{margin-bottom:14px}.inspection-box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:8px;max-height:220px;overflow:auto;padding:8px;border:1px solid #e5eaf2;border-radius:10px;background:#fafbfc}.inspection-box-grid label{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid #e5eaf2;border-radius:8px;background:#fff}.inspection-box-grid label small{margin-left:auto;color:#64748b}.inspection-result-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:12px 0}.inspection-result-grid label{display:flex;flex-direction:column;gap:5px}.inspection-result-grid .span2{grid-column:span 5}.inspection-attach{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0;padding:12px;border:1px solid #e5eaf2;border-radius:10px}.inspection-attach>div{display:flex;gap:8px;align-items:center}.inspection-history{margin-top:12px}.inspection-history summary{cursor:pointer;font-weight:600;padding:8px 0}.modal-card-wide{width:min(1180px,96vw)!important;max-width:1180px!important}.primary-btn.small{padding:5px 9px;font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1200px){.inspection-filter{grid-template-columns:repeat(4,minmax(150px,1fr))}.inspection-result-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.inspection-result-grid .span2{grid-column:span 2}}@media(max-width:700px){.inspection-filter{grid-template-columns:1fr 1fr}.inspection-summary{flex-wrap:wrap}.inspection-exec-head,.inspection-attach{flex-direction:column;align-items:stretch}.inspection-result-grid{grid-template-columns:1fr}.inspection-result-grid .span2{grid-column:span 1}}

/* V273 查货计划：用户工厂绑定、本地订单列表、LABEL 走地、紧凑数据工作区 */
.inspection-search-card{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:14px 16px 15px;margin-bottom:10px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.inspection-search-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.inspection-search-head>div:first-child{display:flex;align-items:baseline;gap:10px}.inspection-search-head b{font-size:15px;color:#182338}.inspection-search-head span{font-size:12px;color:#7b8798}.insp-type-rule{font-size:12px;color:#69768a;background:#f6f8fb;border:1px solid #edf0f5;border-radius:999px;padding:5px 10px;white-space:nowrap}.insp-type-rule b{font-size:12px;color:#3156d8}
.inspection-search-grid{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(125px,.8fr) minmax(120px,.75fr) minmax(120px,.8fr) minmax(135px,.85fr) minmax(145px,.9fr) minmax(145px,.9fr) auto;gap:9px;align-items:end}.insp-field{display:flex;flex-direction:column;gap:5px;min-width:0}.insp-field>span{font-size:11px;font-weight:650;color:#69768a;padding-left:2px}.insp-field input,.insp-field select{width:100%;height:36px;border:1px solid #d9e0ea;border-radius:8px;background:#fff;padding:0 10px;color:#1e293b}.insp-field input:focus,.insp-field select:focus{border-color:#7e9cff;box-shadow:0 0 0 3px rgba(72,112,255,.09);outline:0}.insp-factory-locked{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #dbe4ff;background:#f4f7ff;border-radius:8px;overflow:hidden}.insp-factory-locked b{color:#3156d8;white-space:nowrap}.insp-factory-locked small{color:#75839a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-search-actions{display:flex;gap:7px;align-items:center}.inspection-search-actions button{height:36px;min-width:76px}
.inspection-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.insp-stat{background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:10px 13px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;column-gap:10px;min-height:64px}.insp-stat span{font-size:12px;color:#6b778a}.insp-stat b{grid-row:1 / span 2;grid-column:2;font-size:21px;line-height:1;color:#182338;font-variant-numeric:tabular-nums}.insp-stat small{font-size:11px;color:#9aa5b4;margin-top:4px}
.inspection-batch-bar{display:flex;align-items:center;gap:8px;background:#f8faff;border:1px solid #dfe7fb;border-radius:12px;padding:9px 11px;margin-bottom:10px}.inspection-batch-title{display:flex;flex-direction:column;min-width:210px;margin-right:auto}.inspection-batch-title b{font-size:13px;color:#283652}.inspection-batch-title span{font-size:11px;color:#8390a4;margin-top:2px}.inspection-batch-bar select,.inspection-batch-bar input{height:34px;min-width:125px;border:1px solid #d7dfeb;border-radius:7px;background:#fff;padding:0 8px}.inspection-batch-bar #inspBatchType{min-width:140px}.inspection-batch-bar #inspBatchOwner{min-width:140px}.inspection-batch-bar button{height:34px;white-space:nowrap}
.inspection-table-shell{background:#fff;border:1px solid #e4e9f1;border-radius:13px;overflow:hidden}.inspection-table-tip{height:34px;display:flex;align-items:center;gap:18px;padding:0 12px;border-bottom:1px solid #edf0f5;background:#fafbfd;font-size:11px;color:#7a8798}.inspection-table-tip span:first-child{font-weight:650;color:#536175}.inspection-plan-table{max-height:calc(100vh - 390px);overflow:auto;border:0!important;border-radius:0!important}.inspection-plan-table table{min-width:1860px}.inspection-candidate-table{table-layout:auto}.inspection-candidate-table th{height:38px;padding:7px 8px;white-space:nowrap;background:#f5f7fb!important;color:#344055;font-size:12px}.inspection-candidate-table td{height:52px;padding:7px 8px;white-space:nowrap;vertical-align:middle;font-size:12px;border-bottom-color:#edf0f5}.inspection-candidate-table tbody tr:hover td{background:#f8faff}.inspection-candidate-table .sticky-check{position:sticky;left:0;z-index:3;width:42px;min-width:42px;text-align:center;background:#fff}.inspection-candidate-table thead .sticky-check{z-index:5;background:#f5f7fb!important}.inspection-candidate-table select,.inspection-candidate-table input[type=date],.inspection-candidate-table input[type=number]{height:31px;border:1px solid #d7dee9;border-radius:6px;background:#fff;padding:0 7px;font-size:12px}.inspection-candidate-table select{min-width:105px}.inspection-candidate-table [data-insp-type]{min-width:116px}.inspection-candidate-table [data-insp-owner]{min-width:118px}.inspection-candidate-table input[type=date]{min-width:125px}.inspection-candidate-table .qty-input{width:78px;min-width:78px;text-align:right}.factory-chip,.label-chip,.order-type-chip{display:inline-flex;align-items:center;border-radius:999px;line-height:1;padding:4px 7px;font-size:11px;font-weight:650}.factory-chip{background:#eef3ff;color:#3156d8}.label-chip{background:#f2f5f8;color:#566477}.order-type-chip{background:#eefaf4;color:#26815d;margin-top:4px;width:max-content}.po-strong{display:block;color:#1d2a42}.plan-lock{color:#b47612!important;margin-top:4px}.packed-ok{color:#147a58;font-weight:650}.plan-no-cell{font-weight:650;color:#3156d8}.inspection-candidate-table .row-muted td{background:#fafafa!important}.inspection-candidate-table .row-muted{opacity:.68}
@media(max-width:1450px){.inspection-search-grid{grid-template-columns:repeat(4,minmax(135px,1fr))}.inspection-search-actions{justify-content:flex-end}.inspection-batch-title{min-width:170px}.inspection-plan-table{max-height:calc(100vh - 450px)}}
@media(max-width:900px){.inspection-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-batch-bar{flex-wrap:wrap}.inspection-batch-title{width:100%;min-width:100%}.inspection-search-head{align-items:flex-start;flex-direction:column}.insp-type-rule{white-space:normal}}

/* V274 inspection workspaces: compact controls, larger data area and visible AQL limits */
.inspection-plan-page .work-head{margin-bottom:6px}.inspection-search-card{padding:8px 12px!important;margin:6px 0!important}.inspection-search-head{margin-bottom:6px!important}.inspection-search-grid{gap:6px 8px!important}.inspection-search-grid input,.inspection-search-grid select{height:34px!important}.inspection-stat-grid{gap:7px!important;margin:7px 0!important}.insp-stat{padding:7px 10px!important;min-height:48px}.insp-stat b{font-size:18px!important}.insp-stat small{font-size:11px}.inspection-batch-bar{padding:7px 10px!important;gap:7px!important;margin-bottom:6px!important}.inspection-batch-bar input,.inspection-batch-bar select,.inspection-batch-bar button{height:34px!important}.inspection-capacity-hint{margin:0 0 6px;padding:7px 10px;border:1px solid #cfe0ff;border-radius:8px;background:#f4f8ff;color:#425673;font-size:12px}.inspection-capacity-hint strong{color:#175cd3}.inspection-plan-table{max-height:calc(100vh - 300px)!important;min-height:420px}.inspection-candidate-table th,.inspection-candidate-table td{padding:5px 7px!important;height:34px}.aql-limit,.aql-exec-standard{white-space:nowrap;font-weight:700;color:#1859a9}.aql-exec-standard{padding:5px 9px;border-radius:7px;background:#edf5ff}.inspection-exec-head{padding:10px 12px!important}.inspection-box-area{margin-top:8px!important}.inspection-result-grid{gap:8px!important;margin:8px 0!important}.inspection-result-grid input,.inspection-result-grid select{height:38px}.modal-card-wide .modal-body{padding:10px 14px}.modal-card-wide .inspection-box-grid{max-height:150px;overflow:auto}.measure-tablet-guide{padding:8px 12px;background:#edf6ff;border:1px solid #bddcff;border-radius:9px;color:#1859a9;font-weight:700;margin-bottom:8px}
@media(min-width:901px){#miBody>.table-card{max-height:calc(100vh - 235px);overflow:auto}#miBody>.table-card table thead th{position:sticky;top:0;z-index:3;background:#f3f6fb}}
@media(pointer:coarse),(max-width:1024px){.measure-work-modal .measure-table-scroll{height:calc(100vh - 270px)}.measure-single-nav{position:sticky;bottom:0;background:#fff;padding:8px;z-index:8}.measure-cell input{min-height:46px;font-size:18px}.measure-tablet-guide{font-size:13px}}

/* V275 inspection, users and local packing-cache fixes */
.modal-card.modal-card-inspection-history{width:min(1380px,96vw);max-width:none;height:min(780px,90vh);max-height:90vh}.modal-card-inspection-history .modal-body{display:flex;flex-direction:column;min-height:0;padding:14px 18px}.inspection-history-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:12px}.inspection-history-summary>div{border:1px solid #dbe5f4;border-radius:11px;background:#f6f9ff;padding:10px 13px}.inspection-history-summary span{display:block;color:#66758d;font-size:12px}.inspection-history-summary b{display:block;margin-top:3px;font-size:23px;color:#194f9d}.inspection-history-table{flex:1;min-height:0;overflow:auto}.inspection-history-table table{min-width:1180px}.inspection-history-table thead th{position:sticky;top:0;z-index:3;background:#f2f6fc}
.inspection-manage-query{display:grid;grid-template-columns:minmax(260px,1fr) 210px 170px auto auto;gap:9px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:10px}.inspection-manage-query label{display:grid;gap:4px;color:var(--muted);font-size:12px}.inspection-manage-query input,.inspection-manage-query select{height:38px;border:1px solid #d7dfeb;border-radius:8px;padding:0 10px;background:#fff}.inspection-manage-work{background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px;min-height:calc(100vh - 265px)}.inspection-manage-title{display:flex;align-items:center;justify-content:space-between;padding:0 3px 8px}.inspection-manage-title span{color:var(--muted)}.inspection-manage-work #miBody>.table-card{max-height:calc(100vh - 330px);overflow:auto}.inspection-manage-work #miBody thead th{position:sticky;top:0;z-index:3;background:#f3f6fb}
.user-bulk-role-bar{display:flex;align-items:center;gap:10px;border:1px solid #cfdcf3;border-radius:11px;background:#f5f8ff;padding:9px 12px;margin:0 0 9px}.user-bulk-role-bar span{color:#66758d}.user-bulk-role-bar select{height:38px;min-width:220px;border:1px solid #ccd7e8;border-radius:8px;padding:0 10px;background:#fff}.user-bulk-role-bar button{margin-left:auto}.user-account-table .check-cell{width:42px;text-align:center}.user-account-table .check-cell input{width:17px;height:17px}
.pack-unified-query-grid{grid-template-columns:minmax(240px,1.15fr) minmax(190px,.8fr) minmax(160px,.65fr) auto}.asn-inspected-boxes{border:1px solid #b9d5ff;background:#f1f7ff;border-radius:11px;padding:10px 12px;margin:10px 0}.asn-inspected-boxes>span{display:block;color:#58708f;font-size:12px;margin:3px 0 8px}.asn-inspected-boxes>div{display:flex;gap:7px;flex-wrap:wrap}.asn-inspected-boxes label{display:flex;align-items:center;gap:5px;border:1px solid #cad9ed;background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}.asn-inspected-boxes small{color:#3772c2}.asn-preview-table{min-width:1280px!important}
@media(max-width:900px){.inspection-history-summary{grid-template-columns:repeat(2,1fr)}.inspection-manage-query{grid-template-columns:1fr 1fr}.inspection-manage-query button{height:40px}.user-bulk-role-bar{align-items:stretch;flex-direction:column}.user-bulk-role-bar select,.user-bulk-role-bar button{width:100%;margin:0}.pack-unified-query-grid{grid-template-columns:1fr}}

/* V276 ASN preview: exact 11-column contract and full BOX# */
.asn-manual-note{margin:10px 0;padding:9px 12px;border:1px solid #b9d5ff;border-radius:9px;background:#f1f7ff;color:#48617f;font-size:13px}.asn-manual-note b{color:#174f9d}.asn-preview-table.asn-preview-v276{width:100%!important;min-width:1500px!important;table-layout:fixed!important}.asn-preview-v276 col.c-box{width:16%}.asn-preview-v276 col.c-carton{width:12%}.asn-preview-v276 col.c-po{width:8%}.asn-preview-v276 col.c-style{width:12%}.asn-preview-v276 col.c-color{width:7%}.asn-preview-v276 col.c-size{width:6%}.asn-preview-v276 col.c-qty{width:6%}.asn-preview-v276 col.c-net{width:7%}.asn-preview-v276 col.c-gross{width:7%}.asn-preview-v276 col.c-inspected{width:10%}.asn-preview-v276 col.c-batch{width:9%}.asn-preview-v276 th,.asn-preview-v276 td{box-sizing:border-box!important;padding:8px 10px!important;vertical-align:middle!important}.asn-preview-v276 .box-full{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-variant-numeric:tabular-nums}.asn-p-check{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:86px;padding:4px 6px;border:1px solid #c8d7ec;border-radius:7px;background:#fff;cursor:pointer}.asn-p-check input{width:17px;height:17px;margin:0}.asn-p-check b{color:#174f9d}.asn-p-check small{font-size:10px;color:#60738e}.asn-p-na{color:#9aa6b7}

/* V279 inspection plan: one compact query row on desktop. */
@media(min-width:901px){.inspection-search-card{overflow-x:auto;padding:6px 10px!important}.inspection-search-grid{grid-template-columns:minmax(140px,1.05fr) minmax(100px,.72fr) minmax(90px,.65fr) minmax(100px,.72fr) minmax(115px,.82fr) 128px 128px max-content!important;min-width:1040px;gap:5px!important;align-items:end}.inspection-search-head{min-width:1040px;margin-bottom:4px!important}.inspection-search-actions{flex-wrap:nowrap}.inspection-search-actions button{min-width:62px!important;padding-left:10px!important;padding-right:10px!important}.insp-field>span{font-size:10px!important}}

/* V281 measurement source validation */
.measure-marker-warning{display:flex;flex-direction:column;gap:6px;margin:12px;padding:14px 16px;border:1px solid #f2c36b;border-radius:10px;background:#fff8e8;color:#76521a}.measure-marker-warning b{font-size:15px;color:#a05b00}.measure-marker-warning span{line-height:1.55}

/* V282 factory ownership aliases */
.factory-owner-note{display:block;margin-top:4px;color:#64748b;font-size:10px;white-space:nowrap}

/* V283 inspection history drill-down and export actions */
.inspection-plan-link{border:0;background:transparent;padding:3px 0;color:#245fd3;font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.inspection-plan-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.inspection-export-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.inspection-plan-detail-table{flex:1;min-height:0;overflow:auto;margin-top:10px}.inspection-plan-detail-table table{min-width:1450px}.inspection-plan-detail-table thead th{position:sticky;top:0;z-index:3;background:#f2f6fc}

/* V287 APS garment testing */
.gt-filter-card,.gt-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px}.gt-filter-card{padding:8px 10px;margin-bottom:8px}.gt-filter-grid{display:grid;grid-template-columns:1.05fr .78fr .8fr .82fr .78fr 128px 128px auto;gap:7px;align-items:end}.gt-filter-grid label{display:grid;gap:4px;min-width:0}.gt-filter-grid label>span{font-size:10px;font-weight:700;color:#64748b}.gt-filter-grid input,.gt-filter-grid select,.gt-factory-lock{width:100%;height:34px;border:1px solid #d8e0eb;border-radius:8px;background:#fff;padding:0 9px}.gt-factory-lock{display:flex;align-items:center;gap:7px;background:#f4f7ff;border-color:#d5e0ff}.gt-factory-lock b{color:#2858c8}.gt-factory-lock small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718096}.gt-filter-actions{display:flex;gap:6px}.gt-filter-actions button{height:34px}.gt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}.gt-kpis>div{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.gt-kpis span{font-size:12px;color:#64748b}.gt-kpis b{font-size:20px;color:#1e293b}.gt-kpis .danger{background:#fff7f7;border-color:#fecaca}.gt-kpis .danger b{color:#c53030}.gt-kpis .success{background:#f2fbf6;border-color:#bbebd0}.gt-kpis .success b{color:#168457}.gt-list-card{overflow:hidden}.gt-list-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #e7ecf3}.gt-list-head>div{display:flex;align-items:baseline;gap:10px}.gt-list-head span{font-size:11px;color:#77849a}.gt-table-wrap{max-height:calc(100vh - 285px);min-height:430px;overflow:auto}.gt-table{min-width:1580px}.gt-table thead th{position:sticky;top:0;z-index:3;background:#f3f6fb}.gt-table th,.gt-table td{padding:7px 8px!important;white-space:nowrap}.gt-table td small{display:block;color:#78869a}.gt-table tr.gt-overdue td{background:#fffaf3}.gt-table tr.gt-failed td{background:#fff4f4}.deadline-late{color:#c53030}.gt-color{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef2f7}.gt-round{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf3ff;color:#2858c8;font-size:11px;font-weight:800}.gt-round.retry{background:#fff0d9;color:#b45f06}.gt-result{display:inline-flex;min-width:66px;justify-content:center;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800}.gt-result.pending{background:#f1f5f9;color:#64748b}.gt-result.pass{background:#dcf8e8;color:#14784d}.gt-result.failed{background:#ffe1e1;color:#b42318}.modal-card.modal-card-garment-test{width:min(1420px,97vw);max-width:none;max-height:94vh}.modal-card-garment-test .modal-body{padding:12px 16px;overflow:auto}.gt-modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border:1px solid #dce5f2;background:#f6f9ff;border-radius:10px;margin-bottom:9px}.gt-modal-head>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.gt-modal-head span{color:#63738b}.gt-history{border:1px solid #e1e7ef;border-radius:9px;margin-bottom:9px}.gt-history summary{cursor:pointer;padding:8px 11px;font-weight:700}.gt-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;padding:0 9px 9px}.gt-history-grid>div{display:grid;gap:3px;padding:8px;border:1px solid #e4e9f1;border-radius:8px;background:#fafbfd}.gt-history-grid span,.gt-history-grid small{color:#66758b}.gt-history-grid a{color:#255cca}.gt-form-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px}.gt-form-grid label,.gt-remark{display:grid;gap:4px;color:#5f6e82;font-size:11px}.gt-form-grid input,.gt-form-grid select{height:36px;border:1px solid #d7dfeb;border-radius:8px;padding:0 8px;background:#fff}.gt-scope{display:flex;align-items:center;gap:13px;margin:10px 0 7px;padding:8px 10px;background:#f8fafc;border:1px solid #e3e8ef;border-radius:9px}.gt-scope span{margin-left:auto;color:#75839a;font-size:11px}.gt-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;padding:1px}.gt-item-grid>label{display:flex;gap:8px;padding:8px 9px;border:1px solid #e1e7ef;border-radius:8px;background:#fff}.gt-item-grid input{margin-top:2px}.gt-item-grid span{display:grid;gap:2px}.gt-item-grid small{color:#748198;line-height:1.3}.gt-failed-area{margin-top:10px;padding:9px;border:1px solid #f3b8b8;border-radius:9px;background:#fff8f8}.gt-fail-row{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:7px;margin-top:6px}.gt-fail-row input,.gt-fail-row select{height:35px;border:1px solid #e0caca;border-radius:7px;padding:0 8px;background:#fff}.gt-remark{margin-top:9px}.gt-remark textarea{min-height:62px;border:1px solid #d7dfeb;border-radius:8px;padding:8px}.hidden{display:none!important}
@media(max-width:1200px){.gt-filter-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.gt-form-grid{grid-template-columns:repeat(3,1fr)}.gt-item-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.gt-filter-grid,.gt-kpis,.gt-form-grid,.gt-item-grid{grid-template-columns:1fr 1fr}.gt-modal-head{align-items:flex-start;flex-direction:column}.gt-fail-row{grid-template-columns:1fr}.gt-scope{flex-wrap:wrap}.gt-scope span{width:100%;margin:0}}

/* V288 garment-test order type scope */
.gt-order-rule{margin:-2px 0 6px;padding:6px 10px;border:1px solid #d9e4fb;border-radius:8px;background:#f5f8ff;color:#64748b;font-size:11px}.gt-order-rule b{color:#2858c8}.gt-order-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eefaf4;color:#217957;font-size:11px;font-weight:750}

/* V289 garment-test editing and in-table filters */
.gt-data-filter{display:flex;align-items:center;gap:6px}.gt-data-filter input{width:320px;height:32px;border:1px solid #d7dfeb;border-radius:7px;padding:0 9px}.gt-data-filter select{height:32px;border:1px solid #d7dfeb;border-radius:7px;padding:0 8px;background:#fff}.gt-data-filter>span{min-width:62px;text-align:right}.gt-row-actions{display:flex;align-items:center;gap:5px}.gt-accepted{display:block;margin-top:3px;color:#9a5b00;font-weight:700}.gt-failure-action{display:flex;align-items:center;gap:9px;margin:6px 0 8px;color:#9b2c2c;font-weight:700}.gt-failure-action select{height:35px;min-width:180px;border:1px solid #e0b5b5;border-radius:7px;background:#fff;padding:0 8px}
@media(max-width:900px){.gt-list-head{height:auto;padding:8px;align-items:flex-start;gap:8px;flex-direction:column}.gt-data-filter{width:100%;flex-wrap:wrap}.gt-data-filter input{width:min(100%,360px)}}

/* V290 shared notifications and measurement completion reliability */
.app-toast-host{position:fixed;top:78px;right:22px;z-index:100000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.app-toast{max-width:min(380px,calc(100vw - 32px));padding:10px 14px;border:1px solid #b8dec9;border-radius:9px;background:#edf9f2;color:#146c43;font-size:13px;font-weight:700;box-shadow:0 10px 28px rgba(15,23,42,.18);opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.app-toast.show{opacity:1;transform:translateY(0)}.app-toast.error{border-color:#f3b7b7;background:#fff2f2;color:#b42318}
@media(max-width:700px){.app-toast-host{top:62px;left:16px;right:16px;align-items:stretch}.app-toast{max-width:none;text-align:center}}

/* V291 garment-test actions remain visible without horizontal scrolling */
.gt-table .gt-action-sticky{position:sticky!important;right:0;z-index:4;min-width:132px;background:#fff!important;border-left:1px solid #dfe6ef;box-shadow:-7px 0 12px rgba(15,23,42,.05)}.gt-table thead .gt-action-sticky{z-index:6;background:#f3f6fb!important}.gt-table tr.gt-overdue .gt-action-sticky{background:#fffaf3!important}.gt-table tr.gt-failed .gt-action-sticky{background:#fff4f4!important}.gt-row-actions button{white-space:nowrap}

/* V292 garment-test compact columns and viewport-contained data scrolling */
.gt-filter-card,.gt-kpis,.gt-list-card,#gtBody{box-sizing:border-box;max-width:100%;min-width:0}.gt-list-card{display:flex;flex-direction:column;min-height:0;overflow:hidden}.gt-table-wrap{width:100%;max-width:100%;height:calc(100dvh - 285px);min-height:360px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.gt-table{width:100%!important;min-width:1238px!important;table-layout:fixed}.gt-table col.gt-c-factory{width:70px}.gt-table col.gt-c-season{width:66px}.gt-table col.gt-c-customer{width:62px}.gt-table col.gt-c-type{width:82px}.gt-table col.gt-c-style{width:92px}.gt-table col.gt-c-color{width:78px}.gt-table col.gt-c-po{width:102px}.gt-table col.gt-c-mps{width:88px}.gt-table col.gt-c-qty{width:62px}.gt-table col.gt-c-date{width:88px}.gt-table col.gt-c-deadline{width:88px}.gt-table col.gt-c-owner{width:78px}.gt-table col.gt-c-round{width:60px}.gt-table col.gt-c-result{width:78px}.gt-table col.gt-c-action{width:132px}.gt-table th,.gt-table td{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;padding:6px 6px!important}.gt-table td{font-size:11px}.gt-table th{font-size:11px}.gt-table td small{overflow:hidden;text-overflow:ellipsis}.gt-table .gt-action-sticky{overflow:visible;text-overflow:clip}.gt-table .gt-result{min-width:58px;padding-left:5px;padding-right:5px}.gt-table .gt-order-type,.gt-table .gt-color{max-width:100%;overflow:hidden;text-overflow:ellipsis}.gt-filter-grid{max-width:100%;min-width:0}.gt-filter-grid>*{min-width:0}
@media(max-width:1400px){.gt-table{min-width:1180px!important}.gt-table col.gt-c-mps{width:78px}.gt-table col.gt-c-style{width:86px}.gt-table col.gt-c-action{width:126px}.gt-table .gt-action-sticky{min-width:126px}}
@media(max-width:900px){.gt-table-wrap{height:calc(100dvh - 330px);min-height:320px}.gt-table{min-width:1120px!important}}

/* V293 inspection plan versions and compact planning grid */
.inspection-version-note{margin:0 0 9px;padding:8px 11px;border:1px solid #c9d9f5;border-radius:8px;background:#f4f8ff;color:#50647f;font-size:12px}.inspection-version-note.old{border-color:#e1e5eb;background:#f8f9fb;color:#778394}.inspection-version-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.inspection-version-badge.current{background:#dcf6e8;color:#17734b}.inspection-version-badge.old{background:#edf0f4;color:#758195}.inspection-version-old{opacity:.68}.inspection-revision-table{max-height:62vh;overflow:auto}.inspection-revision-table table{min-width:1380px}.inspection-revision-table th{position:sticky;top:0;z-index:3;background:#f3f6fb}.inspection-revision-table input,.inspection-revision-table select{box-sizing:border-box;max-width:130px;height:32px}.inspection-revision-table td small{display:block;color:#7a8798}
.inspection-table-shell{max-width:100%;min-width:0;overflow:hidden}.inspection-plan-table{width:100%;max-width:100%;overflow:auto!important;overscroll-behavior:contain}.inspection-candidate-table{width:100%!important;min-width:1770px!important;table-layout:fixed!important}.inspection-candidate-table th,.inspection-candidate-table td{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;padding-left:5px!important;padding-right:5px!important;font-size:11px!important}.inspection-candidate-table th:nth-child(1){width:36px}.inspection-candidate-table th:nth-child(2){width:65px}.inspection-candidate-table th:nth-child(3){width:58px}.inspection-candidate-table th:nth-child(4){width:62px}.inspection-candidate-table th:nth-child(5){width:82px}.inspection-candidate-table th:nth-child(6){width:150px}.inspection-candidate-table th:nth-child(7){width:84px}.inspection-candidate-table th:nth-child(8){width:68px}.inspection-candidate-table th:nth-child(9){width:58px}.inspection-candidate-table th:nth-child(10),.inspection-candidate-table th:nth-child(11){width:62px}.inspection-candidate-table th:nth-child(12){width:90px}.inspection-candidate-table th:nth-child(13){width:76px}.inspection-candidate-table th:nth-child(14){width:108px}.inspection-candidate-table th:nth-child(15){width:82px}.inspection-candidate-table th:nth-child(16){width:62px}.inspection-candidate-table th:nth-child(17),.inspection-candidate-table th:nth-child(18){width:72px}.inspection-candidate-table th:nth-child(19){width:98px}.inspection-candidate-table th:nth-child(20){width:108px}.inspection-candidate-table th:nth-child(21){width:108px}.inspection-candidate-table th:nth-child(22){width:100px}.inspection-candidate-table select,.inspection-candidate-table input{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.inspection-candidate-table .qty-input{width:100%!important;min-width:0!important}.inspection-candidate-table .factory-chip,.inspection-candidate-table .label-chip,.inspection-candidate-table .order-type-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* V294 visible inspection revision entry */
.inspection-version-table{max-width:100%;max-height:68vh;overflow:auto}.inspection-version-table table{min-width:1120px}.inspection-plan-version-link{display:grid;gap:2px;border:0;background:transparent;padding:3px 0;text-align:left;color:#245fd3;cursor:pointer}.inspection-plan-version-link b{text-decoration:underline;text-underline-offset:3px}.inspection-plan-version-link small{color:#5375b7;white-space:nowrap}.inspection-version-table td>small{display:block;margin-top:3px;color:#8a95a5}.inspection-version-table .inspection-version-action{position:sticky;right:0;z-index:4;min-width:210px;background:#fff;box-shadow:-7px 0 12px rgba(15,23,42,.06)}.inspection-version-table th.inspection-version-action{z-index:6;background:#f3f6fb}.inspection-version-table .inspection-version-old .inspection-version-action{background:#fafbfc}

.revision-add-search{display:flex;gap:8px;align-items:center}.revision-add-search input{width:320px;height:34px;border:1px solid #d7dfeb;border-radius:8px;padding:0 9px}.revision-add-search .primary-btn.small{white-space:nowrap}

/* V311 - quick size switching inside the garment measurement workspace */
.measure-work-ident{display:flex!important;align-items:flex-end;gap:16px;min-width:0;flex:1}
.measure-work-ident>div{display:flex;flex-direction:column;min-width:210px}
.measure-quick-size{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}
.measure-quick-size select{height:38px;min-width:92px;padding:0 30px 0 11px;border:1px solid #cfd8e6;border-radius:9px;background:#fff;color:var(--text);font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.measure-quick-size select:focus{outline:2px solid rgba(49,94,251,.18);border-color:var(--primary)}
@media(max-width:900px){.measure-work-ident{width:100%;align-items:center;justify-content:space-between;gap:10px}.measure-work-ident>div{min-width:0}.measure-quick-size{margin-left:auto}.measure-quick-size select{min-width:84px}}

/* V312 - measurement quick size switch: compact toolbar control */
.measure-work-head{align-items:center}
.measure-work-ident{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px;min-width:220px;flex:1}
.measure-work-ident>div{display:flex;flex-direction:column;min-width:0}
.measure-actions{align-items:center}
.measure-quick-size{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 8px 0 11px;border:1px solid #cbd6e7;border-radius:9px;background:#f7f9fc;color:#64748b;font-size:12px;font-weight:800;white-space:nowrap;box-sizing:border-box}
.measure-quick-size span{line-height:1}
.measure-quick-size select{height:30px;min-width:76px;padding:0 27px 0 9px;border:0;border-left:1px solid #dbe3ef;border-radius:0;background:#fff;color:#18243a;font-size:14px;font-weight:800;cursor:pointer;outline:none}
.measure-quick-size:focus-within{border-color:#315efb;box-shadow:0 0 0 2px rgba(49,94,251,.12)}
@media(max-width:900px){.measure-work-ident{width:auto;min-width:0}.measure-actions{width:100%;justify-content:flex-start}.measure-quick-size{order:-1}.measure-quick-size select{min-width:72px}}

/* V313 - inspection management query row: Plan No + PO, default open items */
.inspection-query-card{display:grid!important;grid-template-columns:minmax(210px,1.4fr) minmax(180px,1.1fr) minmax(200px,1fr) minmax(180px,.9fr) auto auto;gap:10px;align-items:end}
.inspection-query-card>input,.inspection-query-card>select{min-width:0;width:100%}
.inspection-query-card>button{white-space:nowrap}
@media(max-width:1200px){.inspection-query-card{grid-template-columns:repeat(3,minmax(0,1fr))}.inspection-query-card>button{width:100%}}
@media(max-width:720px){.inspection-query-card{grid-template-columns:1fr 1fr}.inspection-query-card>select{grid-column:auto}.inspection-query-card>button{width:100%}}
@media(max-width:520px){.inspection-query-card{grid-template-columns:1fr}}


/* V314: measurement size selector + inspection management query layout */
.measure-size-control{height:40px;display:inline-grid;grid-template-columns:auto minmax(72px,92px);align-items:center;overflow:hidden;border:1px solid #cfd8e6;border-radius:10px;background:#fff;box-sizing:border-box;flex:0 0 auto}
.measure-size-label{height:100%;display:flex;align-items:center;padding:0 10px;background:#f5f7fb;color:#52627a;font-size:12px;font-weight:800;border-right:1px solid #dbe3ef;white-space:nowrap}
.measure-size-control select{appearance:auto;-webkit-appearance:menulist;height:38px;width:100%;min-width:0;border:0!important;border-radius:0!important;background:#fff!important;padding:0 8px!important;color:#172238!important;font-size:14px!important;font-weight:800!important;outline:none!important;box-shadow:none!important;cursor:pointer}
.measure-size-control:focus-within{border-color:#315efb;box-shadow:0 0 0 2px rgba(49,94,251,.12)}
.measure-actions{gap:8px!important}
@media(max-width:900px){.measure-size-control{grid-template-columns:auto minmax(68px,82px)}.measure-actions{overflow-x:auto;flex-wrap:nowrap}.measure-size-control{order:0}}

/* V358 - compact multi-size measurement run and grouped history */
.measure-work-modal .measure-actions a[href*="/measure/sessions/"]{display:none!important}
.measure-table th:not(.m-sticky-1):not(.m-sticky-2):not(.m-sticky-3):not(.m-sticky-4),.measure-table td:not(.m-sticky-1):not(.m-sticky-2):not(.m-sticky-3):not(.m-sticky-4){min-width:82px;padding-left:6px;padding-right:6px}
.measure-cell input{width:72px!important;padding-left:4px!important;padding-right:4px!important}
.modal-card.modal-card-measure-history{width:min(1660px,98vw);max-width:1660px;height:min(900px,94vh);max-height:94vh}
.modal-card-measure-history .modal-body{padding:0 16px 16px;overflow:hidden}.measure-history-page{height:100%;display:flex;flex-direction:column;min-height:0}
.measure-history-query-fixed{position:sticky;top:0;z-index:8;flex:0 0 auto;grid-template-columns:repeat(5,minmax(130px,1fr)) auto auto!important;padding:12px 0;background:#fff;border-bottom:1px solid var(--border);margin:0!important}
.measure-history-query-fixed label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.measure-history-query-fixed input,.measure-history-query-fixed select{height:38px;min-width:0}
.measure-history-grouped{flex:1;min-height:0;max-height:none!important;overflow:auto}.measure-history-grouped table{min-width:1380px}.measure-history-grouped thead th{top:0!important;z-index:6!important}.history-size-count{display:block;color:var(--muted);margin-top:3px}.measure-history-grouped a{text-decoration:none}
.measure-summary-tools-v338{grid-template-columns:minmax(220px,1fr) 160px 160px 160px auto auto!important}
.modal-card-measure-summary .measure-summary-actions{display:none!important}
.measure-batch-guide{margin:9px 0 2px;padding:8px 11px;border:1px solid #cfe0ff;border-radius:9px;background:#f3f7ff;color:#315b9a;font-size:13px;font-weight:700}
@media(max-width:1100px){.measure-history-query-fixed{grid-template-columns:repeat(3,minmax(150px,1fr))!important}.measure-summary-tools-v338{grid-template-columns:repeat(3,minmax(150px,1fr))!important}}

.inspection-query-v314{display:grid!important;grid-template-columns:minmax(250px,1.35fr) minmax(200px,1fr) minmax(210px,1fr) minmax(200px,1fr) auto;gap:12px;align-items:end}
.inspection-query-v314>label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#66758b;font-size:13px;font-weight:700}
.inspection-query-v314>label>span{padding-left:1px}
.inspection-query-v314 input,.inspection-query-v314 select{height:42px;width:100%;min-width:0;box-sizing:border-box}
.inspection-query-actions{display:flex;gap:8px;align-items:end;white-space:nowrap}
.inspection-query-actions button{height:42px;min-width:72px}
@media(max-width:1200px){.inspection-query-v314{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-query-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:640px){.inspection-query-v314{grid-template-columns:1fr}.inspection-query-actions{grid-column:auto}.inspection-query-actions button{flex:1}}


/* V315 查货管理 / BOX# 快速多选 */
.inspection-query-v315{display:grid!important;grid-template-columns:minmax(230px,1.2fr) minmax(220px,1fr) minmax(210px,.9fr) minmax(210px,.9fr) auto;gap:12px;align-items:end}
.inspection-query-v315>label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#66758b;font-size:13px;font-weight:700}
.inspection-query-v315 input,.inspection-query-v315 select{height:42px;width:100%;min-width:0;box-sizing:border-box}
.inspection-filter-hint{margin:-2px 4px 10px;color:#64748b;font-size:12px}
.inspection-box-picker-v315{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff}
.inspection-box-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;align-items:end;margin:8px 0}
.inspection-box-search{display:flex;flex-direction:column;gap:5px;color:#66758b;font-size:12px;font-weight:700}
.inspection-box-search input,.inspection-manual-box input{height:40px;box-sizing:border-box}
.inspection-selected-boxes{display:flex;gap:6px;flex-wrap:wrap;min-height:36px;align-items:center;padding:7px 8px;background:#f8fafc;border:1px dashed #d7dee9;border-radius:9px;margin-bottom:8px}
.inspection-selected-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #bcd0ff;background:#eef4ff;color:#2447a8;border-radius:999px;padding:5px 9px;font-size:12px;cursor:pointer}
.inspection-selected-chip span{font-size:15px;line-height:1}
.inspection-box-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:6px;max-height:210px;overflow:auto;padding:6px;border:1px solid #e5eaf2;border-radius:9px;background:#fbfcfe}
.inspection-box-option{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;border:1px solid #e5eaf2;border-radius:8px;background:#fff;cursor:pointer;min-width:0}
.inspection-box-option:hover{border-color:#a9bdf7;background:#f7f9ff}.inspection-box-option:has(input:checked){border-color:#7da0ff;background:#eef4ff}
.inspection-box-no{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.inspection-box-option small{color:#64748b;white-space:nowrap}
.inspection-manual-box{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:8px;align-items:end;margin-top:9px;padding-top:9px;border-top:1px solid #edf0f5}
.inspection-manual-box label{display:flex;flex-direction:column;gap:5px;color:#66758b;font-size:12px;font-weight:700}.inspection-no-box{padding:18px;border:1px dashed #d7dee9;border-radius:9px;background:#fafafa;text-align:center}
@media(max-width:1100px){.inspection-query-v315{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-query-actions{grid-column:1/-1;justify-content:flex-end}.inspection-box-tools{grid-template-columns:1fr auto auto}}
@media(max-width:700px){.inspection-query-v315{grid-template-columns:1fr}.inspection-query-actions{grid-column:auto}.inspection-box-tools,.inspection-manual-box{grid-template-columns:1fr}.inspection-box-tools button,.inspection-manual-box button{width:100%}}

/* V316 查货管理与 BOX# 模糊多选 */
.inspection-v316-mark{display:inline-flex;align-items:center;margin:0 0 9px 2px;padding:4px 9px;border-radius:999px;background:#eef4ff;color:#3156d8;font-size:11px;font-weight:700}
.inspection-query-v316{display:grid!important;grid-template-columns:minmax(230px,1.15fr) minmax(230px,1fr) minmax(200px,.9fr) minmax(210px,.9fr) auto;gap:12px;align-items:end}
.inspection-query-v316>label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#66758b;font-size:13px;font-weight:700}
.inspection-query-v316 input,.inspection-query-v316 select{height:42px;width:100%;min-width:0;box-sizing:border-box}
.inspection-box-picker-v316{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff;overflow:visible}
.inspection-box-combobox{position:relative;max-width:760px;margin-top:8px;z-index:30}
.inspection-box-combobox>label{display:flex;flex-direction:column;gap:5px;color:#66758b;font-size:12px;font-weight:700}
.inspection-box-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid #cfd8e6;border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.inspection-box-input-wrap:focus-within{border-color:#587cff;box-shadow:0 0 0 3px rgba(72,112,255,.10)}
.inspection-box-input-wrap input{height:42px;border:0!important;outline:0!important;box-shadow:none!important;padding:0 12px;min-width:0;font-variant-numeric:tabular-nums}
.inspection-box-clear{border:0;border-left:1px solid #e5eaf2;background:#f8fafc;color:#536175;padding:0 13px;cursor:pointer;font-weight:650}
.inspection-box-clear:hover{background:#eef3ff;color:#3156d8}
.inspection-box-suggest{position:absolute;left:0;right:0;top:68px;max-height:300px;overflow:auto;background:#fff;border:1px solid #cfd8e6;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.18);z-index:200;padding:5px}
.inspection-box-suggest.hidden{display:none!important}
.inspection-box-suggest-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;border:0;background:#fff;border-radius:7px;padding:9px 10px;cursor:pointer;color:#172238;font-size:13px}
.inspection-box-suggest-option:hover,.inspection-box-suggest-option:focus{background:#eef4ff;outline:0}
.inspection-box-suggest-option span{font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-box-suggest-option small{color:#64748b;white-space:nowrap}
.inspection-box-suggest-empty{padding:14px 10px;color:#7b8798;font-size:12px;text-align:center}
.inspection-box-picker-v316 .inspection-selected-boxes{margin-top:9px;margin-bottom:0}
.inspection-box-help{margin-top:7px;color:#7b8798;font-size:11px}
@media(max-width:1100px){.inspection-query-v316{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-query-v316 .inspection-query-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:700px){.inspection-query-v316{grid-template-columns:1fr}.inspection-query-v316 .inspection-query-actions{grid-column:auto}.inspection-box-combobox{max-width:none}}

/* V317 成衣测试多工厂筛选 / 状态 */
.gt-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.gt-kpis .warning{background:#fffaf0;border-color:#f5d8a5}.gt-kpis .warning b{color:#b7791f}
.gt-result.waiting_result,.gt-result.waiting-result{background:#fff7df;color:#9a6700}.gt-result.follow_up,.gt-result.follow-up{background:#edf2f7;color:#4a5568}.gt-result.retest{background:#fff1e8;color:#b45309}
@media(max-width:1100px){.gt-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.gt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* V319 misc procurement */
.mp-detail .workflow-stepper{display:flex;gap:6px;overflow-x:auto;padding:8px 0 14px}.mp-detail .workflow-step{min-width:92px;display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#f2f5fa;color:#68758c}.mp-detail .workflow-step b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dfe6f2}.mp-detail .workflow-step.active{background:#eaf0ff;color:#2f5ee5;font-weight:700}.mp-detail .workflow-step.done{background:#eaf8ef;color:#238449}.mp-detail .detail-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:6px 0 18px}.mp-detail .detail-summary>div{background:#f8fafc;border:1px solid #e7ebf2;border-radius:10px;padding:10px}.mp-detail .detail-summary span{display:block;font-size:12px;color:#7a879a}.mp-detail .detail-summary b{display:block;margin-top:4px}.mp-detail .sub-card{border:1px solid #e4e9f2;border-radius:10px;padding:12px;margin:8px 0;background:#fff}.quote-link-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px dashed #e4e9f2}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:320px;overflow:auto}.check-grid label{border:1px solid #e2e7ef;border-radius:8px;padding:9px}.mp-item-row{border-bottom:1px dashed #e4e9f2;padding:8px 0}.empty-note{padding:12px;color:#7b8797;background:#f7f9fc;border-radius:8px}.compact-btn{padding:7px 10px!important;min-height:32px!important}@media(max-width:1000px){.mp-detail .detail-summary{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:1fr}}


/* V320 杂项采购工作区 / 设备台账整合 */
.mp-page{display:flex;flex-direction:column;gap:14px}.mp-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.mp-kpi-card{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:14px 16px;min-height:92px;box-shadow:0 1px 2px rgba(20,35,60,.03)}.mp-kpi-card span{display:block;color:#6e7c92;font-size:13px}.mp-kpi-card b{display:block;font-size:26px;line-height:1.2;margin:5px 0 2px;color:#1d2d49}.mp-kpi-card small{color:#94a0b2;font-size:12px}.mp-filter-card{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:13px 14px}.mp-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(190px,1.25fr) minmax(170px,1.05fr) auto;gap:10px;align-items:end}.mp-filter-grid label,.device-ledger-filter label{display:flex;flex-direction:column;gap:5px;min-width:0}.mp-filter-grid label>span,.device-ledger-filter label>span{font-size:12px;color:#6d7a90;font-weight:600}.mp-filter-grid input,.mp-filter-grid select,.device-ledger-filter input,.device-ledger-filter select{height:42px;width:100%;border:1px solid #d9e1ec;border-radius:10px;padding:0 12px;background:#fff;font:inherit;color:#24324a}.mp-filter-actions,.device-ledger-actions{display:flex;gap:8px;align-items:center}.mp-filter-actions button,.device-ledger-actions button{height:42px;white-space:nowrap}.mp-table-card{overflow:hidden}.mp-table-title{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e8edf4;background:#fbfcfe}.mp-table-title b{font-size:15px}.mp-table-title span{font-size:13px;color:#7c899e}.mp-page .table td{vertical-align:middle}.mp-page .table td small{display:block;color:#8a97aa;margin-top:3px}.device-ledger-page{display:flex;flex-direction:column;gap:14px}.device-ledger-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.device-ledger-kpis>div{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:14px 16px}.device-ledger-kpis span{display:block;color:#6e7c92;font-size:13px}.device-ledger-kpis b{display:block;font-size:25px;margin-top:4px}.device-ledger-filter{display:grid;grid-template-columns:minmax(280px,2fr) minmax(200px,1.2fr) minmax(160px,.9fr) auto;gap:10px;align-items:end;background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:13px 14px}
@media(max-width:1200px){.mp-kpi-grid{grid-template-columns:repeat(3,1fr)}.mp-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-filter-actions{grid-column:1/-1;justify-content:flex-end}.device-ledger-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.device-ledger-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:720px){.mp-kpi-grid,.device-ledger-kpis,.mp-filter-grid,.device-ledger-filter{grid-template-columns:1fr}.mp-filter-actions,.device-ledger-actions{grid-column:auto;justify-content:stretch}.mp-filter-actions button,.device-ledger-actions button{flex:1}}

/* V321 杂项采购申请：宽屏分区表单 + 类型动态字段 */
.modal-card.modal-card-procurement{width:min(1180px,94vw)!important;max-width:1180px!important;max-height:92vh!important}
.modal-card.modal-card-procurement .modal-body{padding:18px 22px 22px!important}
.mp-new-wrap{display:flex;flex-direction:column;gap:14px}.mp-new-section{background:#fff;border:1px solid #e4eaf3;border-radius:14px;padding:16px 18px}.mp-new-title{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #edf1f6}.mp-new-title b{font-size:16px;color:#20304b}.mp-new-title span{font-size:12px;color:#8793a5}.mp-new-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}.mp-new-grid label,.mp-wide-label,.mp-new-item-row label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#59677d;font-weight:600}.mp-new-grid input,.mp-new-grid select,.mp-new-grid textarea,.mp-wide-label input,.mp-wide-label textarea,.mp-new-item-row input{width:100%;box-sizing:border-box;border:1px solid #d8e0eb;border-radius:9px;background:#fff;padding:9px 11px;font:inherit;color:#21304a}.mp-new-grid input,.mp-new-grid select,.mp-new-item-row input{height:42px}.mp-new-grid textarea,.mp-wide-label textarea{min-height:88px;resize:vertical}.mp-new-grid .span3{grid-column:1/-1}.mp-wide-label small{font-size:12px;color:#8a96a8;font-weight:400}.mp-new-item-row{display:grid;grid-template-columns:1.2fr 1.8fr .6fr .6fr .8fr auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px dashed #e4e9f1}.mp-new-item-row>button{height:42px}.mp-type-summary .mp-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mp-type-summary .mp-type-grid>div{background:#f8fafc;border:1px solid #e7ecf3;border-radius:9px;padding:9px 11px}.mp-type-summary span{display:block;font-size:12px;color:#8390a3}.mp-type-summary b{display:block;margin-top:3px;color:#22324e}.mp-attachment-card{margin:10px 0}.mp-file-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;margin-top:6px;border:1px solid #e4eaf2;border-radius:9px;background:#f9fbfe;color:#315fd8;text-decoration:none}.mp-file-link small{color:#8a97a9;font-weight:400}
@media(max-width:900px){.modal-card.modal-card-procurement{width:96vw!important}.mp-new-grid,.mp-type-summary .mp-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-new-grid .span3{grid-column:1/-1}.mp-new-item-row{grid-template-columns:1fr 1fr}.mp-new-item-row>button{width:max-content}}
@media(max-width:620px){.mp-new-grid,.mp-type-summary .mp-type-grid,.mp-new-item-row{grid-template-columns:1fr}.mp-new-title{align-items:flex-start;flex-direction:column;gap:4px}}

/* V322 工程采购：统一列表、详情及处理弹窗视觉规范 */
.modal-card.modal-card-procurement-detail{width:min(1420px,96vw)!important;max-width:1420px!important;max-height:94vh!important;border-radius:16px!important}
.modal-card.modal-card-procurement-detail .modal-head{padding:13px 18px!important;border-bottom:1px solid #e7ecf3;background:#fff}
.modal-card.modal-card-procurement-detail #modalBody{padding:0!important;background:#f6f8fc!important}
.mp-detail-v322{padding:16px 18px 22px;display:flex;flex-direction:column;gap:14px}
.mp-detail-v322 .mp-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:16px 18px;background:linear-gradient(135deg,#fff,#f7f9ff);border:1px solid #e2e8f3;border-radius:14px}
.mp-detail-v322 .mp-detail-title small{display:block;color:#6680b7;font-weight:800;letter-spacing:.04em;margin-bottom:4px}.mp-detail-v322 .mp-detail-title h2{margin:0;font-size:21px;color:#17263f;line-height:1.3}.mp-detail-v322 .mp-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.mp-detail-v322 .mp-detail-meta span{padding:5px 9px;border-radius:999px;background:#eef3fb;color:#52647f;font-size:12px;font-weight:700}
.mp-detail-v322 .mp-detail-status{min-width:160px;text-align:right}.mp-detail-v322 .mp-detail-status span{display:block;color:#8491a5;font-size:12px}.mp-detail-v322 .mp-detail-status b{display:block;color:#2f5ee5;font-size:18px;margin:4px 0}.mp-detail-v322 .mp-detail-status small{color:#596a84;font-weight:700}
.mp-detail-v322 .mp-step-shell{background:#fff;border:1px solid #e3e9f2;border-radius:14px;padding:8px 12px;overflow:hidden}.mp-detail-v322 .workflow-stepper{margin:0;padding:3px 0;gap:8px}.mp-detail-v322 .workflow-step{min-width:108px;padding:9px 11px;border-radius:10px;flex:1 0 auto}.mp-detail-v322 .workflow-step b{width:26px;height:26px;flex:0 0 26px}.mp-detail-v322 .workflow-step span{white-space:nowrap;font-size:13px}
.mp-detail-v322 .detail-summary{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;gap:10px}.mp-detail-v322 .detail-summary>div{min-height:62px;background:#fff;border:1px solid #e3e9f2;border-radius:12px;padding:10px 12px}.mp-detail-v322 .detail-summary span{font-size:11px;color:#8a96a7;text-transform:none}.mp-detail-v322 .detail-summary b{font-size:14px;color:#1f304b;overflow-wrap:anywhere}
.mp-detail-v322 .sub-card,.mp-detail-v322 .table-card{border:1px solid #e2e8f1!important;border-radius:14px!important;box-shadow:none!important}.mp-detail-v322 .sub-card{padding:14px 16px;margin:0;background:#fff}.mp-detail-v322 .mp-type-summary>h3,.mp-detail-v322 .sub-card>h3{margin:0 0 12px;font-size:15px;color:#243754}.mp-detail-v322 .mp-type-summary .mp-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.mp-detail-v322 .mp-type-summary .mp-type-grid>div{min-height:58px;background:#f8fafc;border:1px solid #e7ebf2;border-radius:10px;padding:9px 11px}.mp-detail-v322 .mp-type-summary p{margin:12px 0 0;padding:11px 12px;background:#f8fafc;border-radius:10px;color:#3c4c66;line-height:1.6}
.mp-detail-v322 .mp-attachment-card .section-toolbar{margin:0 0 6px}.mp-detail-v322 .section-toolbar.mp-section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e2e8f1;border-radius:12px;padding:10px 12px;margin:0}.mp-detail-v322 .mp-section-toolbar>div:first-child,.mp-detail-v322 .mp-section-heading{display:flex;align-items:center;gap:9px}.mp-detail-v322 .mp-section-toolbar small,.mp-detail-v322 .mp-section-heading small{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf2ff;color:#3564dd;font-weight:800;font-size:11px}.mp-detail-v322 .mp-section-toolbar h3,.mp-detail-v322 .mp-section-heading h3{margin:0;font-size:15px;color:#243754}.mp-detail-v322 .mp-section-heading{margin-top:2px;padding:1px 2px}
.mp-detail-v322 .table-card{overflow:auto;background:#fff}.mp-detail-v322 .table{margin:0}.mp-detail-v322 .table th{background:#f5f7fb;white-space:nowrap;position:sticky;top:0;z-index:1}.mp-detail-v322 .table td{vertical-align:middle}
.mp-detail-v322 .mp-execution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mp-detail-v322 .mp-execution-grid .sub-card{min-height:112px}.mp-detail-v322 .mp-execution-grid p{margin:6px 0;color:#516079;line-height:1.5}
.mp-detail-v322 .mp-log-details{background:#fff;border:1px solid #e3e9f2;border-radius:12px;padding:11px 13px}.mp-detail-v322 .mp-log-details summary{cursor:pointer;font-weight:800;color:#344761}.mp-detail-v322 .timeline{margin-top:10px}
.mp-detail-v322 .empty-note{border:1px dashed #d9e1ee;background:#fafbfe}.mp-detail-v322 .mp-file-link{margin-top:7px}
@media(max-width:1180px){.mp-detail-v322 .detail-summary{grid-template-columns:repeat(3,1fr)}.mp-detail-v322 .mp-type-summary .mp-type-grid{grid-template-columns:repeat(2,1fr)}.mp-detail-v322 .mp-execution-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.modal-card.modal-card-procurement-detail{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}.mp-detail-v322{padding:10px}.mp-detail-v322 .mp-detail-hero{flex-direction:column}.mp-detail-v322 .mp-detail-status{text-align:left;min-width:0}.mp-detail-v322 .detail-summary,.mp-detail-v322 .mp-type-summary .mp-type-grid,.mp-detail-v322 .mp-execution-grid{grid-template-columns:1fr}.mp-detail-v322 .section-toolbar.mp-section-toolbar{align-items:flex-start;flex-direction:column}}

/* V323 order sync / procurement approval */
.order-sync-v323{min-width:min(1050px,88vw);padding:2px 4px 8px}.modal:has(.order-sync-v323) .modal-card{width:min(1120px,calc(100vw - 48px))!important;max-width:none!important}
.sync-hero{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border:1px solid #dfe7f3;background:linear-gradient(135deg,#f7faff,#eef4ff);border-radius:14px;margin-bottom:12px}.sync-hero h3{margin:0 0 3px;font-size:18px}.sync-hero p{margin:0;color:#64748b;font-size:13px}.sync-hero>span{background:#e9f0ff;color:#315eb8;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}
.order-sync-v323 .sync-rule-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.order-sync-v323 .sync-rule-grid>div{padding:12px 14px;border-radius:12px}.order-sync-v323 .sync-rule-grid small{display:block;color:#7b8799;margin-top:4px}
.sync-section{border:1px solid #e5eaf2;border-radius:14px;background:#fff;padding:14px 16px;margin-top:12px}.sync-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sync-section-head b{display:block;font-size:15px}.sync-section-head small{display:block;color:#718096;margin-top:2px}
.sync-po-row{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto;gap:10px;align-items:center}.sync-po-row input,.sync-po-row select,.sync-setting-grid input,.sync-setting-grid select{width:100%;box-sizing:border-box}
.sync-setting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sync-setting-grid label{display:block;font-size:13px;color:#475569}.sync-setting-grid small{display:block;color:#8a94a6;margin-top:4px}.sync-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.mp-approval-detail{min-width:min(760px,78vw)}
@media(max-width:800px){.order-sync-v323{min-width:0}.order-sync-v323 .sync-rule-grid,.sync-setting-grid{grid-template-columns:1fr 1fr}.sync-po-row{grid-template-columns:1fr}.mp-approval-detail{min-width:0}}
@media(max-width:520px){.order-sync-v323 .sync-rule-grid,.sync-setting-grid{grid-template-columns:1fr}}

/* V324 Engineering Procurement - searchable supplier invitation */
.modal-card-rfq{width:min(980px,94vw)!important;max-width:980px!important}
.mp-rfq-modal{display:flex;flex-direction:column;gap:16px}
.mp-rfq-supplier-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:4px}
.mp-rfq-supplier-head h3{margin:0 0 4px;font-size:18px}
.mp-rfq-supplier-head small{color:var(--text-muted,#718096)}
.mp-rfq-supplier-head>span{font-weight:700;color:var(--primary,#3f6df6);white-space:nowrap}
.mp-rfq-search{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:10px;align-items:center}
.mp-rfq-search input{width:100%}
.mp-rfq-selected{display:flex;flex-wrap:wrap;gap:8px;min-height:38px;padding:9px 10px;border:1px solid #e3e9f3;border-radius:10px;background:#f8fafc;align-items:center}
.mp-rfq-selected>span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;background:#eef4ff;border:1px solid #d9e5ff;border-radius:999px;font-size:13px}
.mp-rfq-selected button{border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:#667085}
.mp-rfq-supplier-list{border:1px solid #e2e8f0;border-radius:12px;max-height:330px;overflow:auto;background:#fff}
.mp-rfq-supplier-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid #eef2f7;cursor:pointer}
.mp-rfq-supplier-row:last-child{border-bottom:0}
.mp-rfq-supplier-row:hover{background:#f8fbff}
.mp-rfq-supplier-row.disabled{opacity:.62;cursor:not-allowed;background:#fafafa;grid-template-columns:24px minmax(0,1fr) auto minmax(130px,auto)}
.mp-rfq-supplier-main{display:flex;flex-direction:column;min-width:0}
.mp-rfq-supplier-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-rfq-supplier-main small{color:#7a8699;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-rfq-qual{font-size:12px;padding:4px 8px;border-radius:999px;background:#f1f5f9;white-space:nowrap}
@media(max-width:720px){.mp-rfq-search{grid-template-columns:1fr 1fr}.mp-rfq-search input{grid-column:1/-1}.mp-rfq-supplier-row,.mp-rfq-supplier-row.disabled{grid-template-columns:24px minmax(0,1fr)}.mp-rfq-qual,.mp-rfq-supplier-row.disabled>.danger-text{grid-column:2}}

/* V325 Supplier quotation portal - type-aware project detail and public attachments */

/* V326 engineering procurement supplier auto-match / RFQ email */
.mp-rfq-auto-match{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #dbe7ff;border-radius:12px;background:#f7faff;margin-bottom:14px}
.mp-rfq-auto-match>div{display:flex;align-items:center;justify-content:space-between;gap:14px}
.mp-rfq-auto-match b{font-size:16px;color:#1f3f7a}.mp-rfq-auto-match span{font-weight:700;color:#376cf6}.mp-rfq-auto-match small,.mp-rfq-mail-note{color:#68778f}
.mp-rfq-mail-note{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed #d9e1ec;line-height:1.5}
.mp-invitation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.mp-invitation-row>span{display:flex;flex-direction:column;gap:2px}.mp-invitation-row>span small{color:#718096}.mp-invitation-row>div{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.mp-rfq-auto-match>div,.mp-invitation-row{align-items:flex-start;flex-direction:column}}

/* V327 supplier quotation duplicate-submit lock / controlled revision */

/* V329 engineering procurement award approval comparison */
.award-approval-block{margin:18px 0;padding:16px;border:1px solid #dfe6f3;border-radius:14px;background:#fbfcff}
.award-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.award-summary-grid>div{padding:12px 14px;border:1px solid #e1e7f0;border-radius:10px;background:#fff;min-height:70px}
.award-summary-grid>div.span2{grid-column:span 2}
.award-summary-grid span{display:block;color:#6b778c;font-size:12px;margin-bottom:4px}
.award-summary-grid b{display:block;color:#18243a;font-size:15px}
.award-summary-grid small{display:block;color:#7b8798;margin-top:3px}
.award-selected-row td{background:#eef5ff!important;border-top:1px solid #b9d2ff;border-bottom:1px solid #b9d2ff}
.award-selected-tag{display:inline-block;padding:3px 7px;border-radius:999px;background:#376cf6;color:#fff;font-size:11px;margin-right:6px;vertical-align:middle}
.approval-selected-col{background:#f3f7ff!important}
.award-compare-table td small,.award-item-table td small{display:block;color:#7b8798;margin-top:3px;white-space:normal}
.approval-change-title.sub{margin-top:16px;font-size:14px}
.danger-text{color:#b42318!important;background:#fff1f0!important;border-color:#ffc9c5!important}
@media(max-width:900px){.award-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.award-summary-grid>div.span2{grid-column:span 2}}

/* V330 engineering procurement stage-local actions */
.mp-detail-v322 .workflow-step{flex-direction:column;align-items:stretch;justify-content:center;min-width:118px;gap:7px}
.mp-detail-v322 .workflow-step-main{display:flex;align-items:center;gap:7px}
.mp-detail-v322 .workflow-step-action{display:flex;align-items:center;justify-content:center;min-height:32px;padding-top:5px;border-top:1px solid rgba(67,97,164,.12)}
.mp-detail-v322 .workflow-step-action small{font-size:11px;color:#7a879a;font-weight:500;white-space:nowrap}
.mp-detail-v322 .workflow-step.active{min-width:168px;box-shadow:0 4px 14px rgba(55,93,210,.10)}
.mp-detail-v322 button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.15)}

/* V331 engineering procurement purchase order + supplier acknowledgement */
.mp-po-card{margin-bottom:16px}
.mp-po-meta,.mp-po-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.mp-po-meta>div,.mp-po-preview>div{padding:11px 12px;border:1px solid #e4eaf3;border-radius:10px;background:#f8fafc}
.mp-po-meta span,.mp-po-preview span{display:block;font-size:12px;color:#718096;margin-bottom:4px}
.mp-po-meta b,.mp-po-preview b{font-size:14px;color:#1f2937}
.mp-po-history{margin-top:14px;border-top:1px solid #e8edf5;padding-top:12px}
.mp-po-history h4{margin:0 0 8px}
.mp-po-update{display:grid;grid-template-columns:150px 200px 1fr;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:8px;margin-top:6px;align-items:center}
.mp-po-update small{color:#718096}
.mp-po-generate{display:flex;flex-direction:column;gap:14px}
.mp-po-generate-note{padding:11px 12px;border-radius:10px;background:#eef4ff;color:#3156b8;line-height:1.6}
@media(max-width:900px){.mp-po-meta,.mp-po-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-po-update{grid-template-columns:1fr 1fr}.mp-po-update small{grid-column:1/-1}}
@media(max-width:600px){.mp-po-meta,.mp-po-preview{grid-template-columns:1fr}.mp-po-update{grid-template-columns:1fr}}


/* V332 engineering procurement standardized application fields */
.mp-new-v332 input[readonly]{background:#f5f7fb;color:#44506a;cursor:not-allowed}
.mp-new-v332 select:disabled{background:#f5f7fb;color:#44506a;opacity:1;cursor:not-allowed}
.mp-preferred-field{position:relative}
.mp-preferred-results{margin-top:6px;border:1px solid #dfe6f0;border-radius:10px;background:#fff;max-height:230px;overflow:auto;box-shadow:0 8px 22px rgba(27,46,94,.08)}
.mp-preferred-results>.muted{display:block;padding:10px 12px;color:#7a879a}
.mp-preferred-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left;cursor:pointer}
.mp-preferred-row:last-child{border-bottom:0}.mp-preferred-row:hover{background:#f7faff}.mp-preferred-row.disabled{opacity:.6;cursor:not-allowed;background:#fafafa}
.mp-preferred-row span{display:flex;flex-direction:column;min-width:0}.mp-preferred-row b{font-size:13px;color:#1f2937}.mp-preferred-row small{font-size:12px;color:#748198;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-preferred-row em{font-style:normal;font-size:12px;color:#376cf6;white-space:nowrap}
.mp-preferred-selected{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:10px 12px;background:#eef5ff;border-radius:9px}.mp-preferred-selected b{color:#244ea8}.mp-preferred-selected span{font-size:12px;color:#67768d}.mp-preferred-selected button{grid-column:2;grid-row:1/3;border:0;background:transparent;font-size:20px;color:#667085;cursor:pointer}

/* V333 Engineering Procurement application cleanup */
.mp-new-v332 .mp-new-title b{letter-spacing:.1px}.mp-new-item-row-v333{grid-template-columns:1.15fr .8fr .9fr 1.3fr .55fr .55fr .8fr .75fr 1.35fr auto;align-items:end}.mp-new-item-row-v333 .mp-item-requirement{min-width:180px}.mp-line-total{height:42px;border:1px solid #d8e0eb;border-radius:9px;background:#f7f9fc;padding:5px 10px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.mp-line-total span{font-size:11px;color:#7a8799}.mp-line-total b{font-size:13px;color:#24324b}.mp-item-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}.mp-item-summary{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#f5f8fd;border:1px solid #e1e8f2;border-radius:10px;padding:10px 14px;color:#627086}.mp-item-summary b{color:#1f2d45}.mp-item-summary em{font-style:normal;color:#315fd8;font-weight:700}.mp-preferred-results.hidden{display:none!important}.mp-preferred-field input[readonly]{background:#f7f9fc}.mp-preferred-selected{margin-top:8px}.summary-row td{background:#fff8df!important;border-top:1px solid #ead88f}.modal-card-procurement-v333{width:min(1500px,96vw)!important}.mp-new-grid .span2{grid-column:span 2}.mp-new-v332 #mpNBudget[readonly]{font-weight:700;color:#284cae;background:#f3f7ff}.mp-new-v332 #mpTypeFields .mp-new-title{margin-top:0}.mp-new-v332 #mpTypeFields{background:#fbfcfe}
@media(max-width:1200px){.mp-new-item-row-v333{grid-template-columns:repeat(4,minmax(0,1fr))}.mp-new-item-row-v333 .mp-item-requirement{min-width:0}.mp-item-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.mp-new-item-row-v333{grid-template-columns:1fr 1fr}.mp-item-summary{width:100%;box-sizing:border-box}.mp-new-grid .span2{grid-column:1/-1}}
/* V334 engineering procurement: supplier dropdown, amount alignment, approval detail */
.mp-new-item-row-v333{grid-template-columns:1.15fr .8fr .9fr 1.3fr .55fr .55fr .8fr .82fr 1.35fr auto;column-gap:10px}
.mp-line-total-label{display:flex!important;flex-direction:column;gap:6px;min-width:0;color:var(--text,#24324b);font-size:13px;font-weight:600}
.mp-line-total{height:42px;padding:0 12px;display:flex;align-items:center;justify-content:flex-end;background:#f7f9fc;border:1px solid #d8e0eb;border-radius:9px;box-sizing:border-box}
.mp-line-total b{font-size:14px;white-space:nowrap;text-align:right;width:100%;font-variant-numeric:tabular-nums}
.mp-preferred-results:not(.hidden){display:block;position:absolute;left:0;right:0;top:100%;z-index:40;max-height:280px}
.mp-preferred-field{position:relative}
.mp-preferred-row{width:100%;text-align:left}
@media(max-width:1200px){.mp-line-total-label{min-width:0}.mp-preferred-results:not(.hidden){position:static}}

/* V337 Engineering Procurement application item-row alignment fix */
#modalBody .mp-new-item-row-v333{
  align-items:end;
  column-gap:12px;
  row-gap:10px;
}
#modalBody .mp-new-item-row-v333 > label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin:0!important;
  min-width:0;
  align-self:stretch;
  justify-content:flex-end;
  line-height:1.25;
}
#modalBody .mp-new-item-row-v333 > label > input{
  margin:0!important;
  height:42px!important;
}
#modalBody .mp-new-item-row-v333 .mp-line-total-label{
  margin:0!important;
  gap:6px!important;
}
#modalBody .mp-new-item-row-v333 .mp-line-total{
  height:42px!important;
  min-height:42px;
  margin:0!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  line-height:1!important;
}
#modalBody .mp-new-item-row-v333 .mp-line-total b{
  display:block;
  width:100%;
  margin:0!important;
  line-height:1!important;
  text-align:right;
  font-size:16px;
}
#modalBody .mp-new-item-row-v333 > button[data-del]{
  height:42px!important;
  margin:0!important;
  align-self:end;
}

/* V337 Engineering Procurement amount field: use the exact same input geometry as sibling fields */
#modalBody .mp-new-item-row-v333 .mp-line-total-label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin:0!important;
  min-width:0;
  align-self:stretch;
  justify-content:flex-end;
}
#modalBody .mp-new-item-row-v333 .mp-line-total-input{
  box-sizing:border-box!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #d8e0eb!important;
  border-radius:9px!important;
  background:#f7f9fc!important;
  color:#24324b!important;
  font:inherit!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:40px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums;
  outline:none!important;
}

/* V338 unified rounded input/search language across OPS */
:root{--ops-input-radius:12px;--ops-input-border:#d9e2ef;--ops-input-focus:#5b7cff}
#content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
#content select,#content textarea,
#modalBody input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
#modalBody select,#modalBody textarea{
  border-radius:var(--ops-input-radius)!important;border:1px solid var(--ops-input-border)!important;background:#fff;box-sizing:border-box;
}
#content input:focus,#content select:focus,#content textarea:focus,#modalBody input:focus,#modalBody select:focus,#modalBody textarea:focus{
  outline:none;border-color:var(--ops-input-focus)!important;box-shadow:0 0 0 3px rgba(75,111,255,.10)!important;
}
.filter-card,.order-filter-card,.data-inline-filter input{border-radius:14px}

/* V338 inspection query workspace */
.inspection-query-v338{display:grid!important;grid-template-columns:minmax(240px,1.25fr) minmax(240px,1.25fr) minmax(220px,.9fr) minmax(250px,1fr) auto;gap:14px;align-items:end;padding:18px!important;background:#fff;border:1px solid #e3e9f2;border-radius:16px!important}
.inspection-query-v338 label{display:flex;flex-direction:column;gap:7px;margin:0!important;color:#637086;font-weight:700}
.inspection-query-v338 input,.inspection-query-v338 select{height:48px!important;padding:0 14px!important;font-size:15px!important}
.inspection-query-v338 .inspection-query-actions{display:flex;gap:10px;align-items:center;padding-bottom:0}
.inspection-query-v338 .inspection-query-actions button{height:48px;white-space:nowrap;border-radius:12px!important;padding:0 20px}
.inspection-filter-hint{margin:8px 2px 14px;color:#718096}
@media(max-width:1200px){.inspection-query-v338{grid-template-columns:1fr 1fr}.inspection-query-v338 .inspection-query-actions{grid-column:1/-1;justify-content:flex-end}}

/* V338 measurement summary filters */
.measure-summary-tools-v338{display:grid!important;grid-template-columns:minmax(320px,1.6fr) minmax(220px,.9fr) minmax(180px,.7fr) auto auto;gap:12px;align-items:end}
.measure-summary-tools-v338>label:not(.checkbox-line){display:flex;flex-direction:column;gap:6px;color:#657287;font-weight:700}
.measure-summary-tools-v338 input,.measure-summary-tools-v338 select{height:42px!important;margin:0!important}
.measure-summary-tools-v338 .checkbox-line{height:42px;display:flex!important;align-items:center;white-space:nowrap;margin:0!important;padding:0 8px!important;border:0!important}
.measure-summary-tools-v338 #mSGo{height:42px;border-radius:12px!important}
@media(max-width:1000px){.measure-summary-tools-v338{grid-template-columns:1fr 1fr}.measure-summary-tools-v338 .checkbox-line,.measure-summary-tools-v338 #mSGo{align-self:end}}

/* V339 table-editor cells stay compact/square; rounded style is for normal forms/search only */
.table input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.table select,.table textarea,
.table-card table input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.table-card table select,.table-card table textarea,
.tech-data-table input,.tech-data-table select,.tech-data-table textarea,
.dev-bom-grid input,.dev-bom-grid select,.dev-bom-grid textarea{
  border-radius:3px!important;
  box-shadow:none!important;
}
.table input:focus,.table select:focus,.table textarea:focus,
.table-card table input:focus,.table-card table select:focus,.table-card table textarea:focus{
  box-shadow:inset 0 0 0 1px #5b7cff!important;
}
.status-badge.status-fail{background:#feeceb!important;color:#c62828!important;border:1px solid #f3b7b2!important;font-weight:800}
.acceptance-v339 .acceptance-check-table{margin:14px 0}.acceptance-v339 .acceptance-check-table select,.acceptance-v339 .acceptance-check-table input{height:38px!important}
.acceptance-disposition{margin:14px 0;padding:14px;border:1px solid #f1c0bd;background:#fff7f6;border-radius:12px}.acceptance-disposition.hidden{display:none}
.mp-acceptance-card{padding:10px 0;border-bottom:1px solid #edf1f6}.mp-acceptance-card:last-child{border-bottom:0}.mp-acceptance-card small{display:block;color:#718096;margin:4px 0 8px}

/* V342: multiple pattern-size records (A/B/C) per development style */
.ps-record-switch{display:flex;align-items:end;gap:14px;padding:8px 16px 10px;border-bottom:1px solid #e5eaf1;background:#f8faff}.ps-record-switch label{display:flex;flex-direction:column;gap:4px;min-width:260px;color:#61708a;font-size:12px}.ps-record-switch select{height:36px;border:1px solid #cfd8e6;border-radius:8px;background:#fff;padding:0 10px;color:#24324a}.ps-record-switch span{font-size:12px;color:#6b7b93;padding-bottom:9px}.ps-spec-table-wrap td input,.ps-spec-table-wrap td select{border-radius:2px!important}.ps-spec-table-wrap td{border-radius:0!important}

/* V343 personal mailbox */
.mail-toolbar,.mail-settings-card{background:#fff;border:1px solid #e3eaf4;border-radius:18px;padding:18px 20px;margin-bottom:14px}
.mail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.mail-toolbar>div:first-child{display:flex;flex-direction:column;gap:4px}.mail-toolbar small{color:#7f8da4}
.mail-list .table-card{border-radius:16px;overflow:hidden}.mail-table tr[data-mail-id]{cursor:pointer}.mail-table tr[data-mail-id]:hover td{background:#f6f9ff}.mail-unread td{font-weight:700;background:#fbfdff}
.mail-empty-config{background:#fff;border:1px dashed #ccd7e7;border-radius:18px;padding:36px;text-align:center}.mail-empty-config p{color:#6f7d92}
.mail-detail h2{margin:0 0 14px}.mail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.mail-meta>div{background:#f7f9fc;border:1px solid #e7edf5;border-radius:14px;padding:12px}.mail-meta span{display:block;color:#7d899c;font-size:12px;margin-bottom:4px}.mail-body{min-height:220px;border:1px solid #e1e8f2;border-radius:14px;padding:18px;background:#fff;line-height:1.65;white-space:pre-wrap}
.mail-compose{display:grid;gap:12px}.mail-compose label{display:grid;gap:6px}.mail-compose textarea{min-height:260px}
.mail-settings-card{max-width:1180px}.mail-config-grid{margin-top:14px}.mail-config-grid .check-line{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;background:#f8fafc;border:1px solid #e5ebf3;border-radius:14px}.mail-config-grid .check-line input{width:auto;height:auto}.mail-config-note{margin-top:14px;padding:12px 14px;border-radius:14px;background:#f4f7ff;color:#56647a}.mail-test-result{margin-top:12px;display:grid;gap:8px;padding:12px 14px;border-radius:14px;background:#f7f9fc}.loading-note{padding:28px;color:#748198;text-align:center}

/* V344 mailbox usability/performance */
.modal-card-mail{width:min(1180px,calc(100vw - 36px))!important;max-width:none!important;height:min(860px,calc(100vh - 30px));max-height:calc(100vh - 30px);display:flex;flex-direction:column}
.modal-card-mail .modal-head{flex:0 0 auto}.modal-card-mail #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 18px}
.mail-toolbar-actions{display:flex;align-items:center;gap:8px}.mail-list-skeleton{padding:46px;text-align:center;color:#7b8799;background:#fff;border:1px solid #e3eaf4;border-radius:16px}
.mail-list-card{background:#fff;border:1px solid #e1e8f2;border-radius:16px;overflow:hidden}.mail-list-head,.mail-row{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(360px,2fr) 180px 70px;align-items:center;gap:14px;padding:0 18px}.mail-list-head{height:48px;background:#f5f7fb;font-weight:700;color:#263247;border-bottom:1px solid #e5ebf3}.mail-list-body{max-height:calc(100vh - 330px);overflow:auto}.mail-row{width:100%;min-height:64px;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left;cursor:pointer;color:#263247}.mail-row:hover{background:#f7f9ff}.mail-row:last-child{border-bottom:0}.mail-row.mail-unread{background:#fbfdff;font-weight:700}.mail-party,.mail-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-date{color:#6d788a;font-size:13px}.mail-state{font-style:normal;font-size:12px;padding:5px 9px;border-radius:999px;background:#eef2f6;color:#5f6c7e}.mail-state.unread{background:#edf3ff;color:#315efb}
.mail-detail-wide{display:flex;flex-direction:column;min-height:100%}.mail-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e6ebf2}.mail-detail-title h2{margin:0;font-size:24px;line-height:1.35;word-break:break-word}.mail-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.mail-detail-wide .mail-meta{grid-template-columns:1fr 1fr;margin-bottom:12px}.mail-detail-wide .mail-meta>div{min-width:0}.mail-detail-wide .mail-meta b{display:block;word-break:break-word}.mail-detail-wide .mail-body{min-height:360px;max-height:none;padding:22px 24px;font-size:15px;line-height:1.75;white-space:pre-wrap;word-break:break-word;overflow:visible}.mail-attachments{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:12px}.mail-attachments span{padding:5px 9px;border-radius:8px;background:#fff;border:1px solid #dde5ef;font-size:13px}
.mail-compose-wide{min-height:100%;display:flex;flex-direction:column}.mail-compose-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.mail-compose-wide>label{flex:1;display:flex!important;flex-direction:column}.mail-compose-wide textarea{flex:1;min-height:420px;resize:vertical}.mail-compose-wide .modal-actions{position:sticky;bottom:0;padding-top:12px;background:#fff;border-top:1px solid #e6ebf2}
@media(max-width:900px){.modal-card-mail{width:calc(100vw - 14px)!important;height:calc(100vh - 14px)}.mail-list-head,.mail-row{grid-template-columns:minmax(160px,1fr) minmax(220px,1.5fr) 130px 58px;padding:0 10px;gap:8px}.mail-compose-grid,.mail-detail-wide .mail-meta{grid-template-columns:1fr}.mail-detail-title{flex-direction:column}.mail-detail-actions{justify-content:flex-start}}


/* V345 mail client polish, inline media and instant navigation */
.mail-settings-card{max-width:none!important;padding:28px 30px!important}.mail-settings-head{margin-bottom:22px}.mail-settings-head h3{margin:0 0 5px;font-size:20px}.mail-settings-head p{margin:0;color:#738096}
.mail-config-grid-v345{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}.mail-config-grid-v345 label{display:flex!important;flex-direction:column;gap:7px;margin:0!important;font-size:13px!important;color:#58657a!important}.mail-config-grid-v345 label span{font-weight:700}.mail-config-grid-v345 input{width:100%!important;min-height:46px!important;padding:10px 14px!important;border:1px solid #d8e1ee!important;border-radius:12px!important;background:#fff!important;font-size:14px!important;box-sizing:border-box!important}
.mail-switch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.mail-switch-grid label{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:13px 15px;border:1px solid #e0e7f0;border-radius:12px;background:#f8fafc;font-size:14px!important}.mail-switch-grid input{width:18px!important;height:18px!important;margin:0!important}.mail-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.mail-settings-actions>div:last-child{display:flex;gap:8px}.mail-testing{color:#65738a}.ok-text{color:#12814a;font-weight:700}.mail-settings-actions small{display:block;margin-top:4px;color:#8a6470}
.mail-sync-state{font-size:12px;color:#8793a5;min-width:64px;text-align:right}.mail-detail-loading,.mail-open-error{min-height:420px;display:grid;place-content:center;text-align:center;color:#6e7a8e;gap:12px}.mail-spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#4772ff;border-radius:50%;animation:mailSpin .8s linear infinite;margin:auto}@keyframes mailSpin{to{transform:rotate(360deg)}}
.mail-header-compact{border:1px solid #e3e9f2;border-radius:14px;background:#fff;margin-bottom:12px;padding:12px 14px}.mail-sender-line{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding-bottom:10px}.mail-sender-line small{display:block;color:#8994a5;margin-top:2px}.mail-sender-line time{color:#7d8899;font-size:13px;white-space:nowrap}.mail-avatar{width:38px;height:38px;border-radius:50%;background:#edf2ff;color:#3d68e8;display:grid;place-items:center;font-weight:800}.mail-address-details,.mail-address-row{border-top:1px solid #eef2f6;padding:8px 0 0;margin-top:5px}.mail-address-details summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.mail-address-details summary::-webkit-details-marker{display:none}.mail-address-details summary span,.mail-address-row>span{color:#8590a2;min-width:52px;font-size:12px}.mail-address-details summary b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 80px)}.mail-address-details>div{padding:8px 0 2px 62px;color:#58657a;line-height:1.5;word-break:break-all}.mail-more-count{color:#5973b8;font-weight:600;font-size:12px}.mail-address-row{display:flex;gap:10px}.mail-attachment-chip{display:flex!important;flex-direction:column;gap:2px;text-decoration:none!important;color:#243147!important;padding:8px 11px!important;border:1px solid #dce5f0!important;border-radius:10px!important;background:#fff!important;max-width:280px}.mail-attachment-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-attachment-chip small{color:#8490a2}.mail-html-frame{width:100%;min-height:420px;border:1px solid #e1e8f2;border-radius:14px;background:#fff}.mail-detail-wide .mail-body{border-radius:14px}.modal-card-mail{width:min(1380px,calc(100vw - 28px))!important;height:min(920px,calc(100vh - 20px))!important}.modal-card-mail #modalBody{padding:16px 22px!important}
@media(max-width:900px){.mail-config-grid-v345{grid-template-columns:1fr}.mail-switch-grid{grid-template-columns:1fr 1fr}.mail-settings-actions{align-items:stretch;flex-direction:column}.mail-sender-line{grid-template-columns:40px 1fr}.mail-sender-line time{grid-column:2}.mail-address-details summary b{max-width:calc(100vw - 170px)}}

/* V346 mail detail: one vertical scrollbar for the whole message */
.modal-card-mail #modalBody{overflow-y:auto!important;overflow-x:hidden!important;}
.mail-detail-wide{min-height:0!important;}
.mail-html-frame{display:block;width:100%!important;min-height:180px!important;height:auto;border:0!important;border-radius:0!important;background:#fff;overflow:hidden!important;}
.mail-detail-wide .mail-body{overflow:visible!important;max-height:none!important;min-height:0!important;border:0!important;border-radius:0!important;padding:18px 12px 28px!important;}
.mail-detail-wide .mail-attachments{flex:0 0 auto;}

/* V350 restrained login composition: clean split, no text-bearing background image */
#login.login{position:relative;height:100vh;min-height:620px;overflow:hidden;background:#f4f7f9;color:#fff}
#login .login-backdrop{position:absolute;inset:0;transform:none;filter:none;background:linear-gradient(112deg,#102846 0%,#173a5e 57.8%,#edf2f6 58%,#fafbfc 100%)}
#login .login-backdrop:before{content:"";position:absolute;left:-17%;bottom:-48%;width:77%;height:86%;border:1px solid rgba(108,205,229,.12);border-radius:50%;box-shadow:0 0 0 46px rgba(108,205,229,.035),0 0 0 92px rgba(108,205,229,.03),0 0 0 138px rgba(108,205,229,.025),0 0 0 184px rgba(108,205,229,.02);transform:rotate(-8deg)}
#login .login-backdrop:after{content:"A";position:absolute;left:45%;top:50%;transform:translate(-50%,-50%);background:none;font:800 min(33vw,500px)/1 Arial;color:rgba(255,255,255,.024);letter-spacing:-.12em}
#login .login-shell{grid-template-columns:minmax(0,58%) minmax(430px,42%)}
#login .login-hero{padding:52px clamp(50px,6.2vw,110px)}
#login .login-hero-copy{max-width:650px;margin:-3vh 0 0}
#login .login-hero-copy h1{font-size:clamp(42px,4vw,64px);line-height:1.16;margin:23px 0 20px;text-shadow:0 8px 28px rgba(0,0,0,.12)}
#login .login-hero-copy>p{max-width:520px;color:#cad9e4;font-size:15px;line-height:1.8}
#login .login-industry{display:flex;align-items:center;color:#8eb1c7;font-size:8px;letter-spacing:.14em;white-space:nowrap}
#login .login-industry span{width:28px;height:1px;background:#e62c46;margin-right:12px;flex:0 0 auto}
#login .login-panel{padding:50px;background:transparent;border:0;backdrop-filter:none}
#login .login-card{width:min(430px,100%);padding:38px 40px 31px;background:#fff;border:1px solid #e2e8ed;border-radius:20px;box-shadow:0 24px 65px rgba(27,48,73,.13)}
#login .login-copyright{bottom:22px;color:#98a5b2}
@media(max-width:1080px){#login .login-shell{grid-template-columns:minmax(0,1fr) 440px}#login .login-backdrop{background:linear-gradient(108deg,#102846 0%,#173a5e 53.8%,#edf2f6 54%,#fafbfc 100%)}#login .login-hero{padding:42px}#login .login-hero-copy h1{font-size:42px}#login .login-industry{font-size:7px;letter-spacing:.08em}}
@media(max-width:760px){#login.login{min-height:560px}#login .login-backdrop{inset:0;transform:none;background:linear-gradient(180deg,#102846 0,#173a5e 150px,#edf2f6 150px,#fafbfc 100%)}#login .login-backdrop:before,#login .login-backdrop:after{display:none}#login .login-shell{display:block;overflow:auto}#login .login-hero{position:absolute;inset:0 auto auto 0;width:100%;height:150px;padding:23px;display:block}#login .login-hero-copy,#login .login-industry{display:none}#login .login-panel{min-height:100%;padding:100px 18px 54px}#login .login-card{padding:29px 25px 25px;border-radius:17px}#login .login-copyright{bottom:18px}}

/* V351 remove auxiliary branding requested by review */
#login .login-hero{justify-content:center}
#login .login-hero-copy{margin:0}
#login .login-card-head{display:block;margin-bottom:29px}
#login .login-card-head h2{margin:0 0 5px;font-size:25px}
#login .login-card-head p{text-align:left!important;margin:0!important}
@media(max-width:760px){#login .login-backdrop{background:#f4f7f9}#login .login-hero{display:none}#login .login-panel{padding:32px 18px 54px}#login .login-card{margin:auto}#login .login-card-head h2{font-size:22px}}

/* V352 wider light zone: the login card stays fully clear of the diagonal */
@media(min-width:1081px){#login .login-backdrop{background:linear-gradient(112deg,#102846 0%,#173a5e 51.8%,#edf2f6 52%,#fafbfc 100%)}#login .login-shell{grid-template-columns:minmax(0,52%) minmax(500px,48%)}#login .login-panel{padding:56px 68px 56px 104px}}
@media(min-width:761px) and (max-width:1080px){#login .login-backdrop{background:linear-gradient(108deg,#102846 0%,#173a5e 47.8%,#edf2f6 48%,#fafbfc 100%)}#login .login-shell{grid-template-columns:minmax(0,48%) minmax(440px,52%)}#login .login-panel{padding:44px 36px 44px 70px}}

/* V353 personal query defaults */
.query-default-actions{display:inline-flex;align-items:center;gap:6px;padding-left:8px;border-left:1px solid #dde4ed}.query-default-actions button{height:32px;border:1px solid #d7e0eb;border-radius:8px;background:#fff;color:#405068;padding:0 10px;font-size:11px;font-weight:700;white-space:nowrap}.query-default-actions button:hover{border-color:#9fb4d2;color:#2658b8}.query-default-actions button:disabled{opacity:.55}.query-default-state{height:22px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#edf1f5;color:#768397;font-size:10px;white-space:nowrap}.query-default-state.active{background:#e7f6ef;color:#148054}.workspace-actions:has(.query-default-actions){align-items:center;flex-wrap:wrap}@media(max-width:900px){.query-default-actions{width:100%;padding:7px 0 0;border-left:0;border-top:1px solid #e2e7ee}.query-default-actions button{flex:1}.query-default-state{display:none}}
.inspection-candidate-table .line-input{width:92px;min-width:92px;height:34px;padding:0 10px;border:1px solid #d7e0eb;border-radius:9px;background:#fff;color:#17233a;box-sizing:border-box;outline:none}
.inspection-candidate-table .line-input:focus{border-color:#4b73ff;box-shadow:0 0 0 3px rgba(75,115,255,.12)}
.modal-card:has(.asn-history-table){width:min(1460px,96vw)!important;max-width:none!important;max-height:92vh!important}
.modal-card:has(.asn-history-table) .modal-body{overflow:auto;min-height:420px}
.asn-history-table table{min-width:1200px}

/* V360 query-default lifecycle, tidy action groups and flat technical-data cells */
.workspace-bar{gap:18px}
.workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.workspace-actions>.table-btn,.workspace-actions>.primary-btn{height:36px;display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap}
.query-default-actions{display:inline-flex;align-items:center;gap:6px;margin-left:4px;padding-left:10px;border-left:1px solid #dfe6ef;flex-wrap:nowrap}
.query-default-actions button{height:34px}
@media(max-width:1100px){.workspace-bar{align-items:flex-start}.workspace-actions{max-width:58%}.query-default-actions{flex-basis:100%;justify-content:flex-end;border-left:0;border-top:1px solid #e4e9f0;padding:7px 0 0;margin:0}}

#devTabBody .table-card:has(.dev-data-grid){border-radius:0!important}
#devTabBody .dev-data-grid th,#devTabBody .dev-data-grid td{border-radius:0!important}
#devTabBody .dev-data-grid td>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#devTabBody .dev-data-grid td>select,#devTabBody .dev-data-grid td>textarea,
#devTabBody .tech-data-table td>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#devTabBody .tech-data-table td>select,#devTabBody .tech-data-table td>textarea{
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
}
#devTabBody .dev-data-grid td:focus-within,#devTabBody .tech-data-table td:focus-within{background:#eef5ff!important;box-shadow:inset 0 0 0 2px #4b6fff!important}
/* APS production line planning V366 */
.aps-planner-page,.aps-config-card{color:#17233b}.aps-toolbar,.aps-config-toolbar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #e3e9f3;border-radius:16px;padding:14px 16px;margin-bottom:12px}.aps-toolbar label,.aps-config-toolbar label{display:grid;gap:6px;color:#70809b;font-size:12px;font-weight:700}.aps-toolbar label.grow{flex:1;min-width:220px}.aps-toolbar input,.aps-toolbar select,.aps-config-toolbar input,.aps-config-toolbar select,.aps-rule-form input{height:42px;border:1px solid #dbe3ef;border-radius:10px;padding:0 12px;background:#fbfcff;color:#17233b}.aps-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.aps-summary>div{background:#fff;border:1px solid #e3e9f3;border-radius:14px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.aps-summary span{color:#7b899f}.aps-summary b{font-size:22px}.aps-summary .attention b{color:#db5b54}.aps-workspace{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:12px;align-items:start}.aps-order-pool,.aps-line-area{background:#fff;border:1px solid #e3e9f3;border-radius:16px;min-width:0;overflow:hidden}.aps-section-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf1f7}.aps-section-head h3{margin:0;font-size:17px}.aps-section-head p{margin:3px 0 0;color:#8a97aa;font-size:12px}.aps-pool-body{max-height:calc(100vh - 350px);overflow:auto;padding:10px}.aps-pool-item{position:relative;border:1px solid #dfe7f2;border-radius:12px;padding:11px;margin-bottom:8px;background:#fff}.aps-pool-item.missing{border-color:#f1d39d;background:#fffdf7}.aps-pool-item>div:first-child{display:flex;justify-content:space-between;gap:8px}.aps-pool-item span{font-size:12px;color:#78869b}.aps-pool-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;padding-right:56px}.aps-pool-tags>span{background:#f2f5fa;border-radius:6px;padding:4px 6px}.aps-pool-item>button{position:absolute;right:10px;bottom:10px}.sam-ok{color:#25845a!important}.sam-missing{color:#c17a17!important}.aps-legend{font-size:12px;color:#7d899b}.aps-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 4px 0 9px}.aps-legend i.ok{background:#39a574}.aps-legend i.warn{background:#e6a23c}.aps-line-board{display:flex;gap:12px;overflow:auto;padding:12px;min-height:430px;max-height:calc(100vh - 350px)}.aps-line-column{flex:0 0 310px;background:#f5f7fb;border:1px solid #e0e6f0;border-radius:13px;overflow:hidden}.aps-line-column>header{display:flex;justify-content:space-between;padding:12px;background:#eef3fb;border-bottom:1px solid #dfe6f0}.aps-line-column header div{display:grid;gap:4px}.aps-line-column header b{font-size:15px}.aps-line-column header span,.aps-line-column header em{font-size:11px;color:#74839a;font-style:normal}.aps-line-column header em{background:#dfe8f7;border-radius:10px;height:22px;padding:3px 8px}.aps-line-drop{padding:8px;min-height:360px}.aps-line-empty{color:#9aa6b8;border:1px dashed #cbd5e3;border-radius:9px;padding:24px;text-align:center}.aps-plan-card{border:1px solid #dce4ef;border-left:4px solid #4675ed;border-radius:10px;background:#fff;padding:10px;margin-bottom:8px;cursor:grab;box-shadow:0 2px 7px rgba(30,50,80,.04)}.aps-plan-card.dragging{opacity:.35}.aps-plan-card.warn{border-left-color:#e6a23c}.aps-card-top{display:flex;align-items:center;gap:7px}.aps-card-top .seq{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e8efff;color:#3562d3;font-weight:800;font-size:12px}.aps-card-top b{flex:1}.aps-card-top button{border:0;background:transparent;cursor:pointer;color:#71819a}.aps-plan-card>strong{display:block;margin:8px 0;font-size:13px}.aps-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.aps-card-metrics span{display:grid;color:#8692a5;font-size:10px}.aps-card-metrics b{font-size:12px;color:#263650}.aps-card-dates{display:grid;gap:3px;margin-top:8px;border-top:1px solid #edf0f4;padding-top:7px;font-size:11px;color:#607087}.aps-card-warning{margin:7px 0 0;color:#b46c0b;font-size:11px;background:#fff5df;border-radius:6px;padding:5px}.aps-config-card{background:#fff;border:1px solid #e3e9f3;border-radius:16px;padding:16px}.aps-config-card .aps-config-toolbar{border:0;padding:0 0 14px;border-radius:0}.aps-config-toolbar .hint{color:#8592a6;font-size:12px}.aps-rule-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;max-width:980px}.aps-rule-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#53627a}.aps-rule-form label.check{display:flex;align-items:center;gap:8px;padding-top:24px}.aps-rule-form label.check input{height:auto}.aps-rule-form button{align-self:end}.aps-cal-week,.aps-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.aps-cal-week b{text-align:center;padding:8px;color:#7b8799;font-size:12px}.aps-cal-day{min-height:92px;border:1px solid #dfe6f0;border-radius:10px;background:#fff;padding:9px;display:grid;text-align:left;align-content:start;gap:5px;cursor:pointer}.aps-cal-day b{font-size:17px}.aps-cal-day span{font-size:12px;color:#4c67a3}.aps-cal-day em{font-style:normal;font-size:11px;color:#8b97a9}.aps-cal-day.holiday{background:#fff0f0;border-color:#f2c9c9}.aps-cal-day.holiday span{color:#c34d4d}.aps-cal-day.overtime{background:#edfaf4;border-color:#bde4d2}.aps-cal-day.weekend{background:#f4f5f7;color:#98a0ac}.danger-btn{background:#fff0f0;border:1px solid #f0c4c4;color:#c64848;border-radius:9px;padding:9px 14px;font-weight:700;cursor:pointer}
@media(max-width:1100px){.aps-workspace{grid-template-columns:1fr}.aps-pool-body{max-height:300px}.aps-line-board{max-height:none}.aps-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.aps-toolbar,.aps-config-toolbar{flex-wrap:wrap}.aps-toolbar label,.aps-toolbar label.grow{min-width:100%;width:100%}.aps-summary{grid-template-columns:1fr}.aps-rule-form{grid-template-columns:1fr}.aps-cal-day{min-height:65px;padding:5px}.aps-cal-day em{display:none}}
/* APS V367 compact table workspace */
.aps-v367-page{min-width:0}.aps-v367-filters{margin-bottom:12px}.aps-v367-filters select{width:100%;height:42px;border:1px solid #dbe3ef;border-radius:10px;padding:0 10px;background:#fff}.aps-fixed-types{align-self:end;color:#5570a8;background:#edf4ff;border-radius:9px;padding:12px;font-size:12px}.aps-budget-card,.aps-v367-pane{background:#fff;border:1px solid #e1e8f2;border-radius:14px;overflow:hidden}.aps-budget-card{margin-bottom:12px}.aps-budget-scroll{overflow-x:auto}.aps-budget-scroll table{min-width:850px}.aps-budget-scroll th small,.aps-budget-scroll td small,.aps-v367-table td small,.aps-v367-plan td small{display:block;color:#8793a6;font-size:10px;margin-top:3px}.aps-v367-work{display:grid;grid-template-columns:minmax(620px,.9fr) minmax(920px,1.5fr);gap:12px;align-items:start;overflow-x:auto}.aps-v367-table,.aps-v367-plan{max-height:calc(100vh - 410px);overflow:auto}.aps-v367-table table{min-width:1050px}.aps-v367-plan{padding:0 10px 10px}.aps-line-table-section{margin-top:10px;border:1px solid #e1e8f2;border-radius:11px;overflow:hidden}.aps-line-table-section>header{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;background:#eaf1fc;padding:9px 12px;color:#244371}.aps-line-table-section table{min-width:1450px}.aps-line-table-section thead th{position:sticky;top:39px;z-index:3}.aps-line-table-section tr[draggable=true]{cursor:grab}.aps-line-table-section tr.dragging{opacity:.35}.aps-line-table-section tr.has-warning{background:#fffaf0}.aps-style-link{border:0;background:transparent;padding:0;color:#285dc4;font-weight:800;text-decoration:underline;text-decoration-style:dotted;cursor:pointer}.aps-status{display:inline-flex;white-space:nowrap;border-radius:12px;padding:3px 7px;font-size:10px;font-weight:800}.aps-status.to-be{background:#eef1f6;color:#58677e}.aps-status.published{background:#e7f2ff;color:#2760ba}.warn-text{color:#c36e12!important}.primary-btn.mini,.table-btn.mini{padding:5px 8px;font-size:11px;min-height:28px}.aps-style-preview{text-align:center}.aps-style-preview img{display:block;max-width:min(760px,80vw);max-height:70vh;object-fit:contain;margin:auto;border-radius:10px}.aps-style-preview p{color:#75839a}.drag-handle{white-space:nowrap;color:#5573ac;font-weight:700}.aps-v367-plan select{height:30px;border:1px solid #d7e0ec;border-radius:7px}.aps-config-card>.info-card{margin-bottom:12px}.aps-budget-scroll td small{white-space:nowrap}.aps-v367-table thead th,.aps-v367-plan thead th{background:#f3f6fa}.aps-v367-table thead th{position:sticky;top:0;z-index:2}
@media(max-width:1500px){.aps-v367-work{grid-template-columns:1fr}.aps-v367-table,.aps-v367-plan{max-height:520px}}
.aps-line-filter{display:grid;grid-template-columns:1.05fr .8fr repeat(4,minmax(120px,.72fr)) minmax(125px,.7fr) minmax(125px,.7fr) auto;gap:8px;align-items:end;margin-bottom:10px}.aps-line-filter label{display:grid;gap:4px;color:#66758e;font-size:11px}.aps-line-filter input,.aps-line-filter select{width:100%;height:38px;border:1px solid #dbe3ef;border-radius:8px;padding:0 9px;background:#fff}.aps-unified-plan-wrap{max-height:calc(100vh - 300px);overflow:auto;border-radius:0}.aps-unified-plan-table{min-width:5700px;font-size:11px;line-height:1.15}.aps-unified-plan-table th{position:sticky;top:0;z-index:5;padding:7px 8px!important;white-space:nowrap;background:#eaf0f8!important}.aps-unified-plan-table td{padding:5px 8px!important;white-space:nowrap;vertical-align:middle}.aps-unified-plan-table .aps-group-row td{position:sticky;left:0;background:#dfe9f7!important;color:#203d6a;border-top:2px solid #aac0df;padding:7px 10px!important}.aps-group-row b{font-size:12px}.aps-group-row span{margin-left:18px;color:#60728d}.aps-unified-plan-table .aps-note-cell{min-width:180px}.aps-unified-plan-table .aps-note-cell textarea{min-width:170px;min-height:31px;height:31px;padding:5px 7px}.aps-unified-plan-table .aps-note-cell small{display:none}.aps-grid-actions{position:sticky;right:0;background:#fff!important;min-width:255px;z-index:2}.aps-grid-actions>*{margin-right:4px}.aps-grid-actions select{width:62px;height:28px}.aps-pool-actions{display:flex;gap:5px;white-space:nowrap}
@media(max-width:1400px){.aps-line-filter{grid-template-columns:repeat(4,minmax(150px,1fr))}.aps-line-filter .mop-main-actions{grid-column:span 4;justify-content:flex-end}}
.aps-pool-factory-bar{display:flex;align-items:end;gap:18px;padding:12px 16px;margin-bottom:10px}.aps-pool-factory-bar label{display:grid;gap:4px;min-width:310px;color:#66758e;font-size:11px}.aps-pool-factory-bar select{height:38px;border:1px solid #dbe3ef;border-radius:8px;padding:0 10px;background:#fff}.aps-owned-factory{display:grid;gap:3px}.aps-owned-factory span{font-size:11px;color:#75849a}.aps-owned-factory b{font-size:14px;color:#1d2d47}.aps-pool-rule{margin-left:auto;color:#65748b;font-size:11px;background:#f2f6fb;border-radius:8px;padding:9px 12px}.aps-pool-table-head{padding:10px 14px}.aps-table-filter{display:flex;align-items:center;gap:8px;color:#69788e;font-size:11px}.aps-table-filter input{width:360px;height:34px;border:1px solid #d8e1ed;border-radius:8px;padding:0 10px;background:#fff}.aps-pool-compact{max-height:calc(100vh - 285px)}.aps-pool-table-wrap{overflow:auto;max-height:calc(100vh - 285px);border-radius:0}.aps-pool-table{min-width:1250px;font-size:11px;table-layout:fixed}.aps-pool-table th,.aps-pool-table td{padding:6px 8px!important;white-space:nowrap;vertical-align:middle}.aps-pool-table thead th{position:sticky;top:0;z-index:4;background:#edf2f8}.aps-pool-table tfoot td{position:sticky;bottom:0;z-index:3;background:#fff4bd!important;border-top:2px solid #dfc43d}.aps-pool-table th:nth-child(1){width:72px}.aps-pool-table th:nth-child(2){width:82px}.aps-pool-table th:nth-child(3){width:72px}.aps-pool-table th:nth-child(4){width:120px}.aps-pool-table th:nth-child(5){width:105px}.aps-pool-table th:nth-child(6){width:78px}.aps-pool-table th:nth-child(7),.aps-pool-table th:nth-child(9),.aps-pool-table th:nth-child(10){width:80px}.aps-pool-table th:nth-child(8){width:98px}.aps-pool-table th:nth-child(11){width:65px}.aps-pool-table th:nth-child(12){width:112px}.aps-pool-table th:nth-child(13){width:190px}.aps-fob-cell{white-space:nowrap!important}.aps-pool-table .aps-style-link{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aps-pool-table .aps-pool-actions{gap:4px}.aps-pool-table .aps-pool-actions button{padding:4px 7px;font-size:10px}.aps-pool-table .aps-status{font-size:9px;padding:3px 6px}
@media(max-width:900px){.aps-pool-factory-bar{align-items:stretch;flex-direction:column}.aps-pool-rule{margin-left:0}.aps-table-filter{width:100%}.aps-table-filter input{min-width:0;width:100%}}

/* APS V377 cell ledger and spreadsheet navigation */
.aps377-group-filter{display:grid;gap:4px;font-size:11px;color:#66758e;min-width:115px}.aps377-group-filter select{height:34px;border:1px solid #d8e1ed;background:#fff;padding:0 6px;border-radius:6px;max-width:180px}
.aps375-plan-table .aps377-frozen{position:sticky!important;background:#f8faff!important;z-index:7;border-right:1px solid #e0e6ef}
.aps375-plan-table thead .aps377-frozen{z-index:13;background:#eaf0f8!important}.aps375-plan-table thead th:last-child{z-index:15}.aps375-plan-table tfoot .aps377-frozen{z-index:13;background:#fff3b8!important}
.aps375-plan-table thead th.aps378-frozen-head{position:sticky!important;top:0!important;background:#eaf0f8!important;z-index:18!important;box-shadow:1px 0 #d8e1ed,0 1px #cbd8e8}
.aps375-plan-table td.aps377-important{background:#eef1ff!important;font-weight:600}.aps375-plan-table td.aps377-positive{background:#e8f6eb!important}.aps375-plan-table td.aps377-negative{background:#fdebed!important}
.aps375-plan-table tr.aps377-selected>td{box-shadow:inset 0 2px #b3cff2,inset 0 -2px #b3cff2;background:#edf5ff!important}.aps375-plan-table tr.aps377-selected>td.aps377-positive{background:#d9eedf!important}.aps375-plan-table tr.aps377-selected>td.aps377-negative{background:#f8dfe4!important}
.aps375-plan-table td:focus{outline:2px solid #739dde;outline-offset:-2px}.aps375-plan-table .aps377-note{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;color:#3d5674;font-size:11px;padding:3px;text-align:left;cursor:pointer}
.aps377-note-history{max-height:45vh;overflow:auto;margin-bottom:12px}.aps377-note-history article{border-bottom:1px solid #dfe6ef;padding:8px}.aps377-note-history time{margin-left:12px;color:#748297;font-size:12px}.aps377-note-history p{white-space:pre-wrap;margin:6px 0;overflow-wrap:anywhere}#aps377NewNote{width:100%;border:1px solid #d8e1ed;padding:8px}
/* APS V373: viewport-fitted workspaces with one table scroller. */
/* V375: a single viewport-sized data workspace and compact pinned actions. */
body.aps-line-plan-lock #content{overflow:hidden;display:flex;flex-direction:column}
.aps375-plan-page,.aps375-plan-page .aps-line-plan-card{display:flex;flex-direction:column;flex:1;min-height:0}
.aps375-plan-page #apsLineBoard{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;overflow:hidden}
.aps375-plan-page .aps-unified-plan-wrap{flex:1;min-height:0;max-height:none;height:100%;overflow:auto;border:0}
.aps375-plan-head{gap:10px;display:flex;flex-wrap:wrap;padding:10px 12px;flex:0 0 auto}
.aps375-plan-head>.aps-pool-factory{width:250px}.aps375-plan-head>.aps-table-filter{flex:1;min-width:240px}.aps375-plan-head .aps-table-filter input{width:100%;min-width:0}
.aps375-head-actions{display:flex;gap:5px}
body.aps-order-assignment-lock .aps-assignment-v373 .aps-pool-table-head{grid-template-columns:auto minmax(190px,280px) minmax(200px,1fr) auto;gap:10px}
.aps375-plan-table{table-layout:fixed!important;border-collapse:separate!important;border-spacing:0;font-size:11px;min-width:0}
.aps375-plan-table th,.aps375-plan-table td{overflow:hidden;text-overflow:ellipsis;padding:5px 6px!important;height:32px}
.aps375-plan-table th:last-child,.aps375-plan-table td.aps-grid-actions{right:0!important;min-width:0!important;width:160px!important;padding:3px 2px!important;text-align:right;white-space:nowrap;box-shadow:-3px 0 4px #00000012}
.aps375-plan-table .aps-grid-actions select{width:47px;height:26px;padding:0 2px;font-size:10px}
.aps375-plan-table .aps-grid-actions button{padding:3px 5px;font-size:10px;min-height:26px;margin:0 2px 0 0}
.aps375-plan-table .aps-grid-actions .drag-handle{font-size:10px;margin-right:3px}
.aps375-plan-table .aps-note-cell{min-width:0!important;width:100%}.aps375-plan-table .aps-note-cell textarea{min-width:0!important;width:100%;height:27px;min-height:27px;padding:3px 5px;border-radius:3px;resize:none}
.aps375-plan-table .aps-group-row td{position:static}.aps375-group-label{position:sticky;left:6px;width:max-content;max-width:80vw}
.aps375-plan-table .aps375-subtotal td{background:#edf3fc!important;border-top:1px solid #bccde3;font-weight:700}
.aps375-plan-table tfoot td{position:sticky;bottom:0;z-index:8;background:#fff3b8!important;border-top:2px solid #d4bb35}
.aps375-plan-table tfoot td.aps-grid-actions{z-index:10;background:#fff3b8!important}
.aps375-pool{table-layout:fixed;min-width:1360px!important;border-collapse:separate;border-spacing:0}
.aps375-pool th,.aps375-pool td{width:auto!important}.aps375-pool .aps375-check{padding:4px!important;text-align:center}
.aps375-batch-wrap{max-height:48vh;overflow:auto}.aps375-batch-wrap th{position:sticky;top:0}.aps375-batch-wrap input{width:95px;height:30px;padding:4px;border:1px solid #dbe3ef;border-radius:4px}
.aps375-columns{max-height:60vh;overflow:auto}.aps375-column-row{display:flex;align-items:center;gap:10px;padding:5px;border-bottom:1px solid #e1e8f2}.aps375-column-row span{flex:1}.aps375-column-row label{font-size:12px}.aps375-column-row input[type=number]{width:70px}.aps375-column-row button{padding:4px 10px;border:1px solid #dbe3ef;background:#fff;border-radius:4px}
@media(max-width:1000px){body.aps-order-assignment-lock .aps-assignment-v373 .aps-pool-table-head{grid-template-columns:1fr 1fr}.aps375-plan-head>.aps-pool-factory{width:200px}}
body.aps-order-assignment-lock #content{height:calc(100vh - var(--topbar-height,72px));overflow:hidden;display:flex;flex-direction:column}
.aps-assignment-v373,.aps-assignment-v373 .aps-pool-pane{min-height:0;flex:1;display:flex;flex-direction:column}
.aps-assignment-v373 .aps-pool-pane{overflow:hidden}
.aps-assignment-v373 .aps-pool-table-head{display:grid;grid-template-columns:auto minmax(230px,330px) minmax(280px,380px);gap:18px;align-items:end;flex:0 0 auto}
.aps-pool-factory{display:grid;gap:4px;color:#66758e;font-size:11px}.aps-pool-factory select{width:100%;height:34px;border:1px solid #d8e1ed;border-radius:8px;padding:0 9px;background:#fff}
.aps-assignment-v373 .aps-pool-rule{margin:0;border-radius:0;padding:7px 14px;flex:0 0 auto;text-align:right}
.aps-assignment-v373 .aps-pool-compact{max-height:none;min-height:0;flex:1;overflow:hidden}
.aps-assignment-v373 .aps-pool-table-wrap{height:100%;max-height:none;overflow:auto;border-radius:0}
.aps-assignment-v373 .aps-pool-table thead th{top:0;z-index:8;box-shadow:0 1px 0 #dbe3ee}
.aps-assignment-v373 .aps-pool-table tfoot td{bottom:0;z-index:7;box-shadow:0 -1px 0 #d2b72f}

/* V379 MES print / embroidery management */
.pe-toolbar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.pe-toolbar label{display:grid;gap:5px;color:#68768c;font-size:12px;min-width:180px}.pe-toolbar label.grow{flex:1}.pe-toolbar select,.pe-toolbar input{height:38px;border:1px solid #d8e1ed;border-radius:9px;background:#fff;padding:0 11px;color:#22314a}.pe-card{background:#fff;border:1px solid #dfe6ef;border-radius:14px;overflow:hidden;min-height:240px}.pe-table-wrap{max-height:calc(100vh - 285px);overflow:auto}.pe-table-wrap thead th{position:sticky;top:0;z-index:3}.pe-tag{display:inline-block;margin:1px 3px 1px 0;padding:2px 7px;border-radius:999px;background:#e8f4ff;color:#176ca7;font-size:11px;white-space:nowrap}
.pe-master{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:14px}.pe-master>div{padding:10px 12px;border:1px solid #dfe7f1;border-radius:9px;background:#f7f9fc}.pe-master span{display:block;color:#7a8799;font-size:11px;margin-bottom:4px}.pe-master b{color:#152743}.pe-tabs,.pe-config-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto}.pe-tabs{border-bottom:1px solid #dfe6ef;margin:0 -20px 12px;padding:0 20px}.pe-tabs button,.pe-config-tabs button{border:0;background:#eef2f7;color:#4b5a70;border-radius:8px;padding:8px 12px;white-space:nowrap;cursor:pointer}.pe-tabs button{border-radius:8px 8px 0 0}.pe-tabs button.active,.pe-config-tabs button.active{background:#4771f5;color:#fff}.pe-tab-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0}.pe-tab-head p{margin:0;color:#718096}.pe-type-picks{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:7px;padding:9px;border:1px solid #dce5f0;border-radius:9px;background:#f8fafc}.pe-type-picks label{display:flex;align-items:center;gap:6px}.pe-cost-total{display:flex;justify-content:flex-end;gap:30px;padding:14px 18px;border-radius:9px;background:#eef5ff;color:#31527c}.pe-cost-total b{font-size:20px;color:#1d55c5}.file-list{display:grid;gap:7px}.file-row{display:flex;justify-content:space-between;gap:20px;padding:10px 12px;border:1px solid #e1e7ef;border-radius:8px}.file-row a{color:#285cc7;font-weight:700}.pe-quote-grid input{text-align:right}
@media(max-width:1000px){.pe-toolbar{flex-wrap:wrap}.pe-toolbar label.grow{flex-basis:50%}.pe-master{grid-template-columns:1fr 1fr}.pe-type-picks{grid-template-columns:1fr 1fr}}

/* V379.1: print/embroidery dialogs use a real working canvas. */
#modal:has(.pe-type-picks) .modal-card{width:min(1120px,calc(100vw - 36px))!important;max-width:none!important;max-height:calc(100vh - 30px)!important}
#modal:has(.pe-master) .modal-card{width:min(1540px,calc(100vw - 30px))!important;max-width:none!important;height:min(900px,calc(100vh - 24px));max-height:calc(100vh - 24px)!important}
#modal:has(.pe-type-picks) #modalBody,#modal:has(.pe-master) #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 20px!important}
#modal:has(.pe-type-picks) .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}
#modal:has(.pe-type-picks) .form-grid input,#modal:has(.pe-type-picks) .form-grid select,#modal:has(.pe-type-picks) .form-grid textarea{width:100%;box-sizing:border-box}
#modal:has(.pe-type-picks) .modal-actions{position:sticky;bottom:-16px;z-index:8;margin:14px -20px -16px;padding:12px 20px;background:#fff;border-top:1px solid #e2e8f1}
#modal:has(.pe-master) .pe-master{position:sticky;top:-16px;z-index:10;margin:-16px -20px 12px;padding:14px 20px 12px;background:#fff;border-bottom:1px solid #e4e9f1}
#modal:has(.pe-master) .pe-tabs{position:sticky;top:87px;z-index:9;margin:0 -20px 12px;padding:8px 20px 0;background:#fff;overflow:visible;flex-wrap:wrap}
#modal:has(.pe-master) #peTabBody{min-width:0;overflow:hidden}
#modal:has(.pe-master) #peTabBody>.table-card{width:100%;max-height:calc(100vh - 300px);overflow:auto;border:1px solid #e0e7f0;border-radius:10px}
#modal:has(.pe-master) #peTabBody table{width:100%;min-width:900px;table-layout:auto}
#modal:has(.pe-master) #peTabBody thead th{position:sticky;top:0;z-index:3;background:#f2f5fa;white-space:nowrap}
#modal:has(.pe-master) #peTabBody td{vertical-align:middle;overflow-wrap:anywhere}
#modal:has(.pe-master) .pe-tab-head{margin:4px 0 12px;padding:8px 12px;border-radius:9px;background:#f6f9fd}
@media(max-width:800px){#modal:has(.pe-type-picks) .modal-card,#modal:has(.pe-master) .modal-card{width:calc(100vw - 12px)!important;height:calc(100vh - 12px)}#modal:has(.pe-type-picks) .form-grid{grid-template-columns:1fr}.pe-type-picks{grid-template-columns:1fr 1fr}#modal:has(.pe-master) .pe-master{grid-template-columns:1fr 1fr;position:static}#modal:has(.pe-master) .pe-tabs{position:static}}
@media(max-width:1000px){.aps-assignment-v373 .aps-pool-table-head{grid-template-columns:1fr 1fr}.aps-assignment-v373 .aps-pool-title{grid-column:1/-1}.aps-assignment-v373 .aps-table-filter input{width:100%}}

.aps-line-plan-card{min-height:0}.aps-line-plan-card>.aps-section-head{position:relative;z-index:12;background:#fff}
.aps-unified-plan-wrap{position:relative}.aps-unified-plan-table th:last-child{position:sticky;right:0;z-index:10;background:#dfe8f5!important;box-shadow:-4px 0 7px rgba(31,53,83,.12)}
.aps-unified-plan-table td.aps-grid-actions{position:sticky!important;right:0;z-index:6;background:#fff!important;box-shadow:-4px 0 7px rgba(31,53,83,.12)}
.aps-unified-plan-table .aps-group-subtotal td{position:sticky;bottom:0;z-index:5;background:#fff3b8!important;border-top:2px solid #d4bb35;font-weight:700}
.aps-unified-plan-table .aps-group-subtotal .aps-grid-actions{z-index:8;background:#fff3b8!important}
#apsLinePlanCard:fullscreen,#apsLinePlanCard.is-fullscreen{height:100vh;width:100vw;max-width:none;border-radius:0;background:#fff;display:flex;flex-direction:column;padding:0}
#apsLinePlanCard:fullscreen #apsLineBoard,#apsLinePlanCard.is-fullscreen #apsLineBoard{min-height:0;flex:1;display:flex;flex-direction:column;padding:0}
#apsLinePlanCard:fullscreen .aps-unified-plan-wrap,#apsLinePlanCard.is-fullscreen .aps-unified-plan-wrap{max-height:none;height:100%;flex:1}
.aps-assignment-page .aps-v367-pane{overflow:hidden}.aps-v368-pool{max-height:calc(100vh - 330px);overflow:auto}.aps-v368-pool table{min-width:1180px}.aps-v368-pool thead th{position:sticky;top:0;z-index:3}.aps-plan-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.aps-plan-toolbar>label{min-width:300px}.aps-v368-plan{padding:0 10px 12px;max-height:none}.aps-v368-plan .aps-line-table-section table{min-width:1740px}.aps-note-cell{min-width:250px}.aps-note-cell textarea{display:block;width:100%;min-width:230px;min-height:48px;resize:vertical;border:1px solid #d7e0ec;border-radius:8px;padding:7px 9px;background:#fff;color:#26364f;font:inherit;line-height:1.35}.aps-note-cell textarea:focus{outline:2px solid #aac7ff;border-color:#4b75ff}.aps-note-cell small{display:block;margin-top:3px;color:#8793a6}.aps-plan-status-table td:last-child{white-space:nowrap}


/* V380 print & embroidery demand workspace */
.modal-card.modal-card-pe-demand{width:min(1500px,calc(100vw - 32px))!important;max-width:none!important;height:min(920px,calc(100vh - 28px));max-height:calc(100vh - 28px);display:flex;flex-direction:column}
.modal-card-pe-demand .modal-body{padding:0 22px 18px;overflow:auto;min-height:0}
.pe-demand-form{display:grid;gap:14px;padding:16px 0}
.pe-form-section{border:1px solid #dfe6f1;border-radius:12px;background:#fff;padding:15px 17px}
.pe-form-section h3{font-size:16px;margin:0 0 13px;color:#1d2d49}
.pe-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pe-section-title h3{margin:0}
.pe-demand-form .form-grid.cols4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.pe-demand-form label{display:flex;flex-direction:column;gap:7px;color:#53627a;font-weight:600}
.pe-demand-form input,.pe-demand-form select,.pe-demand-form textarea,.pe-config-form input,.pe-config-form select,.pe-config-form textarea{width:100%;border:1px solid #d6dfec;border-radius:9px;background:#fff;padding:9px 11px;color:#1d2d49;min-height:40px}
.pe-artwork-layout{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:stretch}
.pe-image-upload{cursor:pointer}.pe-image-upload>span{margin-bottom:2px}.pe-image-upload #peImagePreview{height:190px;border:1px dashed #9fb2d1;border-radius:11px;background:#f6f9fd;color:#7e8da5;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:8px}
.pe-image-upload img{max-width:100%;max-height:150px;object-fit:contain;border-radius:7px}.pe-image-upload small{margin-top:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-demand-form .pe-type-picks{margin:0 0 12px;display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px 12px;border:1px solid #e2e8f1;border-radius:10px;padding:12px}
.pe-demand-form .pe-type-picks label{display:flex;flex-direction:row;align-items:center;gap:6px;font-weight:500}.pe-demand-form .pe-type-picks input{width:auto;min-height:auto}
.pe-demand-form .table input{min-height:34px;padding:6px 8px}.pe-demand-form .table th:last-child,.pe-demand-form .table td:last-child{width:72px}
.pe-files-drop{padding:13px;border:1px dashed #9fb2d1;border-radius:10px;background:#f7f9fd;cursor:pointer}.pe-files-drop input{border:0;padding:5px 0;background:transparent}
.pe-selected-files{margin-top:8px;color:#75839a;font-size:13px;white-space:normal}
.modal-card-pe-demand .modal-actions{position:sticky;bottom:-18px;z-index:4;background:#fff;border-top:1px solid #e5eaf2;padding:12px 0 2px;margin-top:0}
.pe-config-toolbar{align-items:flex-end}.pe-config-toolbar>label{min-width:260px}.pe-config-toolbar .pe-config-tabs{flex:1;display:flex;gap:6px;flex-wrap:wrap}
.pe-config-form{padding:4px}.pe-config-form-title{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #e4e9f1}.pe-config-form-title span{font-size:20px;font-weight:800}.pe-config-form-title small{color:#8793a6}
@media(max-width:1100px){.pe-demand-form .form-grid.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.pe-demand-form .pe-type-picks{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:700px){.modal-card.modal-card-pe-demand{width:calc(100vw - 12px)!important;height:calc(100vh - 12px)}.pe-demand-form .form-grid.cols4,.pe-artwork-layout{grid-template-columns:1fr}.pe-demand-form .pe-type-picks{grid-template-columns:repeat(2,minmax(90px,1fr))}.pe-image-upload #peImagePreview{height:160px}}

.pe-list-image{width:54px;height:42px;border-radius:7px;background:#f2f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#9aa6b8}.pe-list-image img{width:100%;height:100%;object-fit:cover}
.pe-detail-head{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:12px}.pe-detail-head .pe-master{margin:0}.pe-detail-image{width:160px;height:112px;object-fit:contain;border:1px solid #dfe6f1;border-radius:10px;background:#f7f9fc}.pe-detail-image.empty{display:flex;align-items:center;justify-content:center;color:#95a1b3;font-size:13px}
@media(max-width:700px){.pe-detail-head{grid-template-columns:1fr}.pe-detail-image{width:100%;height:150px}}


/* V383 print formula/process full working dialogs */
.modal-card.modal-card-pe-workflow{width:min(1480px,calc(100vw - 30px))!important;max-width:none!important;height:min(880px,calc(100vh - 28px));max-height:calc(100vh - 28px)!important;display:flex;flex-direction:column}
.modal-card-pe-workflow .modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 22px!important}
.modal-card-pe-workflow .pe-config-form{display:grid;gap:16px}
.modal-card-pe-workflow .pe-editor-section,.modal-card-pe-workflow .pe-formula-editor{border:1px solid #dfe6f1;border-radius:12px;background:#fff;padding:16px 18px}
.modal-card-pe-workflow .pe-editor-section h3,.modal-card-pe-workflow .pe-formula-editor h3{margin:0 0 12px;font-size:17px;color:#20304a}
.modal-card-pe-workflow .form-grid.cols3{grid-template-columns:repeat(3,minmax(180px,1fr));gap:13px 18px}
.modal-card-pe-workflow .form-grid.cols4{grid-template-columns:repeat(4,minmax(160px,1fr));gap:13px 18px}
.modal-card-pe-workflow .form-grid .span4{grid-column:1/-1}
.modal-card-pe-workflow label{display:flex;flex-direction:column;gap:7px;color:#53627a;font-weight:600}
.modal-card-pe-workflow input,.modal-card-pe-workflow select,.modal-card-pe-workflow textarea{width:100%;min-width:0;min-height:42px;border:1px solid #d5dfed;border-radius:9px;background:#fff;padding:8px 10px}
.modal-card-pe-workflow .pe-type-picks{grid-template-columns:repeat(6,minmax(110px,1fr));padding:12px 14px;background:#f7f9fd}
.modal-card-pe-workflow .pe-type-picks label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:9px 11px;border:1px solid #dce5f1;border-radius:8px;background:#fff}
.modal-card-pe-workflow .pe-type-picks input{width:auto;min-height:auto}
.modal-card-pe-workflow .table-card{width:100%;overflow:auto;border-radius:10px}
.modal-card-pe-workflow .table{min-width:100%;table-layout:fixed}.modal-card-pe-workflow .table th,.modal-card-pe-workflow .table td{white-space:normal;vertical-align:middle}
.modal-card-pe-workflow .pe-formula-editor .table th:nth-child(1){width:38%}.modal-card-pe-workflow .pe-formula-editor .table th:nth-child(2){width:15%}.modal-card-pe-workflow .pe-formula-editor .table th:nth-child(3),.modal-card-pe-workflow .pe-formula-editor .table th:nth-child(4){width:17%}.modal-card-pe-workflow .pe-formula-editor .table th:last-child{width:80px}
.modal-card-pe-workflow .modal-actions{position:sticky;bottom:-18px;z-index:8;margin:16px -22px -18px;padding:12px 22px;background:#fff;border-top:1px solid #e2e8f1}
@media(max-width:1000px){.modal-card-pe-workflow .form-grid.cols4{grid-template-columns:repeat(2,minmax(160px,1fr))}.modal-card-pe-workflow .pe-type-picks{grid-template-columns:repeat(3,minmax(100px,1fr))}}
@media(max-width:650px){.modal-card.modal-card-pe-workflow{width:calc(100vw - 10px)!important;height:calc(100vh - 10px)}.modal-card-pe-workflow .form-grid.cols3,.modal-card-pe-workflow .form-grid.cols4{grid-template-columns:1fr}.modal-card-pe-workflow .pe-type-picks{grid-template-columns:repeat(2,minmax(90px,1fr))}}


/* V384 force print child editors to responsive full workspace */
#modal:has(.pe-formula-editor) .modal-card,#modal:has(.pe-process-editor) .modal-card{width:min(1500px,calc(100vw - 28px))!important;max-width:none!important;height:min(900px,calc(100vh - 24px))!important;max-height:calc(100vh - 24px)!important;display:flex!important;flex-direction:column}
#modal:has(.pe-formula-editor) #modalBody,#modal:has(.pe-process-editor) #modalBody{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 22px!important}
#modal:has(.pe-formula-editor) .pe-formula-editor{min-width:0;width:100%}
#modal:has(.pe-formula-editor) .pe-formula-editor>.form-grid{grid-template-columns:repeat(3,minmax(180px,1fr))!important}
#modal:has(.pe-formula-editor) .pe-formula-editor .table-card{width:100%;max-width:none;overflow:auto}
#modal:has(.pe-formula-editor) .pe-formula-editor table{width:100%;min-width:900px}
#modal:has(.pe-formula-editor) .pe-formula-editor select,#modal:has(.pe-formula-editor) .pe-formula-editor input{width:100%;min-width:0}
#modal:has(.pe-process-editor) .pe-process-editor{width:100%;min-width:0}
.pe-detail-actions{display:flex;justify-content:flex-end;margin-bottom:10px}
@media(max-width:760px){#modal:has(.pe-formula-editor) .pe-formula-editor>.form-grid{grid-template-columns:1fr!important}}

/* V385 print project editor and packing batch combinations */
#modal:has(.pe-project-editor) .modal-card{width:min(1480px,94vw);max-height:92vh}
#modal:has(.pe-project-editor) .modal-body{padding:20px 24px}
.pe-project-editor{display:grid;gap:16px}
.pe-editor-section{border:1px solid #dfe7f3;border-radius:14px;background:#fff;padding:16px}
.pe-editor-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;color:#1b2940}
.pe-editor-heading b{font-size:17px}.pe-editor-heading span{font-size:13px;color:#7a879a}
.pe-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}
.pe-editor-grid label,.pe-editor-notes label{display:grid;gap:7px;color:#5e6c80;font-size:14px}
.pe-editor-grid input,.pe-editor-grid select,.pe-editor-notes textarea{width:100%;min-width:0}
.pe-editor-wide{grid-column:span 2}
.pe-editor-types{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}
.pe-editor-types label{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;border:1px solid #dfe7f3;border-radius:10px;background:#f8faff;cursor:pointer}
.pe-editor-types input[type="checkbox"]{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;box-shadow:none!important}
.pe-editor-types label:has(input:checked){border-color:#4c74ff;background:#edf2ff;color:#2854db;font-weight:700}
.pe-editor-notes{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.pe-editor-actions{position:sticky;bottom:0;background:#fff;padding:14px 0 0;border-top:1px solid #e7edf6}
#packBatchCard table th,#packBatchCard table td{white-space:nowrap}
#packBatchCard table tfoot{position:sticky;bottom:0;background:#fff5bd;z-index:2}
@media(max-width:1100px){.pe-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pe-editor-types{grid-template-columns:repeat(3,minmax(110px,1fr))}}
@media(max-width:700px){.pe-editor-grid,.pe-editor-notes{grid-template-columns:1fr}.pe-editor-wide{grid-column:auto}.pe-editor-types{grid-template-columns:repeat(2,minmax(100px,1fr))}}

/* V387 shipping plan workspace */
.ship-filter-card{display:grid;grid-template-columns:repeat(8,minmax(125px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}
.ship-filter-card label,.ship-edit-grid label{display:grid;gap:6px;color:#65738a;font-size:13px;min-width:0}
.ship-filter-card input,.ship-filter-card select,.ship-edit-grid input,.ship-edit-grid select,.ship-edit-grid textarea{width:100%;min-width:0}
.ship-filter-actions{display:flex;gap:8px;white-space:nowrap}
.ship-workspace{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ship-table-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.ship-table-head h3{margin:0 0 3px}.ship-table-head p{margin:0;color:#8090a8}
.ship-table-head label{display:flex;align-items:center;gap:8px;color:#718096}.ship-table-head input{width:min(430px,35vw)}
.ship-table-scroll{height:calc(100vh - 330px);min-height:420px;overflow:auto}
.ship-table{min-width:2600px;border-collapse:separate;border-spacing:0}
.ship-table thead{position:sticky;top:0;z-index:5}.ship-table thead th{background:#f3f6fb;white-space:nowrap}
.ship-table tfoot{position:sticky;bottom:0;z-index:5}.ship-table tfoot td{background:#fff3b0;border-top:2px solid #e0bd18;white-space:nowrap}
.ship-table td{white-space:nowrap}.ship-table .ship-po{background:#eef4ff}.ship-table .ship-fob{background:#fff8dc;font-weight:700}
.ship-action-col{position:sticky!important;right:0;z-index:4;background:#fff!important;box-shadow:-7px 0 10px rgba(24,43,77,.06)}
.ship-table thead .ship-action-col{z-index:7;background:#f3f6fb!important}
.ship-badge{display:inline-flex;align-items:center;justify-content:center;min-width:66px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#eef1f6;color:#536176}
.test-pass,.inspect-pass{background:#e5f6ec;color:#197a45}.test-fail,.inspect-fail{background:#ffe8e6;color:#bd3029}.test-pending,.inspect-pending{background:#fff4cf;color:#976700}
.status-pending-booking{background:#eef1f6;color:#526174}.status-booked{background:#e8efff;color:#2d59c8}.status-left-factory{background:#e9f5ff;color:#1973a5}.status-departed{background:#e5f6ec;color:#197a45}
.ship-modal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.ship-modal-summary>div{padding:12px 14px;border:1px solid #dfe7f3;border-radius:12px;background:#f7f9fd}.ship-modal-summary span{display:block;color:#7d8ba0;font-size:12px;margin-bottom:4px}
.ship-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.ship-edit-grid .span2{grid-column:span 2}
@media(max-width:1500px){.ship-filter-card{grid-template-columns:repeat(4,minmax(145px,1fr))}.ship-filter-actions{grid-column:span 4;justify-content:flex-end}}
@media(max-width:800px){.ship-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.ship-filter-actions{grid-column:span 2}.ship-modal-summary,.ship-edit-grid{grid-template-columns:1fr}.ship-edit-grid .span2{grid-column:auto}.ship-table-scroll{height:calc(100vh - 390px)}}

/* V388 MES shipping plan compact layout */
.ship-filter-card{grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:12px 16px!important;padding:14px 16px!important}
.ship-filter-actions{grid-column:4;justify-content:flex-end;align-self:end}
.ship-table-scroll{height:calc(100vh - 318px);min-height:440px}
.ship-table{table-layout:fixed;min-width:1980px!important}
.ship-table col.c-factory{width:65px}.ship-table col.c-customer{width:75px}.ship-table col.c-season{width:72px}.ship-table col.c-mps{width:92px}.ship-table col.c-po{width:112px}.ship-table col.c-work{width:115px}.ship-table col.c-style{width:145px}.ship-table col.c-date{width:96px}.ship-table col.c-qty{width:82px}.ship-table col.c-result{width:98px}.ship-table col.c-shipping{width:180px}.ship-table col.c-status{width:105px}.ship-table col.c-action{width:76px}
.ship-table th,.ship-table td{padding:8px 9px!important;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.ship-table tbody tr:hover td{background:#f4f7ff}.ship-table tbody tr:hover .ship-action-col{background:#f4f7ff!important}
.ship-cell-sub{display:block;margin-top:3px;color:#7e8ba0;font-size:11px;overflow:hidden;text-overflow:ellipsis}
.ship-table th:nth-child(1),.ship-table td:nth-child(1){position:sticky;left:0;z-index:3;background:#fff}
.ship-table th:nth-child(2),.ship-table td:nth-child(2){position:sticky;left:65px;z-index:3;background:#fff}
.ship-table th:nth-child(3),.ship-table td:nth-child(3){position:sticky;left:140px;z-index:3;background:#fff}
.ship-table th:nth-child(4),.ship-table td:nth-child(4){position:sticky;left:212px;z-index:3;background:#fff}
.ship-table th:nth-child(5),.ship-table td:nth-child(5){position:sticky;left:304px;z-index:3;background:#eef4ff;box-shadow:5px 0 8px rgba(31,51,86,.05)}
.ship-table thead th:nth-child(-n+5){z-index:7;background:#f3f6fb}.ship-table tfoot td:first-child{z-index:7;background:#fff3b0}
@media(max-width:1100px){.ship-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ship-filter-actions{grid-column:2}.ship-table-scroll{height:calc(100vh - 390px)}}

/* V389 shipping grid performance and navigation */
.ship-table-tools{display:flex;align-items:end;gap:14px}.ship-table-tools label{display:flex;align-items:center;gap:8px;color:#718096;white-space:nowrap}.ship-table-tools select{width:82px}
.ship-table-scroll{height:calc(100vh - 370px);min-height:390px;overflow:auto;scroll-behavior:auto;overscroll-behavior:contain;outline:none;contain:layout paint}
.ship-table{min-width:2070px!important}.ship-table col.c-style{width:125px}.ship-table col.c-color{width:85px}
.ship-table th:nth-child(-n+5),.ship-table td:nth-child(-n+5),.ship-table .ship-action-col{position:static!important;left:auto!important;right:auto!important;box-shadow:none!important}
.ship-table thead th{position:sticky!important;top:0;left:auto!important;right:auto!important;z-index:6!important;background:#f3f6fb!important}
.ship-table tfoot td{position:sticky!important;bottom:0;left:auto!important;right:auto!important;z-index:6!important;background:#fff3b0!important}
.ship-table tbody tr.selected td{background:#eaf1ff!important}.ship-table tbody tr{cursor:default}
.ship-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-top:1px solid var(--line);background:#fff;color:#6f7e94}.ship-pager>div{display:flex;gap:8px}
@media(max-width:800px){.ship-table-tools{width:100%;justify-content:space-between}.ship-table-head{align-items:flex-start;flex-wrap:wrap}.ship-table-head input{width:55vw}.ship-table-scroll{height:calc(100vh - 430px)}}

/* V390 shipping / ASN grid alignment and user-resizable columns */
.ship-filter-card{display:grid!important;grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:16px 20px!important;align-items:end!important}
.ship-filter-card>label{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important;font-size:14px!important;color:var(--muted)!important}
.ship-filter-card>label input,.ship-filter-card>label select{width:100%!important;height:44px!important;min-height:44px!important;padding:0 14px!important;border:1px solid #d9e1ef!important;border-radius:12px!important;background:#fff!important;font-size:15px!important;line-height:42px!important}
.ship-filter-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;gap:10px!important}
.ship-filter-actions button{height:44px!important;min-width:76px!important}
.ship-table{table-layout:fixed!important;width:max-content!important;min-width:100%!important}
.ship-table thead th{position:sticky!important;top:0!important;z-index:4!important;white-space:nowrap!important;overflow:visible!important}
.ship-table col{width:100px}
.ship-inline-select{height:32px;min-width:94px;border:1px solid #d9e1ef;border-radius:8px;background:#fff;padding:0 7px}
.ship-badge.asn-已生成{background:#e8f7ee;color:#16723c}
.ship-badge.asn-未生成{background:#fff3d2;color:#916400}
@media(max-width:1100px){.ship-filter-card{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}
@media(max-width:680px){.ship-filter-card{grid-template-columns:1fr!important}}

/* V391 compact shipping-plan / ASN workspace, aligned with Order List */
.ship-filter-card{
  grid-template-columns:repeat(10,minmax(90px,1fr))!important;
  gap:8px 10px!important;
  padding:12px 16px!important;
  margin-bottom:12px!important;
  border-radius:14px!important;
}
.ship-filter-card>label{gap:4px!important;font-size:12px!important;line-height:16px!important}
.ship-filter-card>label input,.ship-filter-card>label select,
.ship-filter-card .search-select-input{
  height:36px!important;min-height:36px!important;line-height:34px!important;
  padding:0 10px!important;border-radius:9px!important;font-size:14px!important;
}
.ship-filter-card .search-select{width:100%!important;min-width:0!important}
.ship-filter-actions{grid-column:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;align-self:end!important}
.ship-filter-actions button{height:36px!important;min-width:54px!important;padding:0 11px!important;border-radius:9px!important;font-size:13px!important}
.ship-workspace{border-radius:14px!important;overflow:hidden!important}
.ship-table-head{min-height:58px!important;padding:9px 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.ship-table-head h3{font-size:18px!important;line-height:24px!important;margin:0!important}
.ship-table-head p{font-size:12px!important;line-height:18px!important;margin:0!important}
.ship-table-tools{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex:1!important;min-width:0!important}
.ship-table-tools label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;font-size:13px!important}
.ship-table-tools label:first-child{flex:1!important;max-width:620px!important}
.ship-table-tools input{height:34px!important;min-height:34px!important;width:100%!important;min-width:240px!important;padding:0 11px!important;border-radius:9px!important}
.ship-table-tools select{height:34px!important;min-height:34px!important;padding:0 8px!important;border-radius:9px!important}
.ship-table-scroll{height:calc(100vh - 285px)!important;min-height:420px!important;max-height:none!important;overscroll-behavior:contain!important}
.ship-table thead th{height:36px!important;padding:6px 10px!important;font-size:12px!important;line-height:18px!important}
.ship-table tbody td{height:38px!important;min-height:38px!important;padding:5px 10px!important;font-size:13px!important;line-height:18px!important;white-space:nowrap!important}
.ship-table tbody tr{height:38px!important}
.ship-table tfoot td{height:36px!important;padding:6px 10px!important;font-size:12px!important;line-height:18px!important}
.ship-table .ship-cell-sub{margin-top:1px!important;font-size:10px!important;line-height:12px!important}
.ship-table .primary-btn.mini,.ship-table .secondary-btn.mini{height:28px!important;min-height:28px!important;padding:0 9px!important;font-size:12px!important;border-radius:7px!important}
.ship-table .ship-badge{min-height:24px!important;padding:3px 8px!important;font-size:11px!important;line-height:16px!important}
.ship-inline-select{height:28px!important;min-height:28px!important;font-size:12px!important}
.ship-pager{height:42px!important;min-height:42px!important;padding:5px 14px!important;font-size:12px!important}
.workspace-bar:has(+ .ship-filter-card){min-height:62px!important;margin-bottom:8px!important}
.workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:26px!important;line-height:32px!important}
.workspace-bar:has(+ .ship-filter-card) .workspace-title p{font-size:13px!important;margin-top:1px!important}
.workspace-bar:has(+ .ship-filter-card) .workspace-actions{gap:8px!important}
.workspace-bar:has(+ .ship-filter-card) .workspace-actions button{height:36px!important;padding:0 12px!important}
@media(max-width:1550px){
 .ship-filter-card{grid-template-columns:repeat(5,minmax(140px,1fr))!important}
 .ship-filter-actions{grid-column:auto!important}
 .ship-table-scroll{height:calc(100vh - 335px)!important}
}
@media(max-width:900px){
 .ship-filter-card{grid-template-columns:repeat(2,minmax(160px,1fr))!important}
 .ship-table-head{align-items:flex-start!important;flex-direction:column!important}
 .ship-table-tools{width:100%!important}
 .ship-table-scroll{height:calc(100vh - 420px)!important}
}

/* V392 global page-heading standard: one visual rhythm across every module */
.workspace-bar{min-height:50px!important;margin-bottom:12px!important;align-items:center!important}
.workspace-title h1,
.workspace-bar h1,
.page-header h1,
.page-title h1{
  margin:0 0 3px!important;
  font-size:22px!important;
  line-height:28px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  color:var(--text)!important;
}
.workspace-title p,
.workspace-bar .workspace-title p,
.page-header>p,
.page-title>p{
  margin:0!important;
  font-size:13px!important;
  line-height:18px!important;
  color:var(--muted)!important;
}
.workspace-actions{align-items:center!important}
body.ui-font-small .workspace-title h1,
body.ui-font-small .workspace-bar h1,
body.ui-font-small .page-header h1,
body.ui-font-small .page-title h1{font-size:19px!important;line-height:25px!important}
body.ui-font-large .workspace-title h1,
body.ui-font-large .workspace-bar h1,
body.ui-font-large .page-header h1,
body.ui-font-large .page-title h1{font-size:24px!important;line-height:30px!important}
/* Cancel the previous shipping-only heading override; shipping/ASN now follow the global title standard. */
.workspace-bar:has(+ .ship-filter-card){min-height:50px!important;margin-bottom:12px!important}
.workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:22px!important;line-height:28px!important}
body.ui-font-small .workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:19px!important;line-height:25px!important}
body.ui-font-large .workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:24px!important;line-height:30px!important}

/* V392 common spreadsheet-style data area */
#content .system-grid-scroll{position:relative;overflow:auto;outline:none;overscroll-behavior:contain}
#content table.system-grid-table{border-collapse:separate;border-spacing:0;background:#fff}
#content table.system-grid-table thead th{position:sticky;top:0;z-index:4;background:#f4f7fb;white-space:nowrap}
#content table.system-grid-table tbody td{height:38px;padding-top:5px;padding-bottom:5px;vertical-align:middle}
#content table.system-grid-table tbody tr.system-grid-row-active>td{background:#eef5ff!important}
#content table.system-grid-table .system-grid-cell-active{position:relative;box-shadow:inset 0 0 0 2px #4b78f6!important;background:#e7f0ff!important;z-index:2}
#content table.system-grid-table tfoot td{position:sticky;bottom:0;z-index:3}

/* V393 global compact typography, query areas and table-filter standard */
.workspace-title h1,.workspace-bar h1,.page-header h1,.page-title h1{
  font-size:20px!important;line-height:25px!important;margin-bottom:2px!important
}
.workspace-title p,.workspace-bar .workspace-title p,.page-header>p,.page-title>p{
  font-size:12px!important;line-height:16px!important
}
body.ui-font-small .workspace-title h1,body.ui-font-small .workspace-bar h1,
body.ui-font-small .page-header h1,body.ui-font-small .page-title h1{
  font-size:18px!important;line-height:23px!important
}
body.ui-font-large .workspace-title h1,body.ui-font-large .workspace-bar h1,
body.ui-font-large .page-header h1,body.ui-font-large .page-title h1{
  font-size:22px!important;line-height:27px!important
}
.workspace-bar{min-height:44px!important;margin-bottom:8px!important}
#content .table-card h2,#content .data-card h2,#content .section-title h2,
#content .table-card h3,#content .data-card h3,#content .ship-table-head h3,
#content [class*="table-head"] h3,#content [class*="data-head"] h3{
  font-size:16px!important;line-height:21px!important;margin-top:0!important;margin-bottom:1px!important
}
#content [class*="table-head"] p,#content [class*="data-head"] p,
#content .ship-table-head p{font-size:11px!important;line-height:15px!important}

/* Query panels: one compact row; overflow conditions are placed under More. */
#content .unified-query-panel{
  display:flex!important;flex-flow:row nowrap!important;align-items:flex-end!important;
  gap:8px!important;padding:9px 12px!important;min-height:0!important;margin-bottom:8px!important;
  overflow:visible!important
}
#content .unified-query-panel>.unified-query-overflow{display:none!important}
#content .unified-query-panel[data-query-expanded="1"]{
  flex-wrap:wrap!important
}
#content .unified-query-panel>label,
#content .unified-query-panel>div:not(.unified-query-actions):not(.unified-query-more){
  min-width:135px!important;flex:1 1 155px!important;margin:0!important;gap:3px!important
}
#content .unified-query-panel label{font-size:11px!important;line-height:15px!important}
#content .unified-query-panel input:not([type="checkbox"]):not([type="radio"]),
#content .unified-query-panel select,
#content .unified-query-panel .search-select-input{
  height:34px!important;min-height:34px!important;line-height:32px!important;
  padding:0 9px!important;border-radius:8px!important;font-size:13px!important
}
#content .unified-query-panel .unified-query-actions{
  display:flex!important;flex:0 0 auto!important;align-items:center!important;
  justify-content:flex-end!important;gap:6px!important;margin:0!important
}
#content .unified-query-panel button{
  height:34px!important;min-height:34px!important;padding:0 11px!important;
  border-radius:8px!important;font-size:12px!important;white-space:nowrap!important
}
#content .unified-query-more{order:-1}
#content .unified-query-more[hidden]{display:none!important}

/* System-wide table-filter and page-size controls. */
#content .unified-table-filter-wrap{
  display:flex!important;align-items:center!important;gap:6px!important;
  min-width:260px!important;margin:0!important;font-size:12px!important;white-space:nowrap!important
}
#content input.unified-table-filter{
  width:100%!important;min-width:220px!important;max-width:560px!important;
  height:32px!important;min-height:32px!important;line-height:30px!important;
  padding:0 10px!important;border:1px solid #d9e1ef!important;border-radius:8px!important;
  background:#fff!important;font-size:12px!important
}
#content [class*="table-tools"] select,#content [class*="data-tools"] select,
#content select[id*="PageSize"],#content select[id*="pageSize"]{
  height:32px!important;min-height:32px!important;border-radius:8px!important;
  padding:0 7px!important;font-size:12px!important
}
/* Shipping and ASN follow the same global heading scale. */
.workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:20px!important;line-height:25px!important}
body.ui-font-small .workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:18px!important;line-height:23px!important}
body.ui-font-large .workspace-bar:has(+ .ship-filter-card) .workspace-title h1{font-size:22px!important;line-height:27px!important}
@media(max-width:900px){
 #content .unified-query-panel{flex-wrap:wrap!important}
 #content .unified-query-panel>label,#content .unified-query-panel>div:not(.unified-query-actions):not(.unified-query-more){min-width:150px!important}
}

/* V394 one table typography/row-height standard, based on Order List density */
#content table.system-grid-table thead th{
  height:34px!important;min-height:34px!important;
  padding:6px 9px!important;font-size:12px!important;line-height:20px!important;
  font-weight:700!important;vertical-align:middle!important
}
#content table.system-grid-table tbody tr{height:34px!important;min-height:34px!important}
#content table.system-grid-table tbody td{
  height:34px!important;min-height:34px!important;
  padding:5px 9px!important;font-size:12px!important;line-height:20px!important;
  vertical-align:middle!important
}
#content table.system-grid-table tfoot tr,
#content table.system-grid-table tfoot td{
  height:32px!important;min-height:32px!important;
  padding:4px 9px!important;font-size:12px!important;line-height:20px!important
}
#content table.system-grid-table button,
#content table.system-grid-table .primary-btn,
#content table.system-grid-table .secondary-btn,
#content table.system-grid-table .table-btn{
  min-height:26px!important;height:26px!important;padding:0 8px!important;
  font-size:11px!important;line-height:24px!important;border-radius:6px!important
}
#content table.system-grid-table input:not([type="checkbox"]):not([type="radio"]),
#content table.system-grid-table select{
  min-height:28px!important;height:28px!important;font-size:12px!important;padding-top:0!important;padding-bottom:0!important
}
#content table.system-grid-table .ship-badge,
#content table.system-grid-table .status-badge{
  min-height:22px!important;padding:2px 7px!important;font-size:10px!important;line-height:16px!important
}
#content table.system-grid-table thead th{position:sticky}
.system-grid-col-grip{
  position:absolute;right:-4px;top:0;width:9px;height:100%;cursor:col-resize;
  z-index:12;touch-action:none
}
.system-grid-col-grip:after{
  content:"";position:absolute;right:4px;top:22%;height:56%;border-right:1px solid transparent
}
.system-grid-col-grip:hover:after,.system-grid-col-grip:active:after{border-color:#3c6ff7}

/* V398 corrected query collapse layout for direct and nested filter structures */
#content .unified-query-panel:not(.unified-query-field-host){
  display:block!important;padding:9px 12px!important;overflow:visible!important
}
#content .unified-query-field-host{
  display:flex!important;flex-flow:row nowrap!important;align-items:flex-end!important;
  gap:8px!important;width:100%!important;min-width:0!important
}
#content .unified-query-field-host.unified-query-fields-expanded{
  flex-wrap:wrap!important
}
#content .unified-query-field{
  flex:1 1 150px!important;min-width:130px!important;max-width:none!important;
  margin:0!important
}
#content .unified-query-field.unified-query-overflow{display:none!important}
#content .unified-query-actions{
  display:flex!important;flex:0 0 auto!important;align-items:flex-end!important;
  justify-content:flex-end!important;gap:6px!important;margin:0!important;min-width:max-content!important
}
#content .unified-query-panel:not(.unified-query-field-host)>.unified-query-actions{
  margin-top:7px!important
}
#content .unified-query-more{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:34px!important;min-height:34px!important;min-width:54px!important;
  padding:0 11px!important;order:0!important
}
#content .unified-query-more[hidden]{display:none!important}


/* v399 global grid header/action stability */
#content table.system-grid-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
}
#content table.system-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 91 !important;
  overflow: visible !important;
}
#content table.system-grid-table thead th.system-grid-cell-active {
  background: #dce8ff !important;
  box-shadow: inset 0 0 0 2px #4b74ff !important;
}
#content table.system-grid-table tbody td {
  position: relative;
  z-index: 1;
}
#content table.system-grid-table tfoot td {
  z-index: 80 !important;
}
#content table.system-grid-table td.system-grid-actions-cell {
  white-space: nowrap !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}
#content table.system-grid-table td.system-grid-actions-cell > div,
#content table.system-grid-table td.system-grid-actions-cell > span {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
#content table.system-grid-table td.system-grid-actions-cell > button,
#content table.system-grid-table td.system-grid-actions-cell > a,
#content table.system-grid-table .system-grid-action-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 4px 0 0 !important;
  vertical-align: middle !important;
}
#content table.system-grid-table td.system-grid-actions-cell > :last-child,
#content table.system-grid-table td.system-grid-actions-cell > div > :last-child,
#content table.system-grid-table td.system-grid-actions-cell > span > :last-child {
  margin-right: 0 !important;
}
#content table.system-grid-table td.system-grid-actions-cell button,
#content table.system-grid-table td.system-grid-actions-cell .btn,
#content table.system-grid-table td.system-grid-actions-cell a.btn {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 8px !important;
}


/* v404 query dropdown stacking and More visibility */
#content .order-filter-card,
#content .order-filter-card.unified-query-panel {
  position: relative !important;
  z-index: 140 !important;
  overflow: visible !important;
}
#content .order-main-filter,
#content .order-main-filter .order-multi {
  overflow: visible !important;
}
#content .order-main-filter .order-multi {
  position: relative !important;
}
#content .order-main-filter .order-multi-menu {
  z-index: 420 !important;
}
#content .unified-query-more[hidden] {
  display: none !important;
}


/* v405 aligned order query row and expandable global overflow */
#content .order-main-filter.unified-query-field-host {
  align-items: flex-end !important;
  align-content: flex-start !important;
  column-gap: 8px !important;
  row-gap: 8px !important;
}
#content .order-main-filter.unified-query-fields-expanded {
  flex-wrap: wrap !important;
  height: auto !important;
  min-height: 0 !important;
}
#content .order-filter-card.unified-query-expanded,
#content .order-filter-card:has(.order-main-filter.unified-query-fields-expanded) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
#content .order-main-filter > label.unified-query-field,
#content .order-main-filter > .order-query-field.unified-query-field {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-self: flex-end !important;
  gap: 4px !important;
  min-height: 54px !important;
  padding: 0 !important;
}
#content .order-main-filter > label.unified-query-field > span,
#content .order-main-filter > .order-query-field.unified-query-field > span {
  display: block !important;
  height: 16px !important;
  min-height: 16px !important;
  line-height: 16px !important;
  margin: 0 !important;
  color: #718096 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
#content .order-main-filter .order-multi,
#content .order-main-filter .order-multi-btn,
#content .order-main-filter input,
#content .order-main-filter select {
  height: 36px !important;
  min-height: 36px !important;
}
#content .order-main-filter .order-multi-btn {
  width: 100% !important;
}
#content .order-main-filter > button,
#content .order-main-filter .unified-query-more {
  align-self: flex-end !important;
  height: 36px !important;
  min-height: 36px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* V408 order list: keep native query actions visible and stable. */
.order-query-actions{display:flex!important;align-items:center;gap:8px;visibility:visible!important}
.order-query-actions #olQuery,.order-query-actions #olReset{display:inline-flex!important;visibility:visible!important}
.order-main-filter.one-line{grid-template-columns:minmax(250px,1fr) 92px 98px 94px 112px auto auto auto auto}

/* V410 query actions, paged APS pool and reliable two-axis frozen headers */
.order-query-actions{display:grid!important;grid-template-columns:68px 68px;gap:6px;align-self:end}
.order-query-actions #olQuery,.order-query-actions #olReset{width:68px;height:36px!important;min-height:36px;justify-content:center;padding:0 10px!important;border-radius:9px!important;font-size:13px!important}
.order-query-actions #olReset{background:#eef2f7!important;border:1px solid #dce3ec!important;color:#26364d!important}
.order-main-filter.one-line{grid-template-columns:minmax(250px,1fr) 92px 98px 94px 112px auto auto auto minmax(142px,auto)}
.aps-pool-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid #e1e7ef;background:#fff;color:#66758b;font-size:12px}
.aps-pool-pager select{height:32px;border:1px solid #d8e1ed;border-radius:7px;background:#fff;padding:0 7px}.aps-pool-pager button{height:32px}
.aps375-plan-table thead th.aps377-frozen.aps378-frozen-head{position:sticky!important;top:0!important;z-index:28!important;background:#eaf0f8!important;box-shadow:1px 0 #d8e1ed,0 1px #cbd8e8}

/* V411 workspace containment: custom wide tables scroll inside their data region and never widen the page. */
@media (min-width:901px){main,#content{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}}
#content>*{min-width:0;max-width:100%;box-sizing:border-box}
#content .table-card,#content .data-card,#content [class*="-table-card"],#content [class*="-list-card"]{min-width:0;max-width:100%;box-sizing:border-box}
#content .system-grid-scroll{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:auto!important}
#content .workspace-bar,#content .workspace-actions{min-width:0;max-width:100%}
#content .workspace-actions{flex-wrap:wrap;justify-content:flex-end}
#content .unified-query-panel{max-width:100%;box-sizing:border-box}
#content .unified-query-field-host{min-width:0;max-width:100%}

/* V412 verified live-layout corrections for APS department plans and false grid overflow. */
.aps-budget-filter{display:grid!important;grid-template-columns:minmax(240px,1.45fr) minmax(150px,.75fr) minmax(155px,.72fr) minmax(155px,.72fr) max-content;gap:8px!important;align-items:end!important;padding:10px 12px!important}
.aps-budget-filter>label,.aps-plan-toolbar>label{display:grid!important;grid-template-rows:auto 36px;gap:4px!important;min-width:0!important;color:#66758e;font-size:11px;line-height:16px}
.aps-budget-filter>label>select,.aps-budget-filter>label>input,.aps-plan-toolbar>label>select,.aps-plan-toolbar>label>input{width:100%!important;height:36px!important;min-width:0!important;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:8px;padding:0 9px;background:#fff}
.aps-budget-filter>#apsBudgetQuery{height:36px!important;align-self:end}
.aps-plan-toolbar{display:grid!important;grid-template-columns:minmax(260px,460px) 1fr;align-items:end!important;gap:10px!important;padding:10px 12px!important}
.aps-plan-toolbar>label{grid-column:1}
#content table.system-grid-table thead th:last-child>.system-grid-col-grip{right:0!important;width:5px!important}
@media(max-width:1100px){.aps-budget-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.aps-budget-filter>#apsBudgetQuery{width:max-content}.aps-plan-toolbar{grid-template-columns:1fr}}

/* V413 enterprise document identity fields */
.enterprise-address-cell{max-width:360px;white-space:normal!important;line-height:1.45;color:#526176}
#modalBody #eAddress{width:100%;min-height:78px;resize:vertical;box-sizing:border-box;border:1px solid #d7dfeb;border-radius:8px;padding:9px;font:inherit}

/* Organization maintenance: compact filters and readable table actions. */
.org-chart-toolbar.org-manage-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;padding:10px 12px}
.org-manage-filters label{display:flex;align-items:center;gap:6px;flex:1 1 150px;min-width:0;white-space:nowrap}
.org-manage-filters select,.org-manage-filters input{box-sizing:border-box;min-width:0;width:100%;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px}
.org-manage-filters button{height:32px;padding:0 12px;white-space:nowrap}
.org-manage-card{min-height:0;overflow:hidden}
.org-manage-card .table-wrap{overflow:auto;max-height:calc(100vh - 320px)}
.org-manage-card .table{width:100%;min-width:900px;font-size:12px}
.org-manage-card .table thead th{position:sticky;top:0;z-index:2;background:#edf2f8;padding:9px 10px}
.org-manage-card .table td{padding:7px 10px;vertical-align:middle}
.org-manage-card .table td:last-child{min-width:280px}
.org-manage-card .table button{padding:4px 7px;font-size:11px;margin:2px;height:28px;white-space:nowrap}
.org-manage-card>.org-chart-toolbar{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:6px 12px;align-items:center}
.org-chart-editor-toolbar{flex-wrap:wrap;align-items:center;gap:8px}
.org-chart-editor-toolbar>div{flex-wrap:wrap}
@media(max-width:700px){.org-chart-toolbar.org-manage-filters{flex-direction:row}.org-manage-filters label{flex:1 1 180px}.org-manage-card .table-wrap{max-height:60vh}}

/* Keep inspection actions legible even under global compact grid styles. */
#miBody [data-mi-open]{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:82px!important;width:auto!important;height:32px!important;min-height:32px!important;padding:0 10px!important;line-height:1.2!important;font-size:12px!important;white-space:nowrap!important;overflow:visible!important;color:#fff!important;background:#4669ee!important}
#miBody .table th:last-child,#miBody .table td:last-child{min-width:104px!important;width:104px!important;overflow:visible!important}
#content .dev-table{table-layout:fixed;width:100%;min-width:0}
#content .table-card:has(>.dev-table){min-width:0;max-width:100%;width:100%;box-sizing:border-box;overflow:auto}
#content .dev-table th,#content .dev-table td{overflow:hidden}
#content .dev-table td{padding:7px 10px!important;vertical-align:middle}
#content .dev-table .dev-cell-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}
#content .dev-table .dev-data-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px;max-width:100%}
#content .dev-table .dev-data-count{display:inline-block;flex:none;margin:0;padding:4px 6px;font-size:11px;white-space:nowrap}
#content .dev-table .status-badge,#content .dev-table [data-dev-open]{white-space:nowrap!important}
#content .dev-table [data-dev-open]{height:30px;padding:0 9px;line-height:1.2}
#content .dev-table .dev-data-count{display:inline-block;margin:0 4px 0 0;padding:4px 6px;font-size:11px}
#content .dev-table [data-dev-open]{height:30px;padding:0 9px;line-height:1.2}

#content .dev-table td{padding-left:6px!important;padding-right:6px!important}
#content .dev-table [data-dev-open]{max-width:100%;padding-left:5px!important;padding-right:5px!important;margin:0!important;box-sizing:border-box}

#content .dev-page-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:8px 0;font-size:12px}
#content .dev-page-controls label{display:flex;align-items:center;gap:5px}
#content .dev-page-controls select{height:30px;min-width:80px}
#content .dev-page-controls>span{margin-right:auto}

#content .sam-table-wrap .sam-list-diff-head{background:#e7edff!important;color:#253c86!important;white-space:nowrap}
#content .sam-table-wrap .sam-list-diff-cell{background:#f2f5ff!important;text-align:right;white-space:nowrap}
#content .sam-list-diff{display:inline-block;font-weight:750;padding:3px 7px;border-radius:5px;font-variant-numeric:tabular-nums}
#content .sam-list-diff-over{background:#fee4e2;color:#b42318}
#content .sam-list-diff-under{background:#dcfae6;color:#067647}
#content .sam-list-diff-even{background:#e4eaff;color:#344b91}
#content .sam-list-diff-empty{color:#667085}

/* Development project list reserves a visible pagination footer. */
#content:has(.dev-table) .dev-summary{gap:8px;margin:8px 0}
#content:has(.dev-table) .dev-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px!important;min-height:0;border-radius:10px}
#content:has(.dev-table) .dev-summary>div>span{margin:0;line-height:20px;font-size:12px}
#content:has(.dev-table) .dev-summary>div>b{margin:0;line-height:26px;font-size:22px}
#content:has(.dev-table) .dev-searchbar{margin-bottom:8px}
#content .dev-project-list-table{min-height:0!important;overflow:auto!important;overscroll-behavior:contain}
#content:has(.dev-table) .dev-page-controls{box-sizing:border-box;min-height:40px;padding:5px 0;gap:6px;margin:0;flex-shrink:0}
#content:has(.dev-table) .dev-page-controls button{height:30px;min-height:30px}

/* Inspection data toolbar needs content height, not the legacy 34px hint height. */
.inspection-table-shell>.inspection-table-tip:has(#inspTableExport){height:auto!important;min-height:42px;max-height:none!important;flex:0 0 auto;align-items:center!important;flex-wrap:wrap!important;overflow:visible!important;padding:6px 10px!important;gap:6px 12px!important}
.inspection-table-tip #inspDataInfo{flex:1 1 180px;min-width:0;white-space:normal}
.inspection-table-tip .inspection-data-tools{display:flex!important;flex-direction:row!important;align-items:center!important;flex:0 1 auto;flex-wrap:nowrap!important;min-width:0;max-width:100%;gap:6px!important}
.inspection-table-tip #inspTableFilter{flex:0 1 260px!important;width:260px!important;min-width:120px!important;max-width:260px!important;height:30px!important;min-height:30px!important;padding:4px 8px!important;box-sizing:border-box;font-size:12px!important}
.inspection-table-tip #inspTableApply,.inspection-table-tip #inspTableClear,.inspection-table-tip #inspTableExport{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto!important;width:auto!important;min-width:0!important;height:30px!important;min-height:30px!important;max-height:none!important;padding:4px 10px!important;white-space:nowrap!important;font-size:12px!important;visibility:visible!important}
@media(max-width:650px){.inspection-table-tip .inspection-data-tools{width:100%;flex-wrap:wrap!important;margin-left:0!important}.inspection-table-tip #inspTableFilter{flex:1 1 180px!important}}

/* Carton consolidation: wide workspace with only actionable groups. */
#modal:has(#packMergeEditor) .modal-card{width:min(1600px,calc(100vw - 24px))!important;max-width:none!important;height:calc(100vh - 32px)!important;max-height:calc(100vh - 32px)!important;display:flex;flex-direction:column}
#modal:has(#packMergeEditor) .modal-body{flex:1;min-height:0;overflow:auto;padding:12px 18px!important}
#modal:has(#packMergeEditor) .modal-body>p{font-size:13px;margin:0 0 10px}
#packMergeEditor .pack-merge-table-scroll{max-height:55vh;overflow:auto;border:1px solid #dfe5ee}
#packMergeEditor .table th,#packMergeEditor .table td{padding:7px 8px!important;height:auto!important;font-size:13px;text-align:left!important}
#packMergeEditor .table thead th{position:sticky;top:0;z-index:2;background:#eef2f7}
#modal:has(#packMergeEditor) .modal-actions{position:sticky;bottom:-12px;z-index:3;background:#fff;border-top:1px solid #dfe5ee;padding:10px 0;margin:10px 0 0}
#packMergeEditor .form-grid{gap:8px}
@media(max-width:800px){#modal:has(#packMergeEditor) .modal-card{width:calc(100vw - 10px)!important;height:calc(100vh - 12px)!important;max-height:calc(100vh - 12px)!important}#packMergeEditor .form-grid.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}}
