:root{--bg:#eceae4;--card:#fff;--ink:#1c201b;--muted:#5f675b;--line:#d8dcd2;--green:#26362b;--lime:#d5ee7a;--err:#b3261e;--ok:#2e7d32}
@media(prefers-color-scheme:dark){:root{--bg:#141713;--card:#1e221d;--ink:#eef1e8;--muted:#a3ab9d;--line:#333a31;--green:#d5ee7a;--err:#ff8a80;--ok:#8bd48f}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
h1{font-size:22px;margin:0 0 6px}h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:16px 0 8px}
.muted{color:var(--muted)}.err{color:var(--err);min-height:1.2em}.ok{color:var(--ok)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
.login{max-width:360px;margin:12vh auto;display:grid;gap:12px}
.top{display:flex;align-items:center;gap:16px;padding:0 20px;height:54px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}
.top a{color:var(--muted);text-decoration:none;font-size:14px}.grow{flex:1}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav button{background:none;border:0;padding:8px 12px;border-radius:8px;font:inherit;color:var(--ink);cursor:pointer}
nav button[aria-current=true]{background:var(--green);color:var(--card)}
:root:not([data-x]) nav button[aria-current=true]{color:#fff}
@media(prefers-color-scheme:dark){nav button[aria-current=true]{color:#141713}}
main{padding:20px;max-width:1400px;margin:0 auto;padding-bottom:90px}
input,select,textarea,button{font:inherit}
input,select,textarea{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px;min-height:36px;width:100%}
input[type=checkbox]{width:auto;min-height:0}
label{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.btn{background:var(--green);color:#fff;border:0;border-radius:8px;padding:9px 18px;cursor:pointer;font-weight:600}
@media(prefers-color-scheme:dark){.btn{color:#141713}}
.btn:disabled{opacity:.5}
.ghost{background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:7px 12px;cursor:pointer}
.ghost.danger{color:var(--err)}
table{width:100%;border-collapse:collapse}
th,td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}
td input[type=number]{width:96px}td input[type=color]{width:46px;padding:2px;min-height:34px}
td.r,th.r{text-align:right}
.scroll{overflow-x:auto}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.pos{color:var(--ok);font-weight:600}.neg{color:var(--err);font-weight:600}
.savebar{position:fixed;left:0;right:0;bottom:0;background:var(--green);color:#fff;display:flex;gap:14px;align-items:center;justify-content:center;padding:12px;z-index:30}
@media(prefers-color-scheme:dark){.savebar{color:#141713}}
.savebar .btn{background:var(--lime);color:#1c201b}.savebar .ghost{color:inherit;border-color:currentColor}
/* 询价单 */
.req-wrap{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.req-list{display:grid;gap:8px;max-height:78vh;overflow:auto}
.req-item{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--ink)}
.req-item[aria-current=true]{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
.req-item small{display:block;color:var(--muted)}
.st{display:inline-block;font-size:12px;border-radius:999px;padding:1px 9px;background:var(--bg);border:1px solid var(--line)}
.st.new{background:var(--lime);color:#1c201b;border-color:var(--lime)}
.v3d{height:380px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#eef0ea}
.files{display:flex;flex-wrap:wrap;gap:10px}
.files a{display:block;border:1px solid var(--line);border-radius:8px;padding:6px;font-size:12px;max-width:150px;color:var(--ink);text-decoration:none;word-break:break-all}
.files img{display:block;width:138px;height:96px;object-fit:contain;background:var(--bg);margin-bottom:4px;border-radius:4px}
.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
@media(max-width:1000px){.req-wrap,.split{grid-template-columns:1fr}}
[hidden]{display:none!important}
