:root{color:#3f342b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#faf8f5;--surface:#fffefb;--surface-alt:#f6f4f0;--tag:#f2ede5;--text:#2f261f;--muted:#7b6d61;--hint:#a09184;--border:#e3ddd4;--brand:#6b4f3f;--brand-dark:#4f392d;--price:#8b6338;--success:#5c8a5c;--warning:#a07830;--error:#9b3a3a;--shadow:0 16px 44px #64503c1a;background:#faf8f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:1120px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-page{place-items:center;min-height:100vh;padding:48px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);border-radius:20px;padding:40px}.login-icon{width:48px;height:48px;color:var(--brand);background:var(--tag);border-radius:16px;place-items:center;margin-bottom:22px;display:grid}.login-card h1,.page-header h1{color:var(--text);letter-spacing:0;margin:4px 0 8px}.login-card form{gap:18px;margin-top:28px;display:grid}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:#fffdf8;flex-direction:column;height:100vh;padding:28px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:14px;margin-bottom:34px;display:flex}.brand-mark{color:#fff;background:var(--brand);border-radius:15px;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.brand-block h1{color:var(--text);margin:2px 0 0;font-size:18px}.eyebrow{color:var(--price);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.muted{color:var(--muted);line-height:1.7}.nav-list{gap:8px;display:grid}.nav-list button,.logout-button{height:44px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.nav-list button.active,.nav-list button:hover{background:var(--tag);color:var(--brand-dark)}.logout-button{color:var(--error);margin-top:auto}.logout-button:hover{background:#f7eaea}.main-panel{padding:34px;overflow:hidden}.page-stack{gap:24px;display:grid}.page-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-header h1{font-size:30px}.primary-button,.secondary-button,.ghost-button,.icon-button{border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;transition:opacity .16s,transform .16s,background .16s;display:inline-flex}.primary-button{color:#fff;background:var(--brand)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover{opacity:.86}.primary-button:disabled{cursor:not-allowed;opacity:.6}.primary-button.fit{width:auto}.secondary-button{color:var(--text);background:var(--surface);border:1px solid var(--border)}.ghost-button{color:var(--brand);background:var(--tag)}.icon-button{width:38px;min-height:38px;color:var(--brand);background:var(--tag);padding:0}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:12px;padding:22px;display:grid;box-shadow:0 8px 24px #64503c0f}.stat-card svg{color:var(--price)}.stat-card span{color:var(--muted)}.stat-card strong{color:var(--text);font-size:34px;line-height:1}.filter-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;grid-template-columns:minmax(300px,1fr) 180px 180px 170px;gap:12px;padding:16px;display:grid}.search-field{background:var(--surface-alt);border:1px solid var(--border);color:var(--hint);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field input{background:0 0;border:0;outline:0;width:100%;height:42px}select,input,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fffefb;border-radius:12px;outline:none;padding:11px 13px}textarea{resize:vertical;line-height:1.7}input:focus,textarea:focus,select:focus{border-color:#bda98f;box-shadow:0 0 0 3px #8b63381a}label{color:var(--muted);gap:8px;font-size:13px;display:grid}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:auto;box-shadow:0 8px 24px #64503c0f}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #eee8df;padding:14px 16px}th{color:var(--muted);background:#fbf7ef;font-size:12px;font-weight:700}td{color:#514237;font-size:14px}.product-cell{align-items:center;gap:12px;min-width:220px;display:flex}.product-cell strong{color:var(--text);margin-bottom:4px;display:block}.product-cell small{color:var(--hint)}.thumb{background:var(--surface-alt);width:50px;height:50px;color:var(--hint);border-radius:12px;flex:none;place-items:center;font-size:12px;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.price{color:var(--price);font-weight:700}.stock-low{color:var(--error);font-weight:700}.pill{background:var(--surface-alt);min-height:26px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.pill.on{color:var(--success);background:#eaf2e8}.pill.recommend{color:var(--price);background:#f4eadb}.product-form{gap:18px;padding-bottom:88px;display:grid}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:18px;padding:22px;display:grid}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading h2{color:var(--text);margin:4px 0 0;font-size:19px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.form-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid.one{grid-template-columns:1fr}.switch-row{flex-wrap:wrap;gap:12px;display:flex}.switch-card{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:44px;padding:0 14px;display:inline-flex}.switch-card input{width:auto}.sticky-actions{border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefbeb;border-radius:18px;padding:12px;position:fixed;bottom:28px;right:34px}.empty-panel,.error-panel{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:16px;padding:18px}.error-panel,.form-error{color:var(--error);background:#f8eeee;border-color:#eed4d4}.form-success{color:var(--success);background:#edf5ea;border:1px solid #d7e8d1;border-radius:12px;margin:0;padding:10px 12px}.form-error{border-radius:12px;margin:0;padding:10px 12px}@media (width<=900px){body{min-width:0}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.main-panel{padding:20px}.filter-panel,.form-grid,.form-grid.compact,.stat-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}}.image-hint{color:var(--hint);margin:0;font-size:13px;line-height:1.6}.cover-uploader{grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.cover-preview{aspect-ratio:1;background:var(--surface-alt);width:100%;color:var(--hint);border:1px dashed #d7cbbd;border-radius:16px;place-items:center;font-size:13px;display:grid;overflow:hidden}.cover-preview img{object-fit:cover;width:100%;height:100%}.cover-actions{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.upload-button{position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-button[aria-disabled=true]{opacity:.62;pointer-events:none}.image-section{gap:12px;display:grid}.image-section-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.image-section-header h3{color:var(--text);margin:0;font-size:16px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.image-card{border:1px solid var(--border);background:#fffefb;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 8px 22px #64503c0f}.image-card.dragging{opacity:.55}.image-card img{aspect-ratio:1;object-fit:cover;background:var(--surface-alt);width:100%;display:block}.drag-handle{width:32px;height:32px;color:var(--brand);cursor:grab;background:#fffefbe0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:8px;left:8px}.image-delete{width:32px;height:32px;color:var(--error);background:#fffefbe0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.image-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.image-empty{background:var(--surface-alt);min-height:110px;color:var(--hint);border:1px dashed #d7cbbd;border-radius:16px;place-items:center;font-size:13px;display:grid}@media (width<=900px){.cover-uploader{grid-template-columns:1fr}.cover-preview{max-width:260px}.image-section-header{flex-direction:column;align-items:flex-start}.image-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}.category-table{min-width:840px}.category-table td strong{color:var(--text);margin-bottom:4px;display:block}.category-table td small{color:var(--hint);font-size:12px;display:block}.category-table .sort-input{width:96px}.edit-row td{background:#fffaf2}.row-actions{align-items:center;gap:8px;display:flex}.icon-button.danger{color:var(--error);background:#f7eaea}.inline-check{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;gap:8px;display:inline-flex}.inline-check input{width:auto}.recommend-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:16px;padding:22px;display:grid;box-shadow:0 8px 24px #64503c0f}.recommend-list{gap:12px;display:grid}.recommend-card{border:1px solid var(--border);background:#fffefb;border-radius:16px;grid-template-columns:38px 54px minmax(220px,1fr) auto auto auto;align-items:center;gap:12px;padding:12px;display:grid}.recommend-card .thumb{width:54px;height:54px}.drag-handle.static{background:var(--tag);position:static}.recommend-info strong{color:var(--text);margin-bottom:4px;display:block}.recommend-info small{color:var(--hint)}@media (width<=900px){.recommend-card{grid-template-columns:38px 54px minmax(0,1fr);align-items:start}.recommend-card .pill,.recommend-card .price,.recommend-card .secondary-button{grid-column:3}.recommend-card .secondary-button{justify-self:start}}.dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trend-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:16px;padding:22px;display:grid;box-shadow:0 8px 24px #64503c0f}.trend-list{gap:10px;display:grid}.trend-row{border:1px solid var(--border);background:#fffefb;border-radius:14px;grid-template-columns:minmax(140px,1fr) 120px 140px;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:grid}.trend-row span{color:var(--muted)}.trend-row strong{color:var(--text)}.trend-row em{color:var(--price);text-align:right;font-style:normal;font-weight:700}@media (width<=900px){.dashboard-stat-grid,.trend-row{grid-template-columns:1fr}.trend-row em{text-align:left}}.order-filter-panel{grid-template-columns:minmax(360px,1fr) 170px 170px 150px}.order-workspace{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:18px;display:grid}.order-workspace .table-card table{min-width:960px}.order-workspace td strong{color:var(--text);margin-bottom:4px;display:block}.order-workspace td small{color:var(--hint);display:block}.order-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:16px;padding:20px;display:grid;position:sticky;top:24px;box-shadow:0 8px 24px #64503c0f}.detail-list{gap:8px;display:grid}.detail-list p{border-bottom:1px solid #eee8df;gap:4px;margin:0;padding:10px 0;display:grid}.detail-list span{color:var(--muted);font-size:12px}.detail-list strong{color:var(--text);white-space:normal;font-weight:600;line-height:1.55}.order-items{gap:10px;display:grid}.order-item{border:1px solid var(--border);background:#fffefb;border-radius:14px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.order-item .thumb{width:48px;height:48px}.order-item strong{color:var(--text);margin-bottom:4px;display:block}.order-item small{color:var(--muted)}.order-item span{color:var(--price);font-weight:700}.detail-action{border:1px solid var(--border);background:var(--surface-alt);border-radius:16px;gap:10px;padding:14px;display:grid}.detail-action h3{color:var(--text);align-items:center;gap:8px;margin:0;font-size:15px;display:flex}@media (width<=1100px){.order-workspace{grid-template-columns:1fr}.order-detail-panel{position:static}.order-filter-panel{grid-template-columns:1fr}}.logistics-traces,.trace-view{gap:10px;display:grid}.trace-header{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.trace-row{grid-template-columns:150px minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.trace-view article{border:1px solid var(--border);background:#fffefb;border-radius:14px;gap:4px;padding:10px 12px;display:grid}.trace-view span{color:var(--muted);font-size:12px}.trace-view strong{color:var(--text);font-weight:600;line-height:1.5}@media (width<=900px){.trace-row{grid-template-columns:1fr}.trace-row .icon-button{justify-self:start}}.review-filter-panel{grid-template-columns:minmax(360px,1fr) 180px}.review-list{gap:14px;display:grid}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;grid-template-columns:58px minmax(0,1fr) 260px;align-items:start;gap:14px;padding:16px;display:grid;box-shadow:0 8px 24px #64503c0f}.review-main{gap:8px;display:grid}.review-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-main p{color:var(--text);white-space:normal;margin:0;line-height:1.65}.review-stars{color:var(--price);font-weight:700}.review-main small{color:var(--hint)}.review-actions{gap:10px;display:grid}.review-actions input{height:42px}@media (width<=900px){.review-filter-panel,.review-card,.review-actions{grid-template-columns:1fr}}.settings-info-row{border:1px solid var(--border);background:#fffefb;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.settings-info-row svg{color:var(--hint)}.settings-info-row span{color:var(--muted);font-size:13px}.settings-info-row strong{color:var(--text);font-weight:600}.settings-actions{border:1px solid var(--border);background:#fffefb;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.settings-action-item{flex:1 1 0;min-width:0}.sidebar-bottom{gap:4px;margin-top:auto;display:grid}.sidebar-bottom .logout-button{margin-top:0}.sidebar-admin-badge{border:1px solid var(--border);background:var(--tag);border-radius:12px;padding:10px 14px}.sidebar-admin-name{color:var(--brand-dark);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}
