:root{--ink:#162520;--muted:#6d7974;--line:#dfe6e2;--paper:#f5f7f5;--white:#fff;--green:#174f3b;--mint:#dcece5;--gold:#b68a3a;--red:#b64b4b;--shadow:0 16px 42px rgba(22,37,32,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#102b22;color:#fff;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 22px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #6c9888;border-radius:12px;color:#d9b970;font-family:serif;font-size:22px}.brand strong,.brand small,.operator strong,.operator small{display:block}.brand small{color:#91aaa1;margin-top:4px;font-size:12px}.nav{display:grid;gap:4px;overflow-y:auto;padding-right:3px}.nav-item{border:0;background:transparent;color:#b7c9c2;border-radius:10px;padding:11px 14px;text-align:left;cursor:pointer;transition:.2s;flex-shrink:0}.nav-item span{display:inline-block;width:27px}.nav-item:hover,.nav-item.active{background:#21473a;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #d2ad61}.boundary-note{margin-top:auto;border-top:1px solid #315045;padding:18px 10px 4px;display:flex;gap:10px;align-items:center}.boundary-note strong,.boundary-note small{display:block}.boundary-note strong{font-size:13px}.boundary-note small{font-size:11px;color:#91aaa1;margin-top:3px}.safe-dot{width:9px;height:9px;background:#6ed39c;border-radius:50%;box-shadow:0 0 0 5px rgba(110,211,156,.1);flex:0 0 auto}
.main{margin-left:244px;width:calc(100% - 244px)}.topbar{height:96px;padding:0 clamp(22px,4vw,58px);background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar h1{font-family:"Songti SC",serif;font-size:24px;margin:3px 0}.eyebrow{letter-spacing:.15em;color:#80908a;font-size:10px;font-weight:700;margin:0}.operator{display:flex;align-items:center;gap:10px}.operator strong{font-size:13px}.operator small{font-size:11px;color:var(--muted);margin-top:3px}.avatar{width:38px;height:38px;background:var(--mint);color:var(--green);display:grid;place-items:center;border-radius:50%;font-weight:700}.content{padding:34px clamp(22px,4vw,58px) 60px;max-width:1600px;margin:auto}.menu-toggle{display:none}
.hero{background:linear-gradient(120deg,#173d31,#1c5944);color:#fff;border-radius:18px;padding:38px 42px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:17%;top:-130px}.hero h2{font-family:"Songti SC",serif;font-size:28px;margin:8px 0}.hero p:not(.eyebrow){color:#bcd0c8;margin:0;max-width:680px}.btn{border:0;border-radius:9px;padding:11px 17px;cursor:pointer;font-weight:600}.btn:disabled,.mini-btn:disabled{opacity:.5}.primary{background:#d5ad62;color:#18231f}.secondary{background:#edf1ef;color:var(--ink);border:1px solid var(--line)}.hero .primary{z-index:1;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 6px 20px rgba(22,37,32,.035)}.metric p{font-size:13px;color:var(--muted);margin:0 0 10px}.metric strong{display:block;font-family:Georgia,serif;font-size:31px}.metric small{display:block;color:#8b9692;margin-top:5px}.metric.danger{border-top:3px solid #c77665}.two-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}.panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 8px 25px rgba(22,37,32,.035)}.panel-head,.page-actions{display:flex;justify-content:space-between;align-items:center}.panel h2{font-family:"Songti SC",serif;font-size:20px;margin:6px 0}.text-btn{background:none;border:0;color:var(--green);cursor:pointer}.activity{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid #edf0ee}.activity>div{flex:1}.activity strong{font-size:14px}.activity p{font-size:12px;color:var(--muted);margin:4px 0}.activity-mark{width:9px;height:9px;background:var(--gold);border-radius:50%}.focus-panel{background:#faf8f2}.boundary-row{border-top:1px solid #e7e1d3;padding:16px 0;display:grid;grid-template-columns:80px 1fr;font-size:13px}.boundary-row span{color:var(--muted)}
.page-actions{margin-bottom:18px}.page-actions p{margin:0 0 5px;font-weight:700}.page-actions small{color:var(--muted)}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th{background:#f7f9f8;text-align:left;color:#7b8782;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:14px 18px;border-bottom:1px solid var(--line)}td{padding:16px 18px;border-bottom:1px solid #edf0ee;font-size:13px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td small{color:var(--muted);margin-top:5px}.right{text-align:right}.summary{max-width:360px;color:var(--muted)}.status{display:inline-block;font-size:11px;font-weight:700;padding:5px 9px;border-radius:999px}.status.good{background:#e0f1e8;color:#297250}.status.bad{background:#f6e4e4;color:#a23c3c}.status.warn{background:#f7ecd2;color:#906918}.status.info{background:#e5ecef;color:#42626e}.mini-btn{border:1px solid #cfd9d5;background:#fff;color:var(--green);padding:6px 9px;border-radius:6px;cursor:pointer;margin-left:5px;font-size:11px}.muted{color:#9aa39f;font-size:12px}
.empty,.error-state,.loading{text-align:center;padding:70px 20px;color:var(--muted)}.empty span,.error-state span{display:grid;place-items:center;margin:auto;width:48px;height:48px;border-radius:50%;background:#eef2f0;color:var(--green);font-size:24px}.empty h3,.error-state h2{color:var(--ink);margin:14px 0 6px}.empty p,.error-state p{margin:0 0 18px}.loading span{display:block;width:27px;height:27px;border:3px solid #dce5e1;border-top-color:var(--green);border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.modal{position:fixed;inset:0;display:none;z-index:50}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(5,20,15,.55);backdrop-filter:blur(3px)}.modal-card{position:absolute;right:0;top:0;bottom:0;width:min(720px,100%);background:#fff;padding:30px;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.15)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px}.modal-head h2{font-family:"Songti SC",serif;margin:6px 0 0}.icon-btn{border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--muted)}.form-section{padding:22px 0;border-bottom:1px solid var(--line)}.form-section h3{font-size:14px;margin:0 0 16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:12px;color:#52615b;font-weight:600}.form-grid input,.form-grid select{display:block;width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:8px;padding:11px 12px;background:#fbfcfb;color:var(--ink);outline:0}.form-grid input:focus,.form-grid select:focus{border-color:#5a8d79;box-shadow:0 0 0 3px rgba(90,141,121,.12)}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:22px}.notice{position:fixed;top:110px;right:30px;z-index:80;background:#214b3d;color:#fff;padding:12px 18px;border-radius:9px;box-shadow:var(--shadow);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.2s}.notice.show{opacity:1;transform:none}.notice.error{background:#a84a4a}
@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.hero{padding:30px}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.25s;box-shadow:20px 0 50px rgba(0,0,0,.2)}.sidebar.open{transform:none}.main{margin-left:0;width:100%}.menu-toggle{display:block;margin-right:12px}.topbar{height:82px;justify-content:flex-start}.topbar .operator{margin-left:auto}.topbar .eyebrow{display:none}.content{padding:20px 16px 45px}.hero{display:block}.hero .btn{margin-top:22px}.hero h2{font-size:23px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:25px}.form-grid{grid-template-columns:1fr}.modal-card{padding:22px}.page-actions{align-items:flex-end}.operator div{display:none}}
.form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:8px;padding:11px 12px;background:#fbfcfb;color:var(--ink);outline:0;resize:vertical}.form-grid textarea:focus{border-color:#5a8d79;box-shadow:0 0 0 3px rgba(90,141,121,.12)}.wide-field{grid-column:1/-1}.compact-modal{width:min(620px,100%)}.danger-btn{color:var(--red);border-color:#e4caca}.action-cell{white-space:nowrap}
.action-field[hidden]{display:none}.form-hint{margin:0 0 18px;padding:12px 14px;border-radius:8px;background:#f2f6f4;color:#52615b;font-size:13px;line-height:1.6}.qc-cell{min-width:180px;max-width:280px}.qc-cell strong{line-height:1.45}.issue-text{color:var(--red);line-height:1.45}.action-cell .danger-btn,[data-action="reject"]{color:var(--red);border-color:#e4caca}
@media(max-width:720px){.wide-field{grid-column:auto}.page-actions{gap:15px}.page-actions .btn{white-space:nowrap}}
.button-row{display:flex;align-items:center;gap:9px}.compact-metrics{margin-top:0}.production-grid,.inventory-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:start}.subpanel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.subpanel-head h2{margin:5px 0 0}.legend{font-size:11px;color:var(--muted);padding:5px 9px;border-radius:999px;background:#f0f4f2}.boundary-banner{display:flex;align-items:center;gap:14px;padding:15px 18px;margin-bottom:18px;border:1px solid #b9d7c9;border-radius:12px;background:#edf7f1;color:#285a46}.boundary-banner strong{font-size:13px}.boundary-banner p{margin:3px 0 0;color:#5e766c;font-size:12px}.pending-panel{margin-bottom:18px}.positive-number{color:#277554}.negative-number{color:#b64b4b}.production-action-field[hidden],.quality-action-field[hidden]{display:none}
@media(max-width:1150px){.production-grid,.inventory-grid{grid-template-columns:1fr}.compact-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.button-row{width:100%;justify-content:flex-end}.page-actions{flex-wrap:wrap}.compact-metrics{grid-template-columns:1fr 1fr}.subpanel-head{padding:17px 18px}}
.role-switcher{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:600}.role-switcher select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 28px 8px 10px;color:var(--ink);font-weight:700}.list-toolbar{display:flex;gap:10px;margin:-4px 0 16px}.list-toolbar select,.search-box{height:42px;border:1px solid var(--line);border-radius:10px;background:#fff}.list-toolbar select{padding:0 34px 0 12px;color:var(--ink)}.search-box{display:flex;align-items:center;gap:8px;padding:0 12px;min-width:min(420px,100%)}.search-box span{font-size:20px;color:var(--muted)}.search-box input{border:0;outline:0;width:100%;background:transparent}.role-todos{margin:22px 0}.todo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.todo-card{border:1px solid var(--line);background:#fafcfb;border-radius:12px;padding:15px;text-align:left;cursor:pointer;display:grid;grid-template-columns:28px 1fr;gap:2px 9px;align-items:center}.todo-card span{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-weight:700}.todo-card strong{font-size:13px}.todo-card small{color:var(--muted)}.section-title-row{display:flex;align-items:center;justify-content:space-between}.section-title-row h3{margin:0}.line-items{display:grid;gap:10px}.line-item{display:grid;grid-template-columns:2fr .7fr .9fr 34px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfb}.line-item label{font-size:12px;color:#52615b;font-weight:600}.line-item input,.line-item select{display:block;width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:8px;padding:10px;background:#fff}.remove-line{height:39px;color:var(--red)}.amount-preview{text-align:right;margin-top:14px;color:var(--muted)}.amount-preview strong{font-size:20px;color:var(--green);margin-left:10px}.diff-preview{padding:13px;border:1px dashed #b9cfc5;border-radius:9px;background:#f5faf7;color:#52615b;font-size:12px;line-height:1.7}.detail-body{padding:22px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafcfb}.detail-item span,.detail-item strong{display:block}.detail-item span{font-size:11px;color:var(--muted);margin-bottom:7px}.detail-section-title{margin:26px 0 12px;font-size:14px}.sku-grid{display:grid;gap:10px}.sku-card{border:1px solid var(--line);border-radius:10px;padding:14px}.sku-card>div{display:flex;align-items:center;justify-content:space-between}.sku-card p{color:var(--muted);font-size:12px}.detail-lines{border:1px solid var(--line);border-radius:10px;overflow:hidden}.detail-lines>div{display:grid;grid-template-columns:1.6fr 1fr .7fr;gap:10px;padding:13px;border-bottom:1px solid var(--line);font-size:13px}.detail-lines>div:last-child{border-bottom:0}.detail-lines b{text-align:right}.detail-note{margin-top:16px;padding:14px;background:#f5f7f5;border-radius:10px}.detail-note p{margin:7px 0 0;color:var(--muted);line-height:1.6}.truncate-id{font-family:monospace}.confirm-card{top:50%;bottom:auto;right:50%;transform:translate(50%,-50%);border-radius:16px;max-height:90vh}.confirm-card .form-section{border-bottom:0}.mini-btn:focus,.btn:focus,.nav-item:focus{outline:3px solid rgba(90,141,121,.25);outline-offset:2px}
@media(max-width:1000px){.todo-grid{grid-template-columns:repeat(2,1fr)}.operator{gap:6px}.role-switcher span{display:none}}
@media(max-width:720px){.role-switcher select{max-width:92px}.list-toolbar{display:grid;grid-template-columns:1fr}.search-box{min-width:0}.todo-grid{grid-template-columns:1fr 1fr}.line-item{grid-template-columns:1fr 1fr}.line-item label:first-child{grid-column:1/-1}.line-item .remove-line{grid-column:2;justify-self:end}.detail-grid{grid-template-columns:1fr}.table-wrap{overflow:visible;padding:10px}.table-wrap table{min-width:0;display:block}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{display:grid;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px;box-shadow:0 4px 14px rgba(22,37,32,.04)}.table-wrap td{display:block;border:0;padding:7px 9px}.table-wrap td.action-cell,.table-wrap td.right{position:sticky;right:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px;background:#f6f9f7;border-radius:8px;margin-top:3px}.action-cell .mini-btn{margin:0}.confirm-card{width:calc(100% - 28px);right:14px;transform:translateY(-50%)}.detail-lines>div{grid-template-columns:1fr}.detail-lines b{text-align:left}.modal-card{padding-bottom:max(22px,env(safe-area-inset-bottom))}}
.nav-item .nav-label{display:inline;width:auto}
.module-tabs{display:flex;gap:8px;margin:0 0 20px;padding:5px;background:#eaf0ed;border:1px solid var(--line);border-radius:12px;overflow-x:auto}.module-tab{border:0;background:transparent;color:#60716a;border-radius:8px;padding:9px 14px;white-space:nowrap;cursor:pointer;font-size:12px;font-weight:700}.module-tab:hover{background:rgba(255,255,255,.65);color:var(--green)}.module-tab.active{background:#fff;color:var(--green);box-shadow:0 2px 9px rgba(22,37,32,.08)}.todo-card span{font-size:12px}.risk-text,.data-anomaly{color:var(--red)!important;font-weight:700}.data-anomaly{display:block;margin-top:7px;padding-left:8px;border-left:3px solid var(--red);line-height:1.4}
@media(max-width:720px){.module-tabs{margin-bottom:15px}.module-tab{padding:8px 11px}}
.purchase-sku-search{display:block;margin:12px 0;color:#52615b;font-size:12px;font-weight:600}.purchase-sku-search input{display:block;width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:8px;padding:10px 12px;background:#fbfcfb;color:var(--ink);outline:0}.purchase-sku-search input:focus{border-color:#5a8d79;box-shadow:0 0 0 3px rgba(90,141,121,.12)}
.batch-sku-picker{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.batch-sku-picker label{font-size:12px;color:#52615b;font-weight:600}.batch-sku-picker select{display:block;width:100%;margin-top:7px;min-height:126px;border:1px solid #d5ded9;border-radius:8px;padding:7px;background:#fff}.batch-sku-picker small{display:block;margin-top:6px;color:var(--muted);font-weight:400}.batch-sku-picker .mini-btn{margin-bottom:24px;white-space:nowrap}@media(max-width:720px){.batch-sku-picker{grid-template-columns:1fr}.batch-sku-picker .mini-btn{margin-bottom:0}}

/* Purchase request: direct, modifier-free multi-SKU selection. */
#purchaseModal .form-section{padding:16px 0}#purchaseModal .form-section h3{margin-bottom:10px}#purchaseModal .form-hint{margin:0 0 12px}.purchase-sku-search{display:block;font-size:12px;color:#52615b;font-weight:600}.purchase-sku-search input{display:block;width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:9px;padding:10px 12px;background:#fff}.purchase-sku-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:210px;overflow:auto;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.purchase-sku-choice{display:flex;align-items:flex-start;gap:9px;padding:9px;border:1px solid transparent;border-radius:8px;background:#fff;cursor:pointer}.purchase-sku-choice:hover{border-color:#b7cfc3}.purchase-sku-choice:has(input:checked){border-color:var(--green);background:#eef7f2}.purchase-sku-choice input{margin:3px 0 0;accent-color:var(--green)}.purchase-sku-choice span,.purchase-sku-choice strong,.purchase-sku-choice small{display:block;min-width:0}.purchase-sku-choice strong{font-size:12px;color:var(--ink)}.purchase-sku-choice small{margin-top:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-bom-hint{display:block;margin:7px 2px 14px;color:var(--muted)}.purchase-line-sku{align-self:center;min-width:0}.purchase-line-sku strong,.purchase-line-sku span,.purchase-line-sku small{display:block}.purchase-line-sku span{margin-top:3px;color:#52615b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-line-sku small{margin-top:4px;color:var(--muted)}.empty-inline{grid-column:1/-1;margin:10px;text-align:center;color:var(--muted)}
@media(max-width:720px){.purchase-sku-choices{grid-template-columns:1fr;max-height:190px}.purchase-line-sku{grid-column:1/-1}}
.creator-link-panel{display:grid;grid-template-columns:1fr minmax(360px,1.3fr);gap:24px;align-items:center;margin-bottom:14px}.creator-link-panel h2{margin:6px 0}.creator-link-panel small{color:var(--muted)}.creator-link-copy{display:grid;grid-template-columns:1fr auto auto;gap:8px}.creator-link-copy input{min-width:0;border:1px solid var(--line);border-radius:7px;padding:10px;background:#f7f9f8;color:#52615b}.creator-link-copy .btn{text-decoration:none;text-align:center;white-space:nowrap}.creator-metrics{grid-template-columns:repeat(3,1fr)}@media(max-width:800px){.creator-link-panel{grid-template-columns:1fr}.creator-link-copy{grid-template-columns:1fr auto}.creator-link-copy .secondary{grid-column:1/-1}.creator-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.creator-link-copy{grid-template-columns:1fr}.creator-link-copy .secondary{grid-column:auto}.creator-metrics{grid-template-columns:1fr 1fr}.creator-metrics .metric:last-child{grid-column:1/-1}}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#102b22,#1c5944)}.login-screen[hidden],.app-shell[hidden]{display:none}.login-card{width:min(420px,100%);padding:36px;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.24)}.login-card .brand-mark{margin-bottom:22px}.login-card h1{font-family:"Songti SC",serif;font-size:25px;margin:8px 0}.login-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.login-card label{display:block;margin-top:16px;color:#52615b;font-size:12px;font-weight:700}.login-card input{display:block;width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:9px;padding:12px}.login-card .btn{width:100%;margin-top:22px}.login-error{padding:10px 12px!important;background:#f8e7e7;color:var(--red)!important;border-radius:8px}.account-logout{white-space:nowrap}
.factory-field-hint{display:block;color:var(--muted);font-weight:400;line-height:1.4}.factory-field-hint.error{color:var(--red)}.unassigned-factory{display:block;margin-top:6px;color:var(--red);font-size:11px;font-weight:700}.admin-fix-link{margin:5px 0 0!important}
.factory-mapping-panel{margin-top:18px}.factory-mapping-panel .form-hint{margin:8px 0 0}.factory-mapping-select{min-width:220px;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;color:var(--ink)}
.sample-file-info{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#f7faf8}.sample-file-info[hidden]{display:none}.sample-file-info strong,.sample-file-info small{display:block}.sample-file-info small{margin-top:4px;color:var(--muted)}
.bridge-connection,.bridge-search-panel,.bridge-import-panel{margin-bottom:18px}.bridge-connection h2{margin:6px 0}.bridge-connection p{color:var(--muted)}.bridge-search{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:12px;align-items:end;padding:20px 24px}.bridge-search label,.bridge-local-action label{font-size:12px;color:#52615b;font-weight:700}.bridge-search input,.bridge-search select,.bridge-local-action select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:8px;padding:11px;background:#fff}.bridge-results{padding:0 24px 24px}.bridge-product-card{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:14px;background:#fbfcfb}.bridge-product-card h3{margin:14px 0 5px}.bridge-product-card>p{color:var(--muted);font-size:12px}.bridge-product-head{display:flex;align-items:center;justify-content:space-between}.bridge-differences{display:grid;gap:8px}.bridge-differences>div{display:grid;grid-template-columns:160px 1fr 1fr;gap:10px;padding:10px;border-radius:8px;background:#f1f5f3;font-size:12px}.bridge-local-action{display:grid;grid-template-columns:minmax(220px,340px) auto 1fr;gap:14px;align-items:end;padding:20px 24px}.bridge-local-action small{color:var(--muted);align-self:center}.compact-empty{padding:20px}
@media(max-width:800px){.bridge-search,.bridge-local-action{grid-template-columns:1fr}.bridge-differences>div{grid-template-columns:1fr}.bridge-local-action small{align-self:auto}}
.bridge-product-summary{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:start;margin-top:14px}.bridge-product-summary img,.bridge-image-placeholder{width:100px;height:100px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:#f0f3f1}.bridge-image-placeholder{display:grid;place-items:center;color:var(--muted);font-size:12px}.bridge-product-summary h3{margin:0 0 7px}.douyin-product-import-form{padding:24px}.douyin-product-import-form>h3{margin:26px 0 12px}.douyin-import-skus{display:grid;gap:12px}.douyin-import-skus fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fafcfb}.douyin-import-skus fieldset>p{color:var(--muted);font-size:12px}.sku-import-toggle{font-weight:700;color:var(--green)}
@media(max-width:600px){.bridge-product-summary{grid-template-columns:72px 1fr}.bridge-product-summary img,.bridge-image-placeholder{width:72px;height:72px}}
.bridge-degraded{margin:14px 0;border-color:#e2c98e;background:#fff8e8;color:#795d20}.bridge-read-errors{margin:12px 0;padding:10px 12px;border-radius:8px;background:#f8eaea;color:var(--red);font-size:12px}
.admin-inline-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0 22px 22px;
}

.admin-inline-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
}

.admin-inline-form .btn {
  align-self: end;
  justify-self: start;
}
.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:42px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:var(--green);cursor:pointer;font-size:18px;line-height:1}.password-toggle:hover{background:#edf3f0}.password-toggle:focus{outline:3px solid rgba(90,141,121,.25)}

@media (max-width: 760px) {
  .admin-inline-form { grid-template-columns: 1fr; }
}
.ai-review-list{display:grid;gap:10px;margin:16px 0}.ai-review-row{display:grid;grid-template-columns:auto 1fr 1.4fr;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafcfb;cursor:pointer}.ai-review-row input{width:18px;height:18px}.ai-review-row span,.ai-review-row strong,.ai-review-row small{display:block}.ai-review-row small{margin-top:5px;color:var(--muted);line-height:1.45}
@media(max-width:760px){.ai-review-row{grid-template-columns:auto 1fr}.ai-review-row span:last-child{grid-column:2}}
[hidden]{display:none!important}
.ai-assistant-fab{position:fixed;right:28px;bottom:28px;z-index:44;width:58px;height:58px;border:0;border-radius:18px;background:linear-gradient(145deg,#174f3b,#26765a);color:#fff;box-shadow:0 14px 34px rgba(23,79,59,.32);cursor:pointer;font-weight:800}.ai-assistant-fab span{font-family:Georgia,serif;font-size:18px}.ai-assistant-fab b{position:absolute;right:-5px;top:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#c5534f;color:#fff;display:grid;place-items:center;font-size:11px;border:2px solid #fff}.ai-assistant-panel{position:fixed;right:24px;bottom:98px;z-index:45;width:min(430px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 125px));background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(8,35,25,.22);display:none;grid-template-rows:auto auto minmax(150px,1fr) auto auto;overflow:hidden}.ai-assistant-panel.open{display:grid}.ai-assistant-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 15px;border-bottom:1px solid var(--line)}.ai-assistant-panel h2{font-family:"Songti SC",serif;font-size:19px;margin:5px 0 0}.ai-assistant-boundary{padding:10px 16px;background:#eef6f2;color:#527064;font-size:11px}.ai-chat{padding:16px;overflow:auto;display:grid;gap:10px;align-content:start;background:#fafcfb}.ai-message{max-width:88%;padding:11px 13px;border-radius:12px;font-size:13px;line-height:1.65;white-space:pre-wrap}.ai-message.assistant{background:#edf3f0;color:#274a3c;border-bottom-left-radius:4px}.ai-message.user{justify-self:end;background:#1d5843;color:#fff;border-bottom-right-radius:4px}.ai-message.error{background:#f8e7e7;color:var(--red)}.ai-sources{display:grid;gap:6px;margin-top:8px}.ai-source{border:1px solid #dce6e1;background:#fff;border-radius:8px;padding:8px;text-align:left;color:var(--green);cursor:pointer;font-size:11px}.ai-reminder-suggestion{margin-top:9px;padding:10px;border:1px solid #e2c98e;background:#fff8e8;border-radius:9px}.ai-reminder-suggestion button{margin-top:8px}.ai-reminders{border-top:1px solid var(--line);padding:12px 16px;max-height:180px;overflow:auto}.ai-reminder-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.ai-reminder-item{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:9px 0;border-top:1px solid #edf0ee}.ai-reminder-item:first-child{margin-top:7px}.ai-reminder-item strong{font-size:12px}.ai-reminder-item small{grid-column:1;color:var(--muted)}.ai-reminder-actions{grid-row:1/3;grid-column:2;display:flex;align-items:center}.ai-question-form{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px 16px;border-top:1px solid var(--line)}.ai-question-form textarea{resize:none;border:1px solid #d5ded9;border-radius:10px;padding:10px;outline:0}.ai-question-form textarea:focus{border-color:#5a8d79;box-shadow:0 0 0 3px rgba(90,141,121,.12)}.ai-question-form .btn{align-self:end}
@media(max-width:600px){.ai-assistant-fab{right:16px;bottom:16px}.ai-assistant-panel{right:8px;bottom:84px;width:calc(100vw - 16px);max-height:calc(100vh - 100px)}}

/* 0.7.0 · 精益数据台 */
:root{--ink:#17231e;--muted:#6b7771;--line:#e2e6e3;--paper:#f6f7f4;--white:#fff;--green:#0d4a36;--mint:#e3efe9;--gold:#c79636;--red:#b74848;--shadow:0 8px 28px rgba(20,43,34,.06)}
body{background:var(--paper);font-size:14px}
.sidebar{width:220px;padding:18px 12px 14px;background:#0b3024;border-right:1px solid rgba(255,255,255,.06)}
.brand{padding:2px 10px 17px;gap:10px}.brand-mark{width:36px;height:36px;border-radius:9px;font-size:18px}.brand strong{font-size:15px}.brand small{font-size:10px}
.nav{gap:2px;padding:0 3px 8px}.nav-section-label{margin:15px 10px 5px;color:#6f9385;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-section-label:first-child{margin-top:4px}
.nav-item{min-height:40px;padding:8px 10px;border-radius:7px;display:flex;align-items:center;gap:9px;font-size:13px}.nav-item .nav-icon{width:19px;font-size:19px;color:#87aa9c}.nav-item .nav-label{width:auto}.nav-item:hover{background:#164535}.nav-item.active{background:#18513d;box-shadow:inset 3px 0 #d1a54f}.nav-item.active .nav-icon{color:#e0bd70}
.boundary-note{padding:14px 10px 2px}.main{margin-left:220px;width:calc(100% - 220px)}
.topbar{height:68px;padding:0 26px;background:rgba(255,255,255,.96);display:grid;grid-template-columns:minmax(190px,auto) minmax(280px,560px) auto;gap:24px}.topbar h1{font-family:Inter,"PingFang SC",sans-serif;font-size:18px;line-height:1.2;margin:2px 0}.topbar .eyebrow{font-size:8px}.global-search{height:40px;border:1px solid #d9dfdb;border-radius:8px;background:#f8faf8;display:flex;align-items:center;gap:9px;padding:0 11px;color:var(--muted)}.global-search .material-symbols-rounded{font-size:19px}.global-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--ink)}.global-search kbd{border:1px solid #d8ded9;background:#fff;border-radius:5px;padding:2px 6px;font-size:10px;color:#87918c;box-shadow:0 1px 1px rgba(0,0,0,.04)}
.avatar{width:34px;height:34px;border-radius:9px}.operator{justify-self:end}.content{padding:24px 28px 52px;max-width:none}
.hero{padding:24px 28px;border:1px solid #d7e0db;border-radius:9px;background:#fff;color:var(--ink);box-shadow:none}.hero:after{display:none}.hero h2{font-family:Inter,"PingFang SC",sans-serif;font-size:22px}.hero p:not(.eyebrow){color:var(--muted)}.btn{min-height:40px;border-radius:7px;padding:9px 15px}.primary{background:var(--gold);color:#17231e}.secondary{background:#fff}
.module-tabs{margin:0 0 18px;padding:0 0 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;gap:2px}.module-tab{border-radius:6px;padding:8px 11px}.module-tab.active{background:var(--green);color:#fff;box-shadow:none}
.page-actions{margin-bottom:14px}.page-actions p{font-size:15px}.page-actions small{font-size:12px}.list-toolbar{margin:0 0 14px}.list-toolbar select,.search-box{height:40px;border-radius:7px}.search-box{min-width:min(460px,100%)}.search-box span{font-size:0}.search-box span:before{content:"search";font-family:"Material Symbols Rounded";font-size:19px}
.panel{border-radius:9px;padding:20px;box-shadow:none}.table-panel{padding:0}.table-wrap{max-height:calc(100vh - 260px)}table{min-width:900px}thead{position:sticky;top:0;z-index:2}th{padding:11px 15px;background:#f4f6f4;color:#64716b;font-size:10px;letter-spacing:.04em}td{padding:12px 15px;font-size:12px;line-height:1.45}tbody tr{transition:background .15s}tbody tr:hover{background:#f8faf8}td small{margin-top:3px;font-size:10px}.status{border-radius:5px;padding:4px 7px}.mini-btn{min-height:30px;margin-left:3px;padding:5px 7px;border-color:#d7ded9;border-radius:5px}.action-cell{white-space:normal;min-width:315px}.button-row{gap:7px}
.metrics{gap:12px;margin:16px 0}.metric{border-radius:8px;padding:17px;box-shadow:none}.metric strong{font-family:Inter,sans-serif;font-size:26px}.todo-card{border-radius:8px;background:#fff;padding:13px}.todo-card span{border-radius:6px}.two-columns{gap:14px}.role-todos{margin:16px 0}.focus-panel{background:#fbfaf6}
.modal-backdrop{background:rgba(8,24,18,.46);backdrop-filter:blur(1px)}.modal-card{width:min(680px,100%);padding:24px}.modal-head{padding-bottom:16px}.modal-head h2,.panel h2,.ai-assistant-panel h2{font-family:Inter,"PingFang SC",sans-serif}.modal-head h2{font-size:20px}.compact-modal{width:min(600px,100%)}#detailModal .modal-card{width:min(440px,100%)}.confirm-card{border-radius:10px}.form-section{padding:18px 0}.form-grid{gap:13px}.form-grid input,.form-grid select,.form-grid textarea{min-height:42px;border-radius:6px;background:#fff}.detail-item,.sku-card,.detail-lines{border-radius:7px;background:#fff}
.product-code-hint{margin:14px 0 0;color:var(--muted)}
.notice{top:82px;border-radius:7px}.ai-assistant-fab{width:52px;height:52px;border-radius:12px;background:var(--green)}.ai-assistant-panel{border-radius:10px}.login-screen{background:#0b3024}.login-card{border-radius:10px}.login-card h1{font-family:Inter,"PingFang SC",sans-serif}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(13,74,54,.2);outline-offset:2px}
@media(max-width:1100px){.topbar{grid-template-columns:auto minmax(220px,1fr) auto}.operator>div{display:none}}
@media(max-width:800px){.sidebar{width:220px}.main{margin-left:0;width:100%}.topbar{height:64px;padding:0 14px;grid-template-columns:auto 1fr auto;gap:8px}.menu-toggle{display:block}.page-heading .eyebrow,.operator>div,.global-search kbd{display:none}.global-search{min-width:0}.content{padding:18px 14px 42px}.table-wrap{max-height:none}.page-actions{align-items:flex-start}.button-row{overflow-x:auto;justify-content:flex-start}.modal-card{padding:20px}}
@media(max-width:560px){.topbar{grid-template-columns:auto 1fr auto}.global-search{display:none}.page-heading{min-width:0}.topbar h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-switcher{display:none!important}.content{padding:14px 10px 36px}.module-tabs{margin-bottom:14px}.metrics{grid-template-columns:1fr 1fr}.page-actions{display:grid}.page-actions .button-row{width:100%}.btn{min-height:42px}.table-wrap{padding:8px}.table-wrap tr{border-radius:7px;box-shadow:none}}
.global-search-submit{border:0;background:transparent;color:var(--muted);padding:0;cursor:pointer;display:grid;place-items:center}
