/* Keep application styles out of browser annotation overlays. */
@scope (#app, #modal-root, #toast) {
/* Adapted from the WMS App V2 default arctic theme; no WMS business code. */
.model-options{position:fixed;z-index:15;overflow:auto;background:#fff;border:1px solid #b8d2d9;border-radius:3px;box-shadow:0 5px 18px #163b2926;font-size:12px}
.model-options .model-option-head,.model-options button[role=option]{display:grid;grid-template-columns:minmax(150px,2fr) minmax(120px,1.6fr) minmax(100px,1.2fr) 70px 60px;min-width:540px;width:100%;gap:0;padding:0;white-space:normal;text-align:left;border:0;border-bottom:1px solid #dce5ee;border-radius:0;background:white;justify-content:stretch}
.model-options span{padding:9px 12px;overflow-wrap:anywhere}.model-options span+span{border-left:1px solid #dce5ee}.model-options .model-option-head{position:sticky;top:0;background:#f2f5f9;font-weight:600}.model-options button:hover,.model-options button[aria-selected=true]{background:#e3f5fc}.model-options p{padding:12px}
.customer-picker{position:relative;min-width:0;display:flex;flex-direction:column;gap:7px}
.customer-input{display:flex;gap:4px}.customer-input input{width:100%;min-width:0}
.customer-options{position:absolute;top:100%;left:0;min-width:100%;width:420px;max-width:min(420px,calc(100vw - 40px));max-height:300px;overflow:auto;z-index:5;background:white;border:1px solid #b9d6d0;box-shadow:0 6px 18px #163b2924;border-radius:4px}
.customer-options[hidden]{display:none}.customer-options .customer-option-head,.customer-options button[role=option]{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0;width:100%;text-align:left;white-space:normal;padding:0;border:0;border-radius:0;border-bottom:1px solid #d9e6e2;background:#fff;justify-content:stretch}
.customer-options span{padding:9px 12px;overflow-wrap:anywhere}.customer-options span+span{border-left:1px solid #d9e6e2}.customer-options .customer-option-head{background:#f0f5f7;font-weight:600}.customer-options button[aria-selected=true],.customer-options button:hover{background:#e2f5fa}.customer-options p{padding:12px}.customer-status{margin-top:20px}
#customer-form{min-height:0;overflow:auto}.customer-picker .customer-options{right:0;left:auto}
/* Catalog grid and three-state sorting follow the WMS product list. */
.catalog-table th,.catalog-table td{border:1px solid #d3e0dc;text-align:center;vertical-align:middle}
.catalog-table tr:last-child td{border-bottom:1px solid #d3e0dc}
.catalog-table .catalog-sort{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;border:0;background:transparent;padding:0;min-height:22px;font-size:12px;font-weight:600;color:inherit;border-radius:0}
.catalog-table .catalog-sort:hover{color:#087a75;background:transparent}
.sort-arrows{display:flex;flex-direction:column;width:12px;height:18px;flex-shrink:0;color:#b3c2bd}
.sort-arrows>span{display:flex;height:9px;align-items:center}
.sort-arrows svg{width:12px;height:12px;stroke-width:3}
.sort-arrows .selected{color:#087a75}
:scope{font-family:"Noto Sans SC","Microsoft YaHei","Segoe UI",sans-serif;font-size:13px;color:#142321;background:#eef5f1;--line:#d3e0dc;--green:#087a75;--muted:#61736f;letter-spacing:0}
.layout{grid-template-columns:204px minmax(0,1fr);background:#eef5f1}
.sidebar{padding:0;gap:0;background:#f8f9ee;border-color:#bdcec5;overflow:hidden}
.sidebar .brand{height:70px;padding:0 16px;border-bottom:1px solid #d3e0dc;font-size:16px;flex-shrink:0;gap:9px}
.sidebar .brand svg{width:30px;height:30px;padding:5px;background:#a8c94a;border-radius:7px;color:#17342e}
.sidebar nav{margin:8px 10px 0;padding:8px;gap:3px;border:1px solid #d3e0dc;border-radius:8px;background:#fbfcf6;flex-shrink:0}
.nav-button{height:44px;min-height:44px;padding:0 10px;gap:10px;border:1px solid transparent;border-left:3px solid transparent;border-radius:6px;color:#465a55;font-size:13px}
.nav-button.active,.nav-button:hover{background:#e2f3ef;color:#075f5b;border-color:#bdd7ce;border-left-color:#087a75}
.nav-button.active{font-weight:700}
.sidebar-art{flex:1;min-height:0;margin:0 10px;background:url('/assets/wms/mugwort-forest-sidebar.png') center bottom/cover no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 35%);pointer-events:none}
.account{margin-top:0;padding:16px;min-height:72px;background:#fbfcf6d9;flex-shrink:0}
.account::before{content:"";width:30px;height:30px;border-radius:50%;background:#e2f3ef;border:1px solid #a9c9bf;flex-shrink:0}
.account strong{font-size:12px}.account small{font-size:11px}
.main{background:#fff;min-height:100vh}
.topbar{height:56px;background:#fbfdf8;padding:0 18px;color:#465a55;border-color:#d3e0dc}
.workspace-location{display:flex;align-items:center;gap:9px;font-size:13px;min-width:0}
.workspace-location span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-strip{height:40px;display:flex;align-items:end;padding:0 14px;background:#f1f7f3;border-bottom:1px solid #d3e0dc;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.workspace-tab{height:34px;display:inline-flex;align-items:center;border:1px solid #c9dad5;border-bottom:0;border-radius:5px 5px 0 0;color:#55716a;background:#f7faf8;font-weight:600;font-size:12px;flex:0 0 auto}
.workspace-tab.active{color:#087a75;background:#fff;border-color:#9fc7bd;box-shadow:inset 0 2px #69b6aa}
.workspace-tab-main,.workspace-tab-close{height:33px;min-height:33px;border:0;background:transparent;border-radius:0;color:inherit;padding:0;display:inline-flex;align-items:center;justify-content:center}
.workspace-tab-main{gap:7px;padding:0 8px 0 11px;font-weight:inherit;font-size:inherit;white-space:nowrap}
.workspace-tab-main:last-child{padding-right:12px}
.workspace-tab-close{width:28px;padding:0 7px 0 4px}
.workspace-tab-main:hover,.workspace-tab-close:hover{background:#e8f3ef;border-color:transparent;color:#087a75}
.workspace-tab-main:focus-visible,.workspace-tab-close:focus-visible{outline:2px solid #178d86;outline-offset:-2px}
.workspace-tab svg{width:14px;height:14px}.workspace-tab-close svg{width:13px;height:13px}
.content{max-width:none;padding:0 14px 18px;background:#fff;min-height:calc(100vh - 96px)}
.heading{min-height:70px;padding:16px 0;margin-bottom:0;align-items:center;border-bottom:1px solid var(--line)}
h1{font-size:18px}h2{font-size:17px}.heading p{margin-top:5px}.heading .filename{font-size:18px}
button,.button{min-height:32px;padding:5px 12px;border-radius:4px;font-size:13px;color:#364e48;border-color:#ccdcd5}
button:hover,.button:hover{background:#edf6f2;border-color:#a7c5b8}
.primary{background:#087a75;color:#fff;border-color:#087a75}.primary:hover{background:#06635f;color:#fff}
.danger{color:#b0414e}.icon{width:32px;height:32px;padding:6px;flex-shrink:0}
input,select{min-height:32px;padding:6px 9px;font-size:13px;border-color:#ccdcd5}
input:focus,select:focus{border-color:#087a75;outline:2px solid #d7eeea}
.section-line{margin:0;padding:12px 0;min-height:57px}.search{max-width:380px}.search input{width:260px;max-width:100%}
.table-wrap{border-radius:0;border-color:#dce6e1}table{font-size:13px}th{background:#edf5f1;font-size:12px;color:#465f57;padding:9px 12px;font-weight:600;border-right:1px solid #e1e9e4}
td{padding:9px 12px;border-color:#e8eeeb}tbody tr:nth-child(even){background:#fafcfb}tbody tr:hover{background:#edf7f4}
#content>.table-wrap:not(:has(.bom-editor)) table{min-width:820px}
#content>.table-wrap td:not(.num){min-width:90px;overflow-wrap:break-word}
.empty{min-height:300px;padding:72px 20px}.empty svg{color:#82a99b}.empty p{font-size:13px}
.pager{padding-top:10px;margin-top:0}.stats{margin:0;padding:16px 0;border-top:0;background:#fbfdfc}.stat strong{font-size:23px}.stat.warn strong{color:#b97422}
.file-link{color:#087a75;padding:0;background:none;border:0;white-space:normal}.file-link:hover{background:none}.back{margin:12px 0 0;padding:0}
.settings{max-width:680px;border:0;background:transparent;padding:20px 0}.bom-meta{padding:16px 0;margin:0;gap:14px}.bom-editor td{padding:5px}
.modal{border-radius:8px;box-shadow:0 12px 42px #153b302b}.modal-head{padding:16px 20px;background:#f5f9f6}.modal-body{padding:18px 20px}.modal-foot{padding:12px 20px;background:#fbfdfc}
.overlay{background:#18392d55}.badge{border-radius:3px}.notice{border-radius:0}.page-error{margin-top:14px}
.auth{background:#c8e9f7 url('/assets/wms/ocean-wave-hero.png') center/cover no-repeat;padding:40px 24px}
.auth form,.auth #company-choice{width:100%;max-width:440px;padding:32px;border:1px solid #ffffffb3;border-radius:8px;background:#f9fdfff0;box-shadow:0 16px 50px #092d5024;backdrop-filter:blur(12px)}
.auth .brand{margin-bottom:26px}.auth h1{font-size:22px;margin-bottom:24px}.auth label{font-size:13px}.auth input{min-height:40px}.auth .primary{min-height:40px;background:#1178f2;border-color:#1178f2}.auth .primary:hover{background:#0867d6}
@media(max-width:1000px){.layout{grid-template-columns:188px minmax(0,1fr)}.sidebar .brand{font-size:15px;padding:0 12px}.sidebar nav{margin:8px 7px 0;padding:6px}.content{padding:0 12px 16px}.heading{flex-wrap:wrap;gap:12px}.topbar{padding:0 14px}}
@media(max-width:700px){.layout{display:block}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.sidebar .brand{height:52px;font-size:16px;padding:0 14px}.sidebar nav{margin:0;padding:8px;border:0;border-radius:0;display:flex;flex-wrap:wrap;gap:4px}.nav-button{width:auto;height:34px;min-height:34px;padding:0 9px;font-size:12px;gap:6px}.sidebar-art,.account{display:none}.topbar{min-height:48px;height:auto;padding:8px 12px;gap:8px}.workspace-location{font-size:12px;flex:1}.workspace-location svg{display:none}.workspace-strip{height:36px;padding:0 10px}.workspace-tab{height:30px}.workspace-tab-main,.workspace-tab-close{height:29px;min-height:29px}.content{padding:0 10px 16px;min-height:calc(100dvh - 175px)}.heading{padding:14px 0;min-height:64px}h1{font-size:18px}.section-line{gap:9px;padding:10px 0}.search{width:100%}.search input{width:100%}.bom-meta{grid-template-columns:1fr;gap:10px}.auth{padding:16px}.auth form,.auth #company-choice{padding:24px;max-width:420px}.empty{min-height:240px;padding:48px 16px}.stats{padding:12px 0}.stat{padding:0 10px}.stat strong{font-size:21px}}
}
/* Catalog controls keep dense tables scrollable without expanding the workspace. */
.catalog-query { padding: 12px 0; }
.catalog-query > .actions, .catalog-summary, .catalog-summary > .actions { flex-wrap: wrap; gap: 8px; }
.catalog-query input[name="q"] { width: 280px; max-width: 100%; }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 12px; }
.catalog-filters[hidden] { display: none; }
.catalog-filters label { display: grid; gap: 4px; min-width: 120px; max-width: 100%; }
.catalog-filters select, #import-batch { max-width: 260px; }
.catalog-column { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 0; border-bottom: 1px solid #dce6e4; }
.catalog-column .check { margin: 0; }
.catalog-table input[type="checkbox"] { width: 15px; height: 15px; }
.catalog-check { width: 38px; }
.pager { flex-wrap: wrap; }
.pager label { display: flex; align-items: center; gap: 6px; }
@media (max-width: 640px) {
  .catalog-query > .actions { align-items: stretch; }
  .catalog-query input[name="q"] { width: 100%; flex-basis: 100%; }
  .catalog-summary { align-items: flex-start; }
  #import-batch { max-width: 180px; }
}
