:root {
  --admin-blue:#409eff;
  --admin-purple:#7168f7;
  --admin-text:#30343b;
  --admin-muted:#8d949f;
  --admin-line:#e5e9f0;
  --admin-bg:#f4f6f8;
  --admin-panel:#fff;
  --admin-sidebar:236px;
  --admin-shadow:0 2px 10px rgba(31,45,61,.035);
}

* { box-sizing:border-box; }
html,body { min-height:100%; }
.admin-body { min-width:320px; margin:0; overflow:hidden; color:var(--admin-text); background:var(--admin-bg); font-family:Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif; }
.admin-body a { color:inherit; text-decoration:none; }
.admin-body button,.admin-body input,.admin-body select { font:inherit; }
.admin-body button { cursor:pointer; }

.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:30; width:var(--admin-sidebar); border-right:1px solid var(--admin-line); background:#fff; }
.admin-logo { display:flex; align-items:center; height:72px; padding:0 0 0 62px; border-bottom:1px solid var(--admin-line); font-size:18px; font-weight:750; letter-spacing:-.02em; }
.admin-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:10px 14px 4px; padding:4px; border:1px solid #dfe5ef; border-radius:11px; background:#f3f6fb; }
.admin-mode-switch span,.admin-mode-switch a { display:flex; align-items:center; justify-content:center; gap:6px; height:35px; border-radius:8px; color:#7b8798; font-size:11px; font-weight:700; white-space:nowrap; }
.admin-mode-switch span.is-active { color:#3e4a5d; background:#fff; box-shadow:0 4px 13px rgba(45,67,105,.08); }
.admin-mode-switch a { color:#655ce8; transition:background .18s ease,box-shadow .18s ease; }
.admin-mode-switch a:hover { background:linear-gradient(135deg,#fff,#f2f3ff); box-shadow:0 5px 14px rgba(92,82,220,.11); }
.admin-mode-switch i { color:inherit; font-size:12px; font-style:normal; }
.admin-mode-switch b { margin-left:1px; font-size:10px; }
.admin-nav { height:calc(100svh - 72px); padding:7px 14px 30px; overflow:auto; scrollbar-width:thin; scrollbar-color:#dfe4eb transparent; }
.admin-nav > a,.admin-nav-group > button { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:0 11px; border:0; border-radius:7px; color:#353a41; background:transparent; font-size:14px; text-align:left; transition:color .18s ease,background .18s ease; }
.admin-nav > a:hover,.admin-nav-group > button:hover { color:var(--admin-blue); background:#f5f9ff; }
.admin-nav i,.admin-subnav i { display:grid; place-items:center; flex:0 0 auto; width:22px; color:#343a40; font-style:normal; font-size:18px; }
.admin-nav span { min-width:0; flex:1; white-space:nowrap; }
.admin-nav b { margin-left:auto; color:#737b86; font-size:11px; font-weight:500; }
.admin-nav em { display:grid; place-items:center; min-width:25px; height:18px; padding:0 6px; border-radius:100px; color:#fff; background:linear-gradient(135deg,var(--admin-purple),#8b80ff); font-size:9px; font-style:normal; font-weight:800; }
.admin-nav > a.admin-nav__new { color:#3e63bd; }
.admin-nav > a.admin-nav__new i { color:var(--admin-purple); }
.admin-nav > a.admin-nav__new:hover { background:linear-gradient(90deg,#f3f2ff,#f7fbff); }

.admin-nav-group { margin:2px 0; }
.admin-nav-group > button { justify-content:flex-start; }
.admin-subnav { display:none; padding:1px 0 4px 16px; }
.admin-nav-group.is-open .admin-subnav { display:block; }
.admin-subnav a { display:flex; align-items:center; gap:10px; min-height:42px; padding:0 9px; border-radius:6px; color:#3e434b; font-size:13px; }
.admin-subnav a:hover,.admin-subnav a.is-active { color:var(--admin-blue); background:#f3f8ff; }
.admin-subnav a.is-active { font-weight:650; }
.admin-subnav a i { width:20px; color:inherit; font-size:16px; }
.admin-subnav a em { margin-left:auto; }
.admin-subnav a.admin-subnav__ai { position:relative; margin:3px 0 5px; border:1px solid #dddafa; color:#655ce8; background:linear-gradient(95deg,#f7f6ff,#f4f9ff); font-weight:700; }
.admin-subnav a.admin-subnav__ai::after { position:absolute; inset:0; border-radius:6px; background:linear-gradient(100deg,transparent,rgba(255,255,255,.8),transparent); content:""; pointer-events:none; transform:translateX(-110%); animation:admin-ai-sheen 4.5s ease-in-out infinite; }
.admin-subnav a.admin-subnav__ai i { color:#766df7; }

.admin-topbar { position:fixed; inset:0 0 auto var(--admin-sidebar); z-index:25; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; height:72px; padding:0 28px; border-bottom:1px solid var(--admin-line); background:rgba(255,255,255,.96); box-shadow:0 1px 5px rgba(20,31,52,.025); backdrop-filter:blur(14px); }
.admin-breadcrumb { display:flex; align-items:center; gap:12px; font-size:14px; }
.admin-breadcrumb button { width:24px; height:28px; padding:0; border:0; color:#69717c; background:transparent; font-size:16px; }
.admin-breadcrumb strong { font-size:15px; }
.admin-breadcrumb i { color:#c0c5cc; font-style:normal; }
.admin-breadcrumb span { color:#747b85; }
.admin-topbar > .experience-switch { margin:0; }
.admin-topbar__right { justify-self:end; display:flex; align-items:center; gap:12px; }
.admin-ai-assistant { display:grid; place-items:center; min-width:104px; height:42px; padding:0 17px; border-radius:100px; color:#fff!important; background:linear-gradient(135deg,#6d6af6,#7a6ef3); box-shadow:0 7px 20px rgba(112,103,245,.25); font-size:13px; font-weight:700; }
.admin-download { display:grid; place-items:center; width:39px; height:39px; padding:0; border:1px solid #dfe4eb; border-radius:50%; color:#75808c; background:#fff; font-size:19px; }
.admin-user-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#fff; background:#6563d8; box-shadow:0 6px 15px rgba(101,99,216,.24); font-weight:750; }
.admin-user { display:flex; flex-direction:column; gap:3px; }
.admin-user strong { font-size:13px; }
.admin-user small { color:#8f96a0; font-size:10px; }
.admin-user small span { padding:2px 5px; border:1px solid #cfe3ff; border-radius:3px; color:#409eff; }
.admin-user-arrow { color:#a4aab2; font-size:11px; font-style:normal; }

.admin-main { height:100svh; margin-left:var(--admin-sidebar); padding:94px 22px 42px; overflow:auto; }
.admin-title-card,.admin-filter-card,.admin-table-card { border:1px solid #e8ecf2; border-radius:12px; background:var(--admin-panel); box-shadow:var(--admin-shadow); }
.admin-title-card { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:114px; padding:20px 24px; }
.admin-title-card > div:first-child { flex:0 0 auto; }
.admin-title-card small { display:block; margin-bottom:8px; color:var(--admin-blue); font-size:11px; font-weight:650; }
.admin-title-card h1 { display:flex; align-items:center; gap:10px; margin:0; font-size:23px; letter-spacing:-.03em; }
.admin-title-card h1 i { width:8px; height:8px; border:2px solid #bee0ff; border-radius:50%; background:var(--admin-blue); box-shadow:0 0 0 3px #eef7ff; }
.admin-title-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.admin-title-actions button,.admin-title-actions a { display:grid; place-items:center; min-height:39px; padding:0 17px; border:1px solid #dfe4eb; border-radius:100px; color:#666e78; background:#fff; font-size:12px; font-weight:600; white-space:nowrap; }
.admin-title-actions button:hover { border-color:#a9cff6; color:var(--admin-blue); }
.admin-title-actions .is-primary { border-color:var(--admin-blue); color:#fff; background:var(--admin-blue); }
.admin-title-actions .admin-ai-product-button { border-color:#d8d4ff; color:#fff; background:linear-gradient(135deg,#7168f7,#568bea); box-shadow:0 7px 17px rgba(103,105,238,.17); }

.admin-filter-card { margin-top:18px; overflow:hidden; }
.admin-filter-card > header { height:51px; padding:17px 22px; border-bottom:1px solid #edf0f4; color:#747b84; font-size:13px; font-weight:650; }
.admin-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:16px 18px; padding:16px 22px 12px; }
.admin-filter-grid label { display:flex; flex-direction:column; gap:8px; }
.admin-filter-grid label > span { color:#777e87; font-size:12px; font-weight:600; }
.admin-filter-grid input,.admin-filter-grid select { width:100%; height:39px; padding:0 10px; border:1px solid #dfe4eb; border-radius:7px; outline:none; color:#4e555e; background:#fff; font-size:12px; transition:border-color .18s ease,box-shadow .18s ease; }
.admin-filter-grid input:focus,.admin-filter-grid select:focus { border-color:#8ec7ff; box-shadow:0 0 0 3px #edf7ff; }
.admin-filter-card footer { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:0 22px; padding:14px 0 17px; border-top:1px solid #edf0f4; }
.admin-filter-card footer button { min-width:78px; height:38px; padding:0 16px; border:1px solid #dfe4eb; border-radius:6px; color:#646b74; background:#fff; font-size:12px; }
.admin-filter-card footer .is-primary { border-color:var(--admin-blue); color:#fff; background:var(--admin-blue); }
.admin-filter-card footer .is-more { min-width:95px; border-color:transparent; color:var(--admin-blue); }

.admin-table-card { margin-top:18px; overflow:hidden; }
.admin-table-tools { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:58px; padding:10px 20px; border-bottom:1px solid #edf0f4; color:#969ca5; font-size:12px; }
.admin-table-tools span em { color:#6f7782; font-style:normal; }
.admin-table-tools > div { display:flex; gap:8px; flex-wrap:wrap; }
.admin-table-tools button { height:36px; padding:0 14px; border:1px solid #dfe4eb; border-radius:6px; color:#89919b; background:#fff; font-size:12px; font-weight:600; }
.admin-table-tools button.is-highlight { border-color:#8bc8ff; color:#fff; background:#8bc8ff; }
.admin-table-scroll { width:100%; overflow:auto; }
.admin-product-table { width:100%; min-width:1180px; border-collapse:collapse; table-layout:fixed; }
.admin-product-table th,.admin-product-table td { padding:14px 15px; border-right:1px solid #edf0f4; border-bottom:1px solid #edf0f4; color:#666d76; font-size:12px; text-align:left; vertical-align:middle; }
.admin-product-table th { height:57px; color:#555c65; background:#fafbfc; font-weight:700; }
.admin-product-table th:nth-child(1) { width:46px; }
.admin-product-table th:nth-child(2) { width:90px; }
.admin-product-table th:nth-child(3) { width:82px; }
.admin-product-table th:nth-child(4) { width:180px; }
.admin-product-table th:nth-child(5) { width:265px; }
.admin-product-table th:nth-child(6) { width:300px; }
.admin-product-table th:nth-child(7) { width:90px; }
.admin-product-table th:nth-child(8) { width:255px; }
.admin-product-table td img { display:block; width:52px; height:62px; border-radius:7px; object-fit:cover; background:#eff3f7; }
.admin-product-table td > strong { display:block; margin-bottom:5px; color:#40464e; font-size:13px; }
.admin-product-table td > small { color:#9aa1aa; font-size:10px; }
.admin-product-table tr[hidden] { display:none; }
.admin-state { display:inline-flex; padding:5px 9px; border-radius:100px; font-size:10px; font-weight:650; }
.admin-state.is-pass { color:#54b83e; background:#f0faed; }
.admin-row-actions { display:flex; align-items:center; gap:13px; white-space:nowrap; }
.admin-row-actions button,.admin-row-actions a { padding:0; border:0; background:transparent; color:var(--admin-blue); font-size:11px; font-weight:650; }
.admin-row-actions .is-green { color:#57bb40; }
.admin-row-actions .is-red { color:#f05d61; }

.admin-toast { position:fixed; right:22px; bottom:22px; z-index:100; min-width:250px; padding:13px 16px; border:1px solid #dae6f5; border-radius:9px; color:#536175; background:#fff; box-shadow:0 14px 35px rgba(40,62,100,.16); opacity:0; pointer-events:none; transform:translateY(12px); transition:.25s ease; }
.admin-toast.is-visible { opacity:1; transform:none; }
.admin-toast p { margin:0; font-size:12px; }

@keyframes admin-ai-sheen { 0%,55% { transform:translateX(-110%); } 78%,100% { transform:translateX(110%); } }

@media(max-width:1300px){
  :root { --admin-sidebar:210px; }
  .admin-logo { padding-left:38px; }
  .admin-title-card { align-items:flex-start; flex-direction:column; }
  .admin-title-actions { justify-content:flex-start; }
  .admin-filter-grid { grid-template-columns:repeat(3,minmax(140px,1fr)); }
}
@media(max-width:1080px){
  .admin-user,.admin-user-arrow { display:none; }
  .admin-filter-grid { grid-template-columns:repeat(2,minmax(140px,1fr)); }
  .admin-table-tools { align-items:flex-start; flex-direction:column; }
}
@media(max-width:820px){
  :root { --admin-sidebar:72px; }
  .admin-logo { justify-content:center; padding:0; font-size:0; }
  .admin-logo::before { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; color:#fff; background:var(--admin-blue); content:"P"; font-size:16px; font-weight:800; }
  .admin-nav { padding-inline:9px; }
  .admin-nav span,.admin-nav b,.admin-nav em { display:none; }
  .admin-nav > a,.admin-nav-group > button { justify-content:center; padding:0; }
  .admin-subnav { padding-left:0; }
  .admin-subnav a { justify-content:center; padding:0; }
  .admin-topbar { padding-inline:14px; }
  .admin-topbar__right { gap:7px; }
  .admin-download,.admin-user-avatar { display:none; }
  .admin-ai-assistant { min-width:88px; height:38px; padding-inline:12px; font-size:11px; }
  .admin-main { padding:88px 12px 30px; }
}
@media(max-width:900px){
  .admin-topbar { height:66px; }
  .admin-main { padding-top:88px; }
}
@media(max-width:560px){
  .admin-breadcrumb span,.admin-breadcrumb i { display:none; }
  .admin-filter-grid { grid-template-columns:1fr; }
  .admin-title-actions button,.admin-title-actions a { padding-inline:12px; font-size:11px; }
}
