:root{--primary: #c8a24b;--primary-light: #ddbb6b;--primary-dark: #a8832f;--brown: #33261a;--brown-light: #4a3520;--bg: #f5f1e8;--card: #ffffff;--text: #2b2118;--text-secondary: #6b5d4f;--text-tertiary: #a89b8c;--border: #e9e0d2;--price: #d45500;--success: #00b42a;--warning: #ff7d00;--danger: #f53f3f;--radius: 14px;--shadow: 0 2px 12px rgba(0, 0, 0, .06);--gold-gradient: linear-gradient(135deg, #c8a24b 0%, #ddbb6b 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,sans-serif;background:var(--bg);color:var(--text);font-size:14px}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:linear-gradient(180deg,var(--brown) 0%,var(--brown-light) 100%);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:100}.sidebar-logo{padding:28px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo-icon{width:40px;height:40px;border-radius:50%;background:var(--gold-gradient);display:flex;align-items:center;justify-content:center;font-size:20px}.sidebar-logo-name{font-size:18px;font-weight:700;letter-spacing:1px}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:4px;color:#ffffffb3;text-decoration:none;font-size:14px;transition:all .2s ease;border-radius:10px}.nav-item:hover{background:#ffffff12;color:#fff;transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg,#c8a24b47,#c8a24b1a);color:#f0d9a8;box-shadow:inset 3px 0 0 var(--primary);font-weight:500}.nav-icon{font-size:18px;width:22px;text-align:center}.main{flex:1;margin-left:220px;display:flex;flex-direction:column;min-height:100vh}.topbar{height:60px;background:var(--card);display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:var(--shadow);position:sticky;top:0;z-index:50}.topbar-title{font-size:17px;font-weight:600}.topbar-user{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--gold-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.logout-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;padding:6px 10px;border-radius:6px;transition:all .2s}.logout-btn:hover{color:var(--danger);background:#f53f3f14}.content{padding:28px;flex:1}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:24px;animation:fadeInUp .35s ease;transition:box-shadow .25s ease}.card:hover{box-shadow:0 6px 20px #00000017}.card-title{font-size:16px;font-weight:600;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.stat-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001f}.stat-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold-gradient)}.stat-card:after{content:"";position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:50%;background:#c8a24b1a}.stat-label{color:var(--text-tertiary);font-size:13px}.stat-value{font-size:30px;font-weight:700;margin-top:8px;color:var(--text)}.stat-sub{margin-top:6px;font-size:12px;color:var(--text-tertiary)}.stat-value.gold{color:var(--price)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;background:linear-gradient(135deg,#faf6ec,#f5eedd);color:var(--text-secondary);font-size:13px;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--border)}td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}tr:hover td{background:#fdfaf4}.cell-img{width:44px;height:44px;border-radius:8px;object-fit:cover}.cell-product{display:flex;align-items:center;gap:12px}.cell-main{font-weight:500}.cell-sub{color:var(--text-tertiary);font-size:12px;margin-top:2px}.tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;white-space:nowrap}.tag-gold{background:#f9efd8;color:var(--primary-dark)}.tag-green{background:#e8f7ec;color:var(--success)}.tag-orange{background:#fff1e6;color:var(--warning)}.tag-red{background:#fdeeee;color:var(--danger)}.tag-gray{background:#f2f3f5;color:var(--text-tertiary)}.tag-blue{background:#e8f1fd;color:#165dff}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:hover{border-color:var(--primary);color:var(--primary-dark)}.btn-primary{background:var(--gold-gradient);border:none;color:#fff;font-weight:500;box-shadow:0 4px 12px #c8a24b4d}.btn-primary:hover{opacity:.9;color:#fff;transform:translateY(-1px)}.btn-danger{color:var(--danger)}.btn-danger:hover{border-color:var(--danger);background:#fdeeee}.btn-sm{padding:5px 12px;font-size:12px}.btn-row{display:flex;gap:10px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-item{display:flex;flex-direction:column;gap:6px}.form-item.full{grid-column:1 / -1}.form-item label{font-size:13px;color:var(--text-secondary);font-weight:500}.form-item input,.form-item select,.form-item textarea{padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;outline:none;transition:border-color .2s;background:#fff;font-family:inherit}.form-item input:focus,.form-item select:focus,.form-item textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c8a24b1f}.form-item textarea{resize:vertical;min-height:70px}.form-item input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.section-title{font-size:15px;font-weight:600;color:var(--text);padding-bottom:8px;border-bottom:1px solid var(--border);width:100%}.form-tip{font-size:12px;color:var(--text-secondary);line-height:1.7;padding:10px 14px;background:#c8a24b14;border:1px dashed rgba(200,162,75,.4);border-radius:10px}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:24px;transition:background .2s}.switch-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.switch input:checked+.switch-slider{background:var(--primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.checkbox-row{display:flex;gap:20px;align-items:center}.checkbox-row label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.modal{width:560px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;animation:modalIn .25s ease;display:flex;flex-direction:column}.modal-lg{width:860px}.checkbox-row.wrap{flex-wrap:wrap;gap:10px 20px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.modal-close{background:none;border:none;font-size:20px;color:var(--text-tertiary);cursor:pointer;padding:4px}.modal-body{padding:24px;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e2215,#4a3520,#6b4f2a);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:#c8a24b14;top:-150px;right:-150px}.login-page:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:#c8a24b0f;bottom:-150px;left:-100px}.login-card{width:380px;background:#fff;border-radius:20px;padding:40px;box-shadow:0 24px 60px #0000004d;animation:fadeInUp .4s ease;position:relative;z-index:10}.login-logo{width:64px;height:64px;border-radius:50%;background:var(--gold-gradient);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px;box-shadow:0 8px 20px #c8a24b66}.login-title{text-align:center;font-size:22px;font-weight:700;margin-bottom:4px}.login-sub{text-align:center;color:var(--text-tertiary);font-size:13px;margin-bottom:32px}.login-form .form-item{margin-bottom:18px}.login-btn{width:100%;height:46px;border-radius:12px;background:var(--gold-gradient);border:none;color:#fff;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:all .2s;box-shadow:0 6px 16px #c8a24b59}.login-btn:hover{opacity:.9;transform:translateY(-1px)}.login-tip{text-align:center;color:var(--text-tertiary);font-size:12px;margin-top:16px}.empty{text-align:center;color:var(--text-tertiary);padding:48px 0;font-size:14px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.product-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}.product-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.product-card-img{width:100%;height:180px;object-fit:cover;display:block;background:#f3ede2}.product-card-body{padding:14px}.product-card-name{font-weight:600;color:var(--text);font-size:15px}.product-card-sub{color:var(--text-tertiary);font-size:12px;margin-top:4px;min-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.product-card-price{color:var(--price);font-weight:700;font-size:18px}.product-card-price small{font-size:12px;font-weight:400}.product-card-original{color:var(--text-tertiary);font-size:12px;font-weight:400;text-decoration:line-through;margin-left:6px}.product-card-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:8px 14px}.product-card-sort{display:flex;gap:6px}.sort-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;color:var(--text-secondary);font-size:13px;line-height:1;transition:all .2s}.sort-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sort-btn:disabled{opacity:.35;cursor:not-allowed}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:10px 22px;border-radius:10px;font-size:13px;z-index:300;box-shadow:0 8px 24px #0003;animation:fadeInUp .25s ease}.progress{height:8px;background:var(--bg);border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:var(--gold-gradient);border-radius:10px;transition:width .5s ease}.hot-list{display:flex;flex-direction:column;gap:14px}.hot-item{display:flex;align-items:center;gap:12px}.hot-rank{width:24px;height:24px;border-radius:6px;background:var(--bg);color:var(--text-secondary);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hot-rank.top{background:var(--gold-gradient);color:#fff}.hot-info{flex:1;min-width:0}.hot-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hot-sales{font-size:12px;color:var(--text-tertiary);margin-top:2px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;font-size:13px;color:var(--text-secondary)}.chat-wrap{display:flex;gap:16px;height:calc(100vh - 140px)}.chat-sessions{width:300px;flex-shrink:0;background:var(--card);border-radius:12px;box-shadow:var(--shadow);overflow-y:auto}.chat-sessions-title{padding:16px 18px;font-size:15px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card);z-index:1}.chat-session{position:relative;padding:12px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.chat-session:hover{background:var(--bg)}.chat-session.active{background:var(--gold-gradient)}.chat-session.active .chat-session-name,.chat-session.active .chat-session-msg,.chat-session.active .chat-session-time{color:#fff}.chat-session-top{display:flex;justify-content:space-between;align-items:center}.chat-session-name{font-size:14px;font-weight:600;color:var(--text)}.chat-session-time{font-size:12px;color:var(--text-tertiary)}.chat-session-msg{margin-top:6px;font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-unread{position:absolute;top:12px;right:12px;min-width:18px;height:18px;line-height:18px;border-radius:9px;background:#e54d42;color:#fff;font-size:11px;text-align:center;padding:0 5px;box-sizing:border-box}.chat-panel{flex:1;min-width:0;background:var(--card);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.chat-msgs{flex:1;overflow-y:auto;padding:20px;background:var(--bg)}.chat-msg{display:flex;flex-direction:column;margin-bottom:14px;max-width:70%}.chat-msg.user{align-items:flex-end;margin-left:auto}.chat-msg.admin{align-items:flex-start;margin-right:auto}.chat-bubble{padding:10px 14px;border-radius:10px;font-size:14px;line-height:1.5;word-break:break-all}.chat-msg.user .chat-bubble{background:var(--gold-gradient);color:#fff}.chat-msg.admin .chat-bubble{background:var(--card);color:var(--text);border:1px solid var(--border)}.chat-time{margin-top:4px;font-size:12px;color:var(--text-tertiary)}.chat-inputbar{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--border);background:var(--card)}.chat-inputbar input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;background:var(--bg);color:var(--text)}.chat-inputbar input:focus{border-color:var(--gold)}.chat-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:14px}
