:root{--navy:#1F3864;--blue:#2E5FA3;--bg:#F4F6FA;--line:#D9DFE8;--ok:#2E7D32;--warn:#B26A00;--err:#C62828;--chip:#EAF0F8}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:#222;font-size:14px}
header{background:var(--navy);color:#fff;padding:10px 20px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:50}
header h1{font-size:17px;font-weight:600}
header .role-box{margin-left:auto;display:flex;gap:8px;align-items:center}
header select,header input{padding:5px 8px;border-radius:6px;border:none;font-size:13px}
.badge{background:#fff2;padding:3px 10px;border-radius:20px;font-size:12px}
nav{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:2px;padding:0 14px;position:sticky;top:46px;z-index:49;flex-wrap:wrap}
nav button{border:none;background:none;padding:11px 15px;font-size:14px;cursor:pointer;border-bottom:3px solid transparent;color:#555}
nav button.on{color:var(--navy);border-color:var(--navy);font-weight:600}
nav button:hover{background:#f6f8fb}
main{max-width:1180px;margin:18px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
.card h2{font-size:15px;color:var(--navy);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px 16px}
.field{display:flex;flex-direction:column;gap:4px}
.field label{font-size:12.5px;color:#444;font-weight:600}
.field label .req{color:var(--err)}
.field label .tip{color:#888;font-weight:400}
input[type=text],input[type=number],input[type=url],select,textarea{padding:7px 9px;border:1px solid var(--line);border-radius:6px;font-size:13.5px;width:100%;background:#fff}
textarea{resize:vertical;min-height:54px}
input:focus,select:focus,textarea:focus{outline:2px solid #B9CDEB;border-color:var(--blue)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{background:var(--chip);border:1px solid #C7D6EA;border-radius:16px;padding:4px 12px;font-size:12.5px;cursor:pointer;user-select:none}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pastebox{border:2px dashed #B9C6D9;border-radius:8px;min-height:92px;padding:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#8895a8;font-size:13px;cursor:text;background:#FAFCFF}
.pastebox:focus{outline:2px solid #B9CDEB}
.pastebox img{height:76px;border-radius:6px;border:1px solid var(--line)}
.pastebox .imgwrap{position:relative}
.pastebox .imgwrap .del{position:absolute;top:-6px;right:-6px;background:var(--err);color:#fff;border-radius:50%;width:18px;height:18px;line-height:16px;text-align:center;font-size:12px;cursor:pointer}
.btn{background:var(--navy);color:#fff;border:none;border-radius:7px;padding:9px 20px;font-size:14px;cursor:pointer}
.btn:hover{background:var(--blue)}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.btn.sm{padding:5px 12px;font-size:12.5px;border-radius:5px}
.btn.warn{background:var(--warn)}
.btn.err{background:var(--err)}
.btn.ok{background:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
th{background:#F0F4FA;color:var(--navy);white-space:nowrap}
.status{padding:2px 10px;border-radius:12px;font-size:12px;white-space:nowrap}
.s-draft{background:#eee;color:#666}.s-pending{background:#FFF3E0;color:var(--warn)}.s-approved{background:#E8F5E9;color:var(--ok)}.s-rejected{background:#FFEBEE;color:var(--err)}
.ai-note{background:#FFF8E1;border:1px solid #FFE082;border-radius:8px;padding:10px 12px;font-size:13px;margin:8px 0;line-height:1.7}
.ai-note.ok{background:#E8F5E9;border-color:#A5D6A7}
.formula-err{color:var(--err);font-size:12.5px}
.tier-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.tier-cell{border:1px solid var(--line);border-radius:8px;padding:8px;background:#FAFCFF}
.tier-cell b{display:block;font-size:12px;color:var(--navy);margin-bottom:4px}
.muted{color:#888;font-size:12.5px}
.hint{font-size:12px;color:#667;line-height:1.6;background:#F6F8FB;border-radius:6px;padding:8px 10px;margin-top:6px}
.wide{grid-column:1/-1}
.listing-name{font-weight:600;color:var(--navy)}
.kw{font-size:12px;color:#555}
.topbar-actions{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}
.size-w{display:flex;gap:8px;flex-wrap:wrap}
.size-w .sw{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px}
.size-w input{width:74px;text-align:center}
.empty{color:#99a;text-align:center;padding:34px;font-size:13.5px}
.login-mask{position:fixed;inset:0;background:var(--navy);display:flex;align-items:center;justify-content:center;z-index:100}
.login-card{background:#fff;border-radius:14px;padding:36px 42px;width:400px;text-align:center}
.login-card h1{color:var(--navy);font-size:20px;margin-bottom:6px}
.login-card p{color:#778;font-size:13px;margin-bottom:22px}
.login-card .field{text-align:left;margin-bottom:14px}
footer{text-align:center;color:#99a;font-size:12px;padding:20px}
@media(max-width:640px){.tier-row{grid-template-columns:repeat(2,1fr)}}
