/* Inventory workspace — one shared visual system for dashboard, admin and auth. */
:root{--bg:#f3f5f4;--surface:#fff;--ink:#20392e;--muted:#6d7e75;--line:#e2e8e4;--green:#22664c;--deep:#173f31;--tint:#edf5ef;--amber:#94621c;--shadow:0 3px 16px #193c2805;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}main{max-width:1480px;margin:auto;padding:24px 40px 32px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h2{font-size:21px;letter-spacing:-.5px;margin-bottom:0;font-weight:650}h3{font-size:16px;font-weight:650;margin-bottom:14px}p{color:var(--muted);line-height:1.8}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:var(--green);color:#fff;min-height:38px;padding:9px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:550;line-height:1.4;transition:background .15s,border-color .15s,box-shadow .15s;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:var(--deep);text-decoration:none}button:active{transform:translateY(1px)}.secondary,.button.secondary{background:#fff;border-color:#d7e2da;color:#355e48;box-shadow:0 1px 2px #243b2d03}.secondary:hover,.button.secondary:hover{background:var(--tint);border-color:#a7c4b1}button:disabled,#refresh:disabled,#syncVc:disabled{background:#eef0ef;color:#7c8680;border-color:#e0e5e2;cursor:not-allowed;box-shadow:none;transform:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a1c5b0;outline-offset:3px}input:not([type=checkbox]),select{min-width:0;max-width:100%;min-height:38px;padding:9px 12px;border:1px solid #dce4de;border-radius:7px;background:#fff;color:var(--ink);outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#98a39c}input:not([type=checkbox]):focus,select:focus{border-color:#649c7b;box-shadow:0 0 0 3px #387f5810}input:disabled,select:disabled{background:#f2f4f2;color:#87948a}input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--green);flex-shrink:0}label{display:grid;gap:8px;color:#5f7366;font-size:13px}.inlineLabel{display:flex;align-items:center;gap:9px;cursor:pointer}form{display:grid;gap:16px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.muted,.detail,footer{font-size:12px;color:#7b8a81}.detail{display:block;line-height:1.6;margin-top:5px}.unknown{color:var(--amber)}.empty{text-align:center;padding:52px 20px;color:var(--muted)}.visuallyHidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Navigation */
.teamNav{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 0 23px;border-bottom:1px solid var(--line);margin-bottom:24px}.navIdentity{display:flex;align-items:center;gap:22px}.brandMark{display:grid;grid-template-columns:repeat(2,7px);gap:3px;align-content:center;justify-content:center;width:33px;height:33px;border-radius:9px;background:var(--deep);flex-shrink:0}.brandMark i{height:7px;background:#c2ddc9;border-radius:1.5px}.brandMark i:last-child{background:#6e9c7e}.navPages{display:flex;align-items:center;gap:5px}.navPages a{padding:9px 16px;font-weight:550;color:#79867d;font-size:14px;border-radius:7px;white-space:nowrap}.navPages a[aria-current=page]{color:var(--deep);background:#e3ece5}.navPages a:hover{background:#e9eeea;text-decoration:none}.navAccount{display:flex;align-items:center;gap:17px}.navAccount #signedInUser{color:#687d6d;font-size:12px;white-space:nowrap}.navAccount #signedInUser:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#659178;margin-right:8px}.passwordLink{font-size:12px;color:#77877b}.teamNav #logout{padding:7px 12px;min-height:32px;font-size:12px;background:transparent;border-color:#d7e0d9;color:#63796b}
/* Snapshot and environment status */
.inventoryHeader{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 25px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.statusStack{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px 16px;min-width:0}.inventoryTime{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.statusCaption{font-size:11px;color:#7a8a7e;font-weight:500}.inventoryHeader #updated{font-size:14px;letter-spacing:.1px;font-weight:600;color:#365641;margin:0;line-height:1.6;font-variant-numeric:tabular-nums}.updatePolicy{margin:0;background:var(--tint);color:#5b8068;border-radius:5px;padding:3px 8px;font-size:11px;line-height:1.6;max-width:360px}.vcStatus{grid-column:1/-1;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:0;font-size:11px;color:#899489;line-height:1.6;font-variant-numeric:tabular-nums}.syncPendingBadge{font-size:10px;padding:2px 6px;border:1px solid #efdec1;background:#fffaf0;color:#9a7439;border-radius:4px}.inventoryHeader .actions{flex-shrink:0}.inventoryHeader button{min-height:40px}.actionState{font-size:10px;padding:1px 5px;border:1px solid #d0d7d1;background:#f6f8f6;border-radius:4px;color:#78857b}.previewStrip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:0 2px}.previewStrip:has(#erpMode[hidden]){display:none}#erpMode{font-size:11px;color:#73817b;margin:0;padding:0;flex:1;line-height:1.7}.demoTools{position:relative;font-size:11px;flex-shrink:0}.demoTools summary{color:#6b8174;cursor:pointer}.demoTools[open]{width:100%}.demoTools .actions{padding:15px;margin-top:8px;background:#fff;border:1px dashed #c9d8ce;border-radius:8px}.demoTools a,.demoTools label,.demoTools select,.demoTools button{font-size:12px}.demoTools label{display:flex;align-items:center;gap:8px}#notice{font-size:12px;line-height:1.6;color:#64806e;margin:12px 0 22px;padding:10px 14px;background:#eaf1eb;border:1px solid #dce8df;border-radius:7px}#notice:before{content:'✓';font-weight:650;margin-right:9px;color:#548466}#notice.noticeWarning{color:#946b31;background:#fff7e9;border-color:#efdfc3}#notice.noticeWarning:before{content:'!'}#notice:empty{display:none}
/* Dashboard */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0 18px}.metric{position:relative;display:block;min-height:133px;text-align:left;padding:23px 25px;border:1px solid var(--line);background:#fff;color:#718375;border-radius:12px;font-size:13px;font-weight:500;box-shadow:var(--shadow)}.metric:after{content:'↗';position:absolute;right:22px;top:20px;font-size:17px;color:#a3b1a6;font-weight:400}.metric:hover{background:#f9fcf9;border-color:#aec9b7}.metric b{display:block;margin-top:13px;font-size:36px;line-height:1;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#2f513b}.metric.active{background:var(--deep);color:#b9d1c0;border-color:var(--deep)}.metric.active b{color:#fff}.metric.active:after{color:#a8c7b3}.reviewBar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.reviewBar button{min-height:32px;padding:6px 11px;font-size:12px;border-radius:6px}.reviewBar #reviewFilter{color:#987039;border-color:#e7d8be;background:#fffdf8}.reviewBar #reviewFilter.active{background:#f5e7cb;border-color:#cfa86e}.reviewBar #arrivalFilter{color:#47765a}.reviewBar #arrivalFilter.active{background:#d9eade;border-color:#8db39b}.reviewBar .muted{font-size:11px;margin-left:5px}.helpDisclosure{margin:12px 0;color:#859188;font-size:12px;line-height:1.7}.helpDisclosure summary{cursor:pointer;font-size:12px;font-weight:500;color:#7c8c80;list-style:none;display:flex;align-items:center;gap:7px}.helpDisclosure summary:before{content:'+';font-size:14px;color:#7f9585}.helpDisclosure[open]>summary:before{content:'−'}.helpDisclosure summary::-webkit-details-marker{display:none}.helpDisclosure p{font-size:12px;line-height:1.8;margin:12px 0;color:#75877b}.arrivalHelp{margin:8px 0 20px}.arrivalHint{margin:10px 0}.inventoryWorkspace{margin-top:22px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.productToolbar{padding:23px 25px 19px}.productToolbarTop{display:grid;grid-template-columns:1fr minmax(150px,270px) auto;align-items:center;gap:20px}.productToolbar h2{font-size:17px;font-weight:650}.productToolbarTop #search{width:100%;background:#f9fbf9}.sortPicker{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}.sortPicker select{font-size:12px;min-width:120px}.productToolbarBottom{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:18px;margin-top:18px;border-top:1px solid #edf1ed}.productScope,.productDisplay,.categoryPicker{display:flex;align-items:center;gap:12px}.productScope{flex-wrap:wrap}.categoryPicker{font-size:12px}.categoryPicker select{min-width:130px}.productDisplay{gap:18px;flex-wrap:wrap}.productDisplay label{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer;white-space:nowrap}.productScope button{font-size:12px}.inventoryWorkspace>.table{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.table{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff;margin-top:18px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f6f8f6;color:#7c8f80;font-size:11px;font-weight:600;padding:14px 20px}td{padding:23px 20px;border-top:1px solid #edf1ed;font-size:13px;font-variant-numeric:tabular-nums}td b{font-size:20px;font-weight:600;color:#2c4c38;letter-spacing:-.2px}tbody tr:hover{background:#fafcfb}#summary td:nth-child(n+3){text-align:right}#dashboardPanel th:nth-child(n+3){text-align:right}#summary td:last-child,#dashboardPanel th:last-child{padding-right:28px}.productName{display:flex;align-items:center;gap:10px}.productName b{font-size:17px}.productName .detail{font-size:11px;color:#96a296}.sortHandle{padding:4px;min-height:26px;min-width:20px;font-size:21px;line-height:1;color:#aab9ae;background:transparent;cursor:grab;touch-action:none}.sortHandle:hover,.sortHandle:focus-visible{background:#e9f1eb;color:var(--green)}.sortHandle:active{cursor:grabbing}.chip{display:inline-block;background:#e9f4eb;color:#497358;padding:5px 9px;border-radius:5px;font-size:12px}.asinTag{display:inline-block;margin-top:8px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;background:#edf3f7;color:#607c90;border-radius:4px;padding:3px 6px}.stock-total b{display:block;font-size:23px}#summary .low-stock-row{background:#fffcf6}#summary .low-stock-row td:first-child{box-shadow:inset 3px 0 #d6aa62}.low-stock-row .stock-total b{color:#ac7933}#summary .zero-stock-row{background:#f8f9f8}#summary .zero-stock-row td:first-child{box-shadow:inset 3px 0 #bac5bc}.zero-stock-row .stock-total b{color:#8c9a8f}.low-stock-badge,.zero-stock-badge{display:inline-block;font-size:10px;font-weight:500;margin-top:5px;padding:3px 6px;border-radius:4px}.low-stock-badge{background:#fbefd8;color:#9c7130}.zero-stock-badge{background:#e9eeea;color:#849187}.onePortStock{display:block;font-size:11px;line-height:1.6;color:#758c9b;margin-top:7px}.onePortNote{display:block;font-size:10px;color:#9c8b69}.onePortUnconfirmed{color:#9ca6a1}.sortHint{font-size:11px;color:#9ba69d;margin:16px 24px 0}.sortHint #sortStatus{margin-left:8px;color:var(--green)}#summary .dragging{opacity:.45}#summary .drop-before td{border-top:3px solid #4e8863}#summary .drop-after td{border-bottom:3px solid #4e8863}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;font-size:11px;color:#859388;margin:17px 0}.pagination button{font-size:11px;padding:6px 10px;min-height:30px}.inventoryWorkspace>.pagination{margin:14px 24px}.stockHelp{margin:0;padding:15px 24px;border-top:1px solid #edf1ed;background:#fbfcfb}.arrivalDetails{white-space:normal;margin:9px 0 0;max-width:400px;font-size:11px;color:#608368}.arrivalDetails summary{cursor:pointer;font-size:11px;font-weight:500}.detail.unknown{color:#aa8246}#erpAlerts{background:#fffbf2;border:1px solid #eadcc1;border-radius:9px;padding:16px 20px;margin:18px 0;color:#97713c;font-size:12px;line-height:1.7}#erpAlerts strong{font-weight:600}#erpAlerts ul{padding-left:18px;margin:8px 0 0}#erpAlerts li+li{margin-top:5px}
/* The visual header follows page and horizontal table scrolling without changing the source table. */
.inventoryFloatingHeader{position:fixed;z-index:10;overflow:hidden;pointer-events:none;background:#f6f8f6;box-shadow:0 1px 0 var(--line),0 5px 14px #24463212}.inventoryFloatingHeader table{table-layout:fixed;margin:0}.inventoryFloatingHeader th:nth-child(n+3){text-align:right}.inventoryFloatingHeader th:last-child{padding-right:28px}
/* Admin: persistent panes, never discard drafts when navigating. */
.adminLayout{display:grid;grid-template-columns:196px minmax(0,1fr);gap:28px;margin-top:27px;align-items:start}.adminSidebar{position:sticky;top:24px;background:transparent}.sidebarTitle{font-size:11px;font-weight:600;letter-spacing:1px;color:#8e9e91;margin:0 12px 24px}.sidebarGroup{display:block;margin:22px 12px 8px;font-size:10px;color:#9aaa9e;letter-spacing:1px}.adminSidebar nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;margin:3px 0;border-radius:7px;color:#6b7e70;font-size:12px}.adminSidebar nav a>span:last-child{opacity:0}.adminSidebar nav a:hover{background:#e9eeea;text-decoration:none}.adminSidebar nav a[aria-current=page]{background:#e0ece3;color:#245d3d;font-weight:600}.adminSidebar nav a[aria-current=page]>span:last-child{opacity:1}.sidebarNote{margin:28px 12px 0;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:#6f8475;line-height:1.9}.sidebarNote>span:last-child{font-size:10px;color:#9aa89d}.statusDot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#639471;margin-right:5px}.adminContent{min-width:0}.adminPane{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow);min-height:450px}.paneHeading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:23px;margin-bottom:23px;border-bottom:1px solid var(--line)}.paneHeading h2{font-size:22px;color:#264431;font-weight:600}.paneHeading p{font-size:12px;color:#8b9b8f;margin:7px 0 0;line-height:1.7}.panelCount{white-space:nowrap;font-size:11px;color:#568064;background:var(--tint);border-radius:5px;padding:5px 9px}.adminPane>p{font-size:12px}.adminPane>.helpDisclosure{padding:10px 13px;background:#f7f9f7;border:1px solid #e8eee9;border-radius:7px;margin-bottom:22px}.connections{display:grid;grid-template-columns:1fr 1fr;gap:20px}.connections form{padding:22px;border:1px solid var(--line);border-radius:9px;background:#fcfdfc}.connections h3{font-size:14px;margin:0 0 4px}.connections .status{font-size:11px;color:#6c9379}.connections input{width:100%}.connections button{margin-top:4px}.warehouses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.warehouses select{width:100%}#disconnect{color:#9d6a58;border-color:#e7d7cf}.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 12px;background:#f7f9f7;border:1px solid #e6ece7;border-radius:8px;padding:13px}.bar input{max-width:260px;flex:1;min-width:130px}.bar label{display:flex;align-items:center;gap:7px;font-size:11px}.bar label select{font-size:12px}.bar button{margin-left:auto}.importActions{margin:18px 0 15px}.button input[hidden]{display:none}#raw input{width:125px}#raw input.boxRate{width:75px}#raw input:disabled{background:#eef2ee;color:#a0aaa0}#raw td:nth-child(2){white-space:normal;min-width:110px;max-width:180px}#raw td{padding:14px 12px;font-size:12px}#raw td:first-child{min-width:160px}#raw th{padding:12px}#erpMappings input{width:155px}#erpMappings td{font-size:12px;padding:18px}#erpMappings b{font-size:15px}#dirty{font-size:12px;color:#aa7c37}#dirty:empty{display:none}.accountForm{display:grid;grid-template-columns:1fr 1fr 125px auto;align-items:end;gap:12px;margin:24px 0;padding:20px;background:#f7faf7;border:1px solid #e6eee7;border-radius:9px}.accountForm input{width:100%}#users td{font-size:12px;padding:17px 14px}#users select{font-size:12px}#users button{font-size:11px;padding:7px 9px;min-height:30px}.userOperationPermissions{display:grid;gap:10px}.userOperationPermissions .inlineLabel{font-size:11px;gap:8px}.userOperationPermissions input{width:14px;height:14px}#userNotice:empty,#onePortConnectionMessage:empty,#erpMappingNotice:empty{display:none}#userNotice,#resetMessage,#authMessage,#erpImportError{color:#a06e34;font-size:12px;line-height:1.7;overflow-wrap:anywhere}#audit:empty:after{content:'点击「读取操作记录」查看近期活动';display:block;text-align:center;padding:70px 20px;color:#9aa79d;font-size:13px}#audit p{border-bottom:1px solid var(--line);padding:16px 0;margin:0;font-size:12px}#saveAutoRefresh{margin-top:24px}#refreshSettings>.inlineLabel{border:1px solid #dce8df;background:#f4f9f5;padding:20px;border-radius:9px;margin-top:25px;color:#396746}#refreshSettings>p{max-width:650px}.onePortCredentialFields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.onePortCredentialFields input{width:100%}.connectionInfo{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.connectionInfo span{font-size:11px;color:#60816b;background:#eef5f0;border:1px solid #e1ebe4;border-radius:5px;padding:5px 8px}#onePortConnectionForm{padding:22px;background:#fafcfb;border:1px solid #e3ebe5;border-radius:9px;margin:18px 0}#onePortConnectionForm p{font-size:11px;margin:0}.connectionReadResult{padding-top:20px;margin-top:22px;border-top:1px solid var(--line);font-size:12px}#onePortConnectionMessage{color:#63816c;font-size:12px;line-height:1.7}#onePortConnectionResult td{font-size:12px}.connectionReadResult strong{font-size:13px;color:#456e52}#erpMappingNotice{color:#537b5f;font-size:12px}
/* Dialogs */
dialog{width:94vw;max-width:940px;max-height:88vh;overflow:auto;border:1px solid #dce6de;background:#fff;color:var(--ink);border-radius:18px;padding:30px;box-shadow:0 24px 100px #183c2830}dialog::backdrop{background:#152f2455;backdrop-filter:blur(4px)}dialog h2{font-size:23px}dialog p{font-size:13px;line-height:1.8}dialog>.actions,dialog form>.actions{justify-content:flex-end;margin-top:24px}#resetDialog{max-width:470px}#resetUser{margin-top:24px}#productDialog{max-width:1040px;padding:30px 34px}.productDialogHeader{display:flex;align-items:center;justify-content:space-between;gap:18px}.productDialogHeader p{margin:8px 0 0;color:#8c9c90}.productDialogClose{background:#f2f6f2;border:1px solid #e1e8e2;color:#7b9180;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;font-size:24px;font-weight:400}.productDialogClose:hover{background:#e3ece5;color:#365e43}.productChoiceTools{display:flex;align-items:center;gap:8px;margin:25px 0 16px}.productChoiceTools input{margin-left:auto;width:260px}#productChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:12px}.productChoice{display:flex;align-items:center;gap:12px;padding:14px 13px;min-width:0;border-radius:6px;color:#526e5b;cursor:pointer;line-height:1.6}.productChoice:has(input:checked){background:#f0f6f1;color:#386448}.productChoice:hover{background:#e7f0e9}.productChoice span{overflow-wrap:anywhere}.productChoice input{width:17px;height:17px}.productChoice .detail{margin-top:2px;font-size:10px}#productChoices .empty{grid-column:1/-1}.productDialogFooter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.productDialogFooter span{color:#8a9a8f;font-size:12px}#productSelectionHint{margin-top:14px;font-size:11px}
/* Authentication */
.authBody{background:#eef2ee;min-height:100vh;display:grid;place-items:center;padding:40px}.authShell{width:min(1020px,100%);display:grid;grid-template-columns:1.1fr 1fr;border:1px solid #dce5de;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 22px 70px #27442d0d}.authStory{background:#1a4030;color:#d3e4d5;padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.authBrand{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:1px}.authStory .brandMark{border:1px solid #51715b;background:#2b523c}.authEyebrow{font-size:10px;letter-spacing:1.8px;color:#91b29b;margin-bottom:20px}.authStory h2{font-size:31px;line-height:1.6;letter-spacing:-.6px;color:#eff5ec;font-weight:500}.authStory p{color:#8fb199;font-size:12px;line-height:1.9}.warehouseIllustration{display:flex;align-items:center;gap:22px;position:relative;padding:22px 0}.warehouseIllustration:before{content:'';position:absolute;left:20px;right:20px;top:50%;height:1px;background:#5e8167}.warehouseIllustration>span{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:88px;height:88px;flex-shrink:0;font-size:20px;border:1px solid #52775d;border-radius:16px;background:#244b36;color:#c3dcc7}.warehouseIllustration>span:nth-child(2){transform:translateY(-16px);background:#335d42;border-color:#789982}.warehouseIllustration small{font-size:10px;color:#a0bfa9;letter-spacing:1px}.authStoryFoot{font-size:10px!important;letter-spacing:1px;margin:0!important}.authMain{max-width:none;padding:65px 44px;margin:0;display:flex;flex-direction:column;justify-content:center;min-width:0}.authMain h1{font-size:27px;font-weight:600;letter-spacing:-.7px;margin:0 0 10px;color:#294a34}.authMain #authIntro{font-size:12px;margin-bottom:27px}.authMain .authEyebrow{font-size:10px;color:#8da492;margin-bottom:14px}.authCard{display:grid;gap:18px}.authCard input{width:100%}.authCard>button{min-height:43px;margin-top:8px}.authCard .rememberLogin{display:flex;gap:8px;align-items:center;font-size:12px}.authCard .rememberLogin input{width:15px;height:15px}.authMain>.muted{font-size:10px;margin:24px 0 0;line-height:1.9}.authMain #backToDashboard{margin-top:18px;font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;padding:18px 2px 0;font-size:10px;color:#9ca99f;border-top:1px solid #e4eae5;letter-spacing:.4px}
/* Responsive layout */
@media(min-width:1100px){#appRoot:has(#adminPanel:not([hidden])) .inventoryHeader{padding:17px 24px}#appRoot:has(#adminPanel:not([hidden])) .statusStack{grid-template-columns:auto auto}.adminSidebar{top:24px}}
@media(max-width:1200px){main{padding:24px}.productDisplay{width:100%}.adminLayout{grid-template-columns:174px minmax(0,1fr);gap:18px}.accountForm{grid-template-columns:1fr 1fr}.inventoryHeader{align-items:flex-start}.statusStack{grid-template-columns:1fr}.vcStatus{grid-column:auto}.metric{padding:21px}.metric b{font-size:32px}.navAccount{gap:12px}}
@media(max-width:900px){.teamNav{gap:12px;flex-wrap:wrap}.navIdentity{gap:14px}.inventoryHeader{flex-wrap:wrap;gap:18px}.connections{grid-template-columns:1fr}.adminPane{padding:22px}.paneHeading{align-items:flex-start;flex-direction:column;gap:10px}.productToolbarTop{grid-template-columns:1fr auto}.productToolbarTop h2{grid-column:1/-1}.productToolbarTop #search{width:100%}.productToolbarBottom{gap:16px}.authBody{padding:24px}.authStory{padding:32px}.authMain{padding:45px 30px}.authStory h2{font-size:27px}.warehouseIllustration{gap:12px}.warehouseIllustration>span{width:66px;height:72px;font-size:17px}.warehouses{grid-template-columns:1fr}}
@media(max-width:700px){main{padding:18px 16px 24px}.teamNav{padding-bottom:16px;margin-bottom:18px;gap:14px}.navPages a{padding:9px 12px;font-size:13px}.navAccount{width:100%;gap:15px}.navAccount #signedInUser{margin-right:auto;font-size:11px}.inventoryHeader{padding:18px}.inventoryHeader .actions{width:100%}.inventoryHeader .actions button{flex:1}.metrics{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.metric{min-height:110px;padding:18px}.metric b{font-size:30px;margin-top:10px}.metric:after{right:16px;top:14px}.reviewBar .muted{display:none}.inventoryWorkspace{margin-top:18px}.productToolbar{padding:20px 17px}.productToolbarTop{gap:12px}.productToolbarTop #search{min-width:0}.sortPicker select{min-width:105px}.productScope{gap:10px}.productDisplay{gap:10px 15px}.productDisplay label{font-size:11px}th{padding:12px 15px}td{padding:20px 15px}.sortHint{margin:14px 17px 0}.inventoryWorkspace>.pagination{margin:14px 17px}.stockHelp{padding:14px 17px}.adminLayout{display:block;margin-top:20px}.adminSidebar{position:static;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.sidebarTitle,.sidebarGroup,.sidebarNote{display:none}.adminSidebar nav{display:flex;gap:4px;overflow-x:auto;padding:2px}.adminSidebar nav a{flex-shrink:0;font-size:12px;padding:9px 12px;margin:0}.adminSidebar nav a>span:last-child{display:none}.adminPane{padding:21px 17px;min-height:350px}.paneHeading h2{font-size:20px}.connections form{padding:18px}.onePortCredentialFields{grid-template-columns:1fr}.bar{gap:10px}.bar input{max-width:none;flex-basis:100%}.bar label{flex:1}.bar select{width:100%}.bar button{margin:0}.accountForm{padding:16px;gap:14px}.accountForm button{min-height:38px}#onePortConnectionForm{padding:18px}.authBody{padding:16px}.authShell{max-width:460px;grid-template-columns:1fr;border-radius:16px}.authStory{padding:25px;gap:20px}.authStory>div,.authStoryFoot{display:none}.authMain{padding:32px 27px}.authMain h1{font-size:25px}#productDialog{padding:23px 20px}#productDialog h2{font-size:21px}#productChoices{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.productChoice{font-size:12px;padding:11px 8px;gap:9px}.productChoiceTools{flex-wrap:wrap;gap:8px}.productChoiceTools input{flex:1;min-width:100px;width:auto}.productDialogFooter{gap:12px}.productDialogFooter button{padding:10px 17px}dialog{padding:24px}.demoTools .actions{align-items:flex-start}.demoTools label{flex-wrap:wrap}footer{font-size:9px;gap:10px}.previewStrip{gap:6px}.previewStrip #erpMode{flex-basis:100%}}
@media(max-width:420px){.accountForm{grid-template-columns:1fr}.categoryPicker select{min-width:100px}.sortPicker{gap:5px}.sortPicker select{min-width:95px;font-size:11px}#productChoices{grid-template-columns:1fr}.navIdentity{gap:10px}.navAccount{gap:9px}.passwordLink{font-size:11px}.teamNav #logout{font-size:11px}.metric{font-size:12px}.statusStack{gap:9px}.inventoryHeader #updated{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.adminMobilePicker{display:none}@media(max-width:700px){.adminSidebar nav{display:none}.adminMobilePicker{display:flex;align-items:center;gap:14px;padding:0 3px;font-size:11px}.adminMobilePicker select{flex:1;border:0;background:#f3f7f3;color:#3c684d;font-weight:550}.adminSidebar{padding:10px}}
.button[aria-disabled="true"],.button[aria-disabled="true"]:hover{background:#eef0ef;color:#7c8680;border-color:#e0e5e2;cursor:not-allowed;box-shadow:none}
.asinIdentity{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.asinIdentity .asinTag{margin-top:0}.identityBadge{display:inline-flex;align-items:center;border:1px solid #dce7df;border-radius:4px;padding:2px 6px;font-size:10px;line-height:1.6;color:#547b61;background:#f0f6f2;max-width:100%;white-space:normal}.identity-changed{color:#94621c;background:#fff7e9;border-color:#ebd6ac}.identity-blocked{color:#a0473e;background:#fff2ef;border-color:#edcfc8}.identityDetails{display:grid;justify-items:start;gap:2px;margin-top:8px;max-width:290px}.identityDetails .detail{margin-top:2px;overflow-wrap:anywhere}.identitySku{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.identityWarning{color:#a16e37}.identitySummary{padding:12px 14px;background:#f5f8f5;border:1px solid var(--line);border-radius:7px;margin:15px 0}.identitySummary p{margin:0;font-size:12px}.identitySummary #onePortIdentityError:not(:empty){margin-top:5px;color:#a0473e}.identityActions{display:flex;gap:7px;flex-wrap:wrap}.identityActions [data-identity-ack]{color:#93611e;border-color:#e2cdac;background:#fff9ed;font-size:11px}.identity-pending{color:#8b958f}

#erpMappings td{vertical-align:top}#erpMappings td:first-child{min-width:200px;max-width:280px;white-space:normal}#erpMappings select[data-asin-category]{min-width:120px;width:100%}#erpMappings select[data-asin-product]{min-width:170px;width:100%}#erpMappings td:last-child{min-width:180px;max-width:300px;white-space:normal}#erpMappings td:last-child .detail{line-height:1.7}#erpMappings .asinTag{margin-top:0}.onePortStockLabel{display:block;font-size:9px;line-height:1.5;overflow-wrap:anywhere;white-space:normal}.onePortStock+.onePortStock{border-top:1px dashed #dfe7e1;padding-top:6px}

/* ONE PORT list visibility is independent from product mappings. */
.bar .asinVisibilityFilter{margin-left:auto;flex:none;white-space:nowrap;gap:7px}.bar .asinVisibilityFilter input{flex:none;width:14px;min-width:14px;height:14px;max-width:none;margin:0;accent-color:var(--green)}#erpHiddenCount{font-variant-numeric:tabular-nums;color:#8a9b8e}#erpMappings .hiddenAsinRow{background:#f7f8f7}#erpMappings .hiddenAsinRow:hover{background:#f1f5f2}.hiddenAsinBadge{display:inline-block;vertical-align:middle;margin-left:7px;border:1px solid #dce3de;border-radius:4px;padding:2px 5px;font-size:10px;color:#7c8d82;background:#edf1ee}.identityActions .asinVisibilityAction{color:#74877a;border-color:#dce5de;background:transparent}.identityActions .asinVisibilityAction:hover{color:#365f45;border-color:#a7beae;background:#edf4ef}
@media(max-width:700px){.bar .asinVisibilityFilter{margin-left:0;flex-basis:100%}}

/* Alert details stay compact until explicitly expanded. */
#erpAlerts{padding:0}#erpAlerts summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;min-height:46px;cursor:pointer;list-style:none;font-weight:600;border-radius:9px}#erpAlerts summary::-webkit-details-marker{display:none}#erpAlerts summary:hover{background:#f7efdf}#erpAlerts summary:focus-visible{outline:2px solid #b18c4b;outline-offset:3px}#erpAlerts .erpAlertsAction{flex-shrink:0;font-size:11px;font-weight:500;color:#a68a5f}#erpAlerts .erpAlertsAction:after{content:'展开 ＋'}#erpAlerts details[open] .erpAlertsAction:after{content:'收起 −'}#erpAlerts ul{max-height:260px;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;white-space:normal;margin:0 20px 16px;padding:0 12px 0 20px}#erpAlerts li+li{margin-top:9px}
@media(max-width:700px){#erpAlerts summary{padding:13px 15px}#erpAlerts ul{margin-right:15px;margin-left:15px;max-height:35vh}}

/* ONE PORT live inventory actions keep remote results distinct from targets. */
.onePortFailed,.onePortFailed .onePortNote{color:#ad5147}.onePortConfirmed .onePortNote{color:#71937f}.onePortWarehouseForm{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.onePortWarehouseForm h3{font-size:15px;margin:0 0 10px}.onePortWarehouseForm .warehouses{margin:18px 0}.onePortWarehouseForm p{font-size:12px}#onePortWarehouseMessage:empty{display:none}#vcSyncDialog{max-width:1030px}#vcSyncDialog .vcPreviewSummary{color:#315e43;font-size:15px;font-weight:600;margin-bottom:4px}#vcPreviewSource{font-size:11px;margin-top:0}.vcPreviewTable{max-height:36vh;overflow:auto;margin-top:20px;border:1px solid var(--line);border-radius:8px}.vcPreviewTable thead{position:sticky;top:0;z-index:1}.vcPreviewTable td{font-size:12px;padding:13px 16px}.vcPreviewTable .asinTag{margin:0}.vcPreviewTable td:first-child{white-space:normal;min-width:240px}.vcPreviewTable .detail{font-size:10px}.vcPreviewWarnings{background:#fffbf3;border:1px solid #eadbc0;border-radius:8px;padding:13px 16px;margin-top:16px;color:#97713c;font-size:12px}.vcPreviewWarnings summary{cursor:pointer;font-weight:600}.vcPreviewWarnings ul{max-height:20vh;overflow:auto;padding-left:20px;line-height:1.8}.vcPreviewWarnings li+li{margin-top:5px}#vcSyncError{font-size:12px;color:#9c6a38;overflow-wrap:anywhere}#vcSyncError:empty{display:none}

/* XuFeng identity — local design draft, shared by all pages. */
.teamNav{min-height:74px;padding:14px 20px;margin-bottom:20px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow);gap:20px}
.navIdentity{gap:22px;min-width:0}.brandHome{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--deep);text-decoration:none;line-height:1;border-radius:9px}.brandHome:hover{color:var(--green);text-decoration:none}.brandSymbol{display:block;width:36px;height:36px;flex-shrink:0}.brandWordmark{font-size:22px;font-weight:700;letter-spacing:-.85px;line-height:1.15}.navPages{border-left:1px solid var(--line);padding-left:18px;gap:4px}.navPages a{padding:9px 12px;font-size:13px}.navAccount{gap:14px}.accountIdentity{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.navAccount #signedInUser{font-size:12px;font-weight:550;color:#4d6858}.navAccount #signedInUser:before{display:none}.roleBadge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:5px;background:#eef4ef;color:#71927d;font-size:10px;line-height:1.4}.passwordLink{color:#7e8e83}.teamNav #logout{border-color:#e0e7e1;background:#fafcfb}.teamNav #logout:hover{background:#edf4ef;border-color:#b8cebe}
.metrics{margin-top:20px}.metric{min-height:120px;padding:20px 23px}.metric b{margin-top:11px}#notice{margin-bottom:14px}
.authStory .brandHome{align-self:flex-start;color:#f4f3ea;gap:12px;letter-spacing:0}.authStory .brandHome:hover{color:#fff}.authStory .brandSymbol{width:42px;height:42px;outline:1px solid #52715c;outline-offset:-1px;border-radius:12px}.authStory .brandWordmark{font-size:25px;letter-spacing:-.9px}
@media(max-width:1100px){.teamNav{flex-wrap:wrap;gap:14px}.navIdentity{gap:16px}.navPages{padding-left:14px}.navAccount{gap:12px}}
@media(max-width:900px){.navIdentity{width:100%;justify-content:space-between}.navPages{border:0;padding-left:0}.navAccount{width:100%;justify-content:flex-end;padding-top:12px;border-top:1px solid #edf1ed}.accountIdentity{margin-right:auto}.teamNav{padding:14px 17px;gap:12px}}
@media(max-width:700px){.teamNav{margin-bottom:18px}.metric{min-height:108px;padding:17px 18px}.brandWordmark{font-size:21px}.navAccount #signedInUser{font-size:11px}.roleBadge{font-size:9px}.authStory .brandWordmark{font-size:24px}}
@media(max-width:520px){.navIdentity{flex-wrap:wrap;gap:15px}.navPages{width:100%;justify-content:space-between;gap:4px}.navPages a{flex:1;text-align:center;padding:9px 10px;font-size:12px}.navAccount{gap:12px}.accountIdentity{gap:6px}.teamNav #logout{padding:7px 9px}.passwordLink{font-size:11px}}

/* Approved XuFeng wordmark: text only. */
.brandHome{min-height:36px;padding:2px 0}.brandWordmark{font-size:23px;letter-spacing:-.95px}.authStory .brandHome{min-height:42px}.authStory .brandWordmark{font-size:27px;letter-spacing:-1px}
@media(max-width:700px){.brandWordmark{font-size:22px}.authStory .brandWordmark{font-size:25px}}

/* Shared workspace: compact navigation and a focused logistics connection pane. */
.trackingConnectionForm{max-width:680px;margin-top:28px}
.trackingConnectionForm>label{display:flex;flex-direction:column;gap:10px;font-weight:600}
.trackingConnectionForm input{width:100%;font-family:inherit}
.trackingAdminLinks{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line,#dce6e0)}
.trackingConnectionFootnote{margin-top:18px;font-size:13px}
@media(max-width:760px){.navPages{flex-wrap:wrap}.trackingAdminLinks{gap:14px}}

/* API connections share one credential-card and warehouse-mapping layout. */
.apiConnectionPane .paneHeading{align-items:flex-start}
.apiConnectionPane .apiGuideLink{flex-shrink:0;margin-top:6px;font-size:12px;font-weight:550;color:var(--green);white-space:nowrap}
.apiConnectionPane .connections{gap:20px;align-items:stretch}
.apiConnectionPane .apiCredentialCard,
#onePortConnectionForm.apiCredentialCard,
#trackingConnectionForm.apiCredentialCard{display:flex;flex-direction:column;gap:0;min-width:0;margin:0;padding:0;border:1px solid #dfe8e2;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 8px #173f3103}
.apiConnectionPane .apiWideCard{width:100%;max-width:880px}
.apiConnectionPane .apiCardHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #e7ede9;background:#f8faf9;min-height:89px}
.apiConnectionPane .apiCardEyebrow{display:block;margin-bottom:6px;color:#8a9c90;font-size:10px;font-weight:600;letter-spacing:.6px;line-height:1.5}
.apiConnectionPane .apiCardHeader h3{margin:0;color:#2d4e3b;font-size:16px;line-height:1.4;font-weight:600}
.apiConnectionPane .apiConnectionStatus,
.apiConnectionPane .apiPurposeBadge{flex-shrink:0;display:inline-flex;align-items:center;max-width:48%;border:1px solid #e0e9e3;border-radius:6px;background:#eef4f0;color:#617e6b;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:0;padding:5px 8px;white-space:normal}
.apiConnectionPane .apiConnectionStatus:empty{display:none}
.apiConnectionPane .apiCardBody{display:grid;gap:18px;flex:1;padding:22px;min-width:0}
.apiConnectionPane .apiCardBody label{display:grid;gap:8px;min-width:0;color:#4e6959;font-size:12px;font-weight:550}
.apiConnectionPane .apiCardBody input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 13px;border:1px solid #d8e3dc;border-radius:8px;background:#fff;color:var(--ink);font-family:inherit;font-size:13px;font-weight:400;transition:border-color .15s,box-shadow .15s}
.apiConnectionPane .apiCardBody input::placeholder{color:#a1afa5;font-weight:400}
.apiConnectionPane .apiCardBody input:focus{outline:none;border-color:#6e9d80;box-shadow:0 0 0 3px #e8f1eb}
.apiConnectionPane .onePortCredentialFields{gap:18px}
.apiConnectionPane .apiCardFooter{display:grid;gap:12px;align-items:center;padding:16px 22px;background:#fbfcfb;border-top:1px solid #e7ede9}
.apiConnectionPane .apiCardFooter>.actions{margin:0;gap:10px}
.apiConnectionPane .apiCardFooter>button{justify-self:start}
.apiConnectionPane .apiCardFooter button{margin:0;min-height:40px;border-radius:8px}
.apiConnectionPane .apiPrivacyNote{display:flex;align-items:center;gap:8px;margin:12px 0 26px;color:#82968a;font-size:11px;line-height:1.7}
.apiConnectionPane .apiPrivacyNote:before{content:'';width:5px;height:5px;background:#93aa9b;border-radius:50%;flex-shrink:0}
.apiConnectionPane .apiFormHint,
#onePortConnectionForm .apiFormHint{margin:0;color:#83968a;font-size:12px;line-height:1.75;font-weight:400}
.apiConnectionPane .apiFeedback,
#onePortConnectionForm .apiFeedback{margin:0;font-size:12px;line-height:1.7;color:#557962;overflow-wrap:anywhere}
.apiConnectionPane .apiFeedback:empty{display:none}
.apiConnectionPane .apiConnectionDetails{border-top:1px dashed #e3eae5;padding-top:14px;color:#7a8e81;font-size:11px;line-height:1.8}
.apiConnectionPane .apiConnectionDetails summary{cursor:pointer;width:fit-content;font-weight:500;color:#5f7e69}
.apiConnectionPane .apiConnectionDetails p,
#onePortConnectionForm .apiConnectionDetails p{margin:10px 0 0;font-size:11px;line-height:1.8}
.apiConnectionPane .apiEndpoint{overflow-wrap:anywhere}
.apiConnectionPane .apiMappingSection{display:block;margin:26px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
.apiConnectionPane .apiSectionHeading h3{font-size:15px;margin:0;color:#2d4e3b;font-weight:600}
.apiConnectionPane .apiSectionHeading p{font-size:12px;color:#84958a;line-height:1.8;margin:7px 0 0}
.apiConnectionPane .apiMappingSection .warehouses{gap:18px;margin:20px 0}
.apiConnectionPane .apiMappingSection label{font-size:12px;font-weight:550;gap:8px}
.apiConnectionPane .apiMappingSection select{min-height:43px;width:100%;min-width:0;border-radius:8px;font-size:12px;background-color:#fbfcfb}
.apiConnectionPane .apiMappingActions{margin:0;align-items:center;gap:12px}
.apiConnectionPane .apiMappingActions a{margin-left:auto;font-size:12px}
.apiConnectionPane .apiMappingSection>.apiFeedback{margin-top:14px}
.apiConnectionPane #disconnect{margin-left:auto;background:#fff;color:#a27763;border-color:#eadfd7}
.apiConnectionPane #disconnect:hover{background:#fcf7f3;border-color:#d7baaa}
.apiConnectionPane .apiReadPreview{margin-top:27px;border:1px solid #e4ebe6;border-radius:9px;background:#fafcfb;font-size:12px;color:#6f8778;overflow:hidden}
.apiConnectionPane .apiReadPreview>summary{padding:14px 17px;cursor:pointer;font-weight:550}
.apiConnectionPane .apiReadPreview[open]>summary{border-bottom:1px solid #e5ece7}
.apiConnectionPane #onePortConnectionResult{padding:0 17px}
.apiConnectionPane .connectionReadResult{border-top:0;margin-top:0;padding:18px 0;font-size:12px}
.apiConnectionPane #onePortConnectionResult>.muted{margin:17px 0;font-size:12px;line-height:1.7}
.apiConnectionPane .apiNextStep{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:880px;margin-top:26px;padding:24px 0 0;border-top:1px solid var(--line)}
.apiConnectionPane .apiNextStep h3{margin:0;color:#405e4b;font-size:14px;font-weight:600}
.apiConnectionPane .apiNextStep p{margin:8px 0 0;color:#84958a;font-size:12px;line-height:1.8}
.apiConnectionPane .apiNextStep>a{flex-shrink:0;font-size:12px;font-weight:550}
@media(max-width:1100px){.apiConnectionPane .apiCardHeader{align-items:flex-start;flex-wrap:wrap;gap:10px}.apiConnectionPane .apiConnectionStatus,.apiConnectionPane .apiPurposeBadge{max-width:100%}}
@media(max-width:900px){.apiConnectionPane .apiCardHeader{flex-wrap:nowrap;align-items:center}.apiConnectionPane .apiConnectionStatus,.apiConnectionPane .apiPurposeBadge{max-width:48%}.apiConnectionPane .apiMappingSection .warehouses{grid-template-columns:1fr}.apiConnectionPane .apiMappingActions{align-items:flex-start}.apiConnectionPane .apiMappingActions a{margin-left:0}.apiConnectionPane .apiNextStep{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:700px){.apiConnectionPane .apiCardHeader{padding:18px;min-height:80px}.apiConnectionPane .apiCardBody{padding:18px;gap:16px}.apiConnectionPane .apiCardFooter{padding:15px 18px}.apiConnectionPane .paneHeading .apiGuideLink{margin-top:0}.apiConnectionPane .onePortCredentialFields{grid-template-columns:1fr;gap:16px}.apiConnectionPane .apiMappingSection{padding-top:20px}.apiConnectionPane #disconnect{margin-left:0}}

/* Account access uses the same compact card and field rhythm as API connections. */
.accessOverview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;font-size:12px}.accessOverview>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.accessLabel{color:#819587;margin-right:4px}.baseAccessTag{background:#edf5ef;color:#47745a;border-radius:5px;padding:5px 9px;font-size:11px}.accessOverview>a{white-space:nowrap;font-size:12px}.createUserDisclosure{border:1px solid #dfe9e2;border-radius:10px;margin-bottom:26px;overflow:hidden}.createUserDisclosure>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:17px 19px;list-style:none;color:#365e46;font-size:13px;font-weight:600;background:#f7faf8}.createUserDisclosure>summary::-webkit-details-marker{display:none}.createUserToggle:after{content:'＋';font-size:17px;font-weight:400}.createUserDisclosure[open] .createUserToggle:after{content:'−'}.createUserDisclosure>summary:hover{background:#eef5f0}.createUserDisclosure>summary:focus-visible{outline:2px solid #75a28a;outline-offset:-3px}#createUser.accountForm{display:block;border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:20px;background:#fff}.accountCredentials{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px;gap:16px}.accountCredentials input,.accountCredentials select{width:100%;min-width:0;min-height:42px;font-size:13px}.accountCredentials label{font-size:12px}.newUserPermissions{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-top:22px}.newUserPermissions fieldset{margin:0;border:1px solid #e3ebe5;border-radius:8px;min-width:0;padding:14px 16px 16px}.newUserPermissions legend{padding:0 6px;color:#809386;font-size:11px}.permissionChoice{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;color:#365b43;margin:0;cursor:pointer}.permissionChoice input[type=checkbox]{width:15px;height:15px;min-height:0;flex-shrink:0;margin:0;accent-color:#26634d}.permissionChoice:has(input:disabled){cursor:default}.permissionChoice input:disabled+span{color:#839589}.newUserOperationOptions{display:flex;gap:14px 24px;flex-wrap:wrap}.permissionHint{display:block;font-size:10px;color:#8d9d92;line-height:1.7;margin-top:7px}.newUserFooter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.newUserFooter button{margin-left:auto}.adminPermissionNote{display:block;font-size:10px;color:#789280;line-height:1.7;margin-top:8px}.adminPermissionNote[hidden]{display:none}.usersTableHeading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 14px}.usersTableHeading h3{font-size:14px;font-weight:600;color:#365e46;margin:0}.usersTableHeading>span{font-size:11px;color:#8b9c90}.usersTable table{min-width:820px;table-layout:fixed}.usersTable th{padding:14px;font-size:11px}.usersTable th:nth-child(1){width:21%}.usersTable th:nth-child(2){width:21%}.usersTable th:nth-child(3){width:24%}.usersTable th:nth-child(4){width:19%}.usersTable th:nth-child(5){width:15%}#users td{vertical-align:top;white-space:normal;padding:20px 14px}#users .userName{font-size:13px;font-weight:600;color:#2c513b;line-height:1.6;overflow-wrap:anywhere;margin-bottom:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.userSelfBadge{font-size:10px;padding:1px 5px;border:1px solid #dbe7df;border-radius:4px;color:#70917c;background:#f1f6f2}#users .userRole{min-height:34px;padding:6px 9px;width:125px;max-width:100%;font-size:11px;background-color:#fafcfb}#users .userOperationPermissions{gap:14px;padding-top:3px}#users .userRowActions{display:grid;gap:7px;justify-items:stretch}#users .userRowActions button{margin:0;white-space:nowrap;min-height:33px;border-radius:6px;font-size:11px}#users .userResetButton{background:transparent;border-color:transparent;color:#829588}#users .userResetButton:hover{background:#f3f7f4;color:#36664a}.permissionFootnote{font-size:11px!important;color:#8a9c90;margin:14px 0 0}.usersTable .permissionHint{max-width:150px}
@media(max-width:1000px){.accountCredentials{grid-template-columns:1fr 1fr}.accountCredentials>label:last-child{grid-column:1/-1;max-width:200px}.newUserPermissions{grid-template-columns:1fr}.newUserOperationOptions{gap:16px}.usersTable{overflow-x:auto}}
@media(max-width:600px){.accessOverview{align-items:flex-start;flex-direction:column;gap:11px}.accessLabel{width:100%;margin-bottom:2px}#createUser.accountForm{padding:16px}.accountCredentials{grid-template-columns:1fr;gap:14px}.accountCredentials>label:last-child{max-width:none}.newUserPermissions{gap:13px}.newUserOperationOptions{flex-direction:column;gap:12px}.newUserFooter{align-items:flex-start;flex-direction:column}.newUserFooter button{width:100%;margin:0}.usersTableHeading{align-items:flex-start;flex-direction:column;gap:5px}}
/* Inventory update controls belong with the warehouse connection settings. */
.inventoryRefreshSettings .refreshSettingsActions{margin-top:18px}
.inventoryRefreshSettings #saveAutoRefresh{margin-top:0}
.inventoryRefreshSettings #adminRefreshAction{display:inline-flex}
.inventoryRefreshSettings #refresh{background:#fff;border-color:#d7e2da;color:#355e48}
.inventoryRefreshSettings #refresh:hover{background:var(--tint);border-color:#a7c4b1}
.inventoryRefreshSettings #refresh:disabled{background:#eef0ef;color:#7c8680;border-color:#e0e5e2}
/* Keep navigation evenly aligned when the available width changes. */
@media(max-width:520px){
  .navPages{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:4px;justify-content:initial}
  .navPages a{min-width:0;flex:none;padding:9px 6px}
}

/* ICP registration link */
.icp-link{color:#73877a;text-decoration:none;white-space:nowrap}.icp-link:hover{text-decoration:underline}.authBody{align-content:center;gap:0}.authBody .authIcp{border:0;justify-content:center;margin:0;padding:16px 0 0;letter-spacing:0;font-size:12px}
@media(max-width:600px){footer{flex-wrap:wrap}.icp-link{white-space:normal}}
