*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#1c1714;--bg-subtle:#251f1a;--card:#2a2320;--card-hover:#332b27;
  --text:#f0e6dc;--text-secondary:#c4b5a5;--text-muted:#8a7b6b;
  --accent:#d4943a;--accent-light:#3d2e1a;--accent-dark:#b87a2a;
  --accent-gradient:linear-gradient(135deg,#d4943a 0%,#e8b86d 50%,#c47a28 100%);
  --green:#5cb87a;--green-light:#1a2e20;--yellow:#e8b86d;--yellow-light:#2e2a1a;
  --blue:#6b9fd4;--blue-light:#1a2430;--purple:#a07cc8;--purple-light:#261a30;
  --danger:#d45a5a;
  --border:#3a322c;--border-strong:#4a403a;
  --surface-overlay:rgba(28,23,20,.92);--surface-strong:rgba(28,23,20,.9);--surface-elevated:rgba(42,35,32,.98);
  --surface-elevated-2:rgba(34,28,25,.98);--surface-ghost:rgba(255,255,255,.08);--surface-ghost-strong:rgba(255,255,255,.12);
  --surface-soft:rgba(0,0,0,.14);--surface-soft-strong:rgba(0,0,0,.16);--surface-toast:rgba(251,248,243,.96);
  --surface-panel:linear-gradient(180deg,var(--card-hover),var(--card));--surface-panel-strong:linear-gradient(180deg,color-mix(in srgb,var(--card) 84%, var(--accent-light) 16%),var(--card));
  --surface-accent-soft:color-mix(in srgb,var(--accent) 10%, transparent);--surface-accent-strong:color-mix(in srgb,var(--accent) 18%, transparent);
  --office-stage:#e8ddd0;--code-bg:#171310;--code-block-bg:#0d0b09;--code-text:#d8cab7;
  --badge-on-accent:#1c1714;--badge-on-dark:#ffffff;--button-disabled-bg:#3a322c;--button-disabled-text:#5a5048;
  --success-gradient:linear-gradient(135deg,#5cb87a,#4aa868);--warning-gradient:linear-gradient(135deg,#e8b86d,#d4943a);
  --danger-gradient:linear-gradient(135deg,#d45a5a,#c04040);--running-panel:linear-gradient(135deg,#2e2a1a 0%,var(--card) 60%);
  --success-panel:linear-gradient(135deg,#1a2e20 0%,var(--card) 60%);--error-panel:linear-gradient(135deg,#2e1a1a 0%,var(--card) 60%);
  --chart-seg-1:#e85d4a;--chart-seg-2:#3b82f6;--chart-seg-3:#10b981;--chart-seg-4:#f59e0b;--chart-seg-5:#8b5cf6;
  --shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow:0 4px 16px rgba(0,0,0,.25),0 1px 4px rgba(0,0,0,.15);
  --shadow-lg:0 12px 40px rgba(0,0,0,.35),0 4px 12px rgba(0,0,0,.2);
  --glow:0 0 20px color-mix(in srgb,var(--accent) 15%, transparent);--glow-strong:0 0 30px color-mix(in srgb,var(--accent) 22%, transparent);
  --accent-soft-shadow:0 10px 28px color-mix(in srgb,var(--accent) 18%, transparent);
  --focus-ring:0 0 0 1px color-mix(in srgb,var(--accent) 28%, var(--border) 72%),0 0 0 4px color-mix(in srgb,var(--accent) 18%, transparent);
  --shine-soft:linear-gradient(118deg,transparent 0%,rgba(255,255,255,.04) 24%,rgba(255,255,255,.18) 48%,transparent 74%);
  --surface-card-highlight:linear-gradient(180deg,color-mix(in srgb,var(--card) 82%, white 18%),var(--card));
  --radius:14px;--radius-sm:10px;--radius-xs:6px;
  --font:'Noto Sans SC',system-ui,-apple-system,sans-serif;
  --font-display:'Playfair Display',Georgia,serif;
  --ease:cubic-bezier(.4,0,.2,1);--transition:all .2s cubic-bezier(.4,0,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
}
html{font-size:15px}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.65;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-subtle)}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}
button,.btn,.pill,.quick-card,.preset-card,.platform-scope-btn,.platform-pick,.theme-trigger,.theme-option,.session-item,.session-item-btn,.img-upload-btn,.task-sidebar-tab,.session-sidebar-tab,.task-toast-actions button,.split-toggle,.detail-card-quick,.detail-close-inline,.tcard,.team-size-card,.data-platform-switch button,.dash-period button,.topnav-tabs button,.platform-manage-tag,.d-member{-webkit-tap-highlight-color:transparent}
button:focus-visible,.btn:focus-visible,.pill:focus-visible,.quick-card:focus-visible,.preset-card:focus-visible,.platform-scope-btn:focus-visible,.platform-pick:focus-visible,.theme-trigger:focus-visible,.theme-option:focus-visible,.session-item:focus-visible,.session-item-btn:focus-visible,.img-upload-btn:focus-visible,.task-sidebar-tab:focus-visible,.session-sidebar-tab:focus-visible,.task-toast-actions button:focus-visible,.split-toggle:focus-visible,.detail-card-quick:focus-visible,.detail-close-inline:focus-visible,.tcard:focus-visible,.team-size-card:focus-visible,.data-platform-switch button:focus-visible,.dash-period button:focus-visible,.topnav-tabs button:focus-visible,.platform-manage-tag:focus-visible,.d-member:focus-visible{outline:none;box-shadow:var(--focus-ring)}
@keyframes sheenSweep{0%{transform:translateX(-260%) skewX(-18deg);opacity:0}18%{opacity:.32}58%{opacity:.7}100%{transform:translateX(320%) skewX(-18deg);opacity:0}}
@keyframes softFloat{from{transform:translateY(0)}to{transform:translateY(-4px)}}
@keyframes pulseDot{0%,100%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 28%, transparent)}50%{transform:scale(1.08);box-shadow:0 0 0 8px transparent}}
@keyframes dropHoverPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.01)}}
@keyframes progressSweep{0%{transform:translateX(-100%)}100%{transform:translateX(220%)}}

/* Topnav */
.topnav{background:var(--surface-overlay);border-bottom:1px solid var(--border);padding:0 16px;height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;position:sticky;top:0;z-index:700;backdrop-filter:blur(16px)}
.topnav-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;position:relative;z-index:1;justify-self:start}
.topnav-brand .icon{font-size:22px}
.topnav-brand h1{font-size:1.05rem;font-weight:800;letter-spacing:-.03em}
.topnav-brand .sub{font-size:.68rem;color:var(--text-muted);margin-left:6px;font-weight:400}
.topnav-tabs-wrap{position:static;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;width:100%;max-width:none;justify-self:center}
@media(max-width:1100px){
  .topnav{height:auto;min-height:54px;grid-template-columns:1fr;justify-items:center;padding:8px 14px 10px;row-gap:8px}
  .topnav-brand,.topnav-status{width:100%;justify-content:center;justify-self:center}
  .topnav-tabs-wrap{position:relative;left:auto;transform:none;width:100%;justify-self:stretch;max-width:none}
  .topnav-tabs{width:100%;flex-wrap:wrap;justify-content:center;gap:6px}
  .topnav-tabs button{font-size:.82rem!important;padding:8px 12px!important}
}
.nav-group-label{font-size:10px!important;color:var(--text-muted)!important;padding:4px 14px!important;cursor:default!important;opacity:0.7;letter-spacing:0.5px;background:transparent!important;pointer-events:none}
/* Dropdown nav groups */
.nav-dropdown{position:relative;flex-shrink:0}
.nav-dropdown-trigger{padding:6px 14px;border:none;border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:var(--font);background:transparent;color:var(--text-muted);transition:background .18s,color .18s;white-space:nowrap;display:flex;align-items:center;gap:4px}
.nav-dropdown-trigger:hover{color:var(--text);background:color-mix(in srgb,var(--card) 66%, var(--accent-light) 34%)}
.nav-dropdown-trigger.dd-open{color:var(--accent);background:var(--accent-light)}
.nav-dd-arrow{font-size:10px;transition:transform .2s}
.nav-dropdown-trigger.dd-open .nav-dd-arrow{transform:rotate(180deg)}
.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:730;animation:navDdIn .15s ease}
.nav-dropdown-menu.dd-show{display:block}
.nav-dropdown-menu button{display:block;width:100%;text-align:left;padding:8px 12px;border:none;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:var(--font);background:transparent;color:var(--text-secondary);transition:background .15s,color .15s;white-space:nowrap}
.nav-dropdown-menu button:hover{background:var(--card-hover);color:var(--text)}
.nav-dropdown-menu button.active{background:var(--accent-light);color:var(--accent);font-weight:800}
@keyframes navDdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){
  .nav-dropdown{width:100%}
  .nav-dropdown-trigger{width:100%;justify-content:space-between;padding:10px 14px!important;border-radius:8px!important;font-size:.82rem!important}
  .nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:0 0 0 16px;background:transparent;animation:none}
  .nav-dropdown-menu.dd-show{display:block}
  .nav-dropdown-menu button{padding:8px 14px!important;border-radius:8px!important;font-size:.82rem!important}
}
.topnav-tabs{display:flex;justify-content:center;align-items:center;gap:2px;background:var(--bg-subtle);border-radius:var(--radius-sm);padding:3px;overflow:visible;flex-shrink:0;min-width:0;max-width:100%;flex-wrap:wrap}
.topnav-tabs::-webkit-scrollbar{display:none}
.topnav-tabs button{padding:6px 16px;border:none;border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:var(--font);background:transparent;color:var(--text-muted);transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease);position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0}
.topnav-tabs button::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:85%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.topnav-tabs button:hover{color:var(--text);background:color-mix(in srgb,var(--card) 66%, var(--accent-light) 34%);transform:translateY(-1px)}
.topnav-tabs button:hover::after{animation:sheenSweep .65s var(--ease)}
.topnav-tabs button.active{background:var(--accent-gradient);color:var(--badge-on-dark);box-shadow:var(--accent-soft-shadow);font-weight:800}
.topnav-status{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:.7rem;color:var(--text-muted);min-width:0;position:relative;z-index:1;justify-self:end}
.cs-shell-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:12px}
.cs-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cs-title-row h2{font-size:18px;font-weight:900;line-height:1.2;margin:0;color:var(--text)}
.cs-subtitle{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.55;max-width:820px}
.cs-status-pill,.cs-menu-trigger{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 74%, var(--bg-subtle) 26%),var(--bg-subtle));color:var(--text-secondary);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;line-height:1;cursor:pointer;font-family:var(--font);transition:transform .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}
.cs-status-pill input{margin:0;accent-color:var(--accent)}
.cs-status-pill:hover,.cs-menu-trigger:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.cs-status-pill.is-on{border-color:color-mix(in srgb,var(--green) 45%, var(--border) 55%);color:var(--green);background:color-mix(in srgb,var(--green-light) 70%, var(--card) 30%)}
.cs-shopbar{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:min(148px,100%)}
.cs-shopbar-label{font-size:11px;color:var(--text-muted);font-weight:900;letter-spacing:.04em;margin-right:2px}
.cs-shop-select,.cs-purpose-select,.cs-list-filter{position:relative;display:block;min-width:0;max-width:100%}
.cs-shop-select{width:min(152px,100%)}
.cs-shop-select summary,.cs-purpose-select summary,.cs-list-filter summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 74%, var(--bg-subtle) 26%),var(--bg-subtle));color:var(--text-secondary);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:850;line-height:1;transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}
.cs-shop-select summary::-webkit-details-marker,.cs-purpose-select summary::-webkit-details-marker,.cs-list-filter summary::-webkit-details-marker{display:none}
.cs-shop-select summary:hover,.cs-purpose-select summary:hover,.cs-list-filter summary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.cs-shop-select[open] summary,.cs-purpose-select[open] summary,.cs-list-filter[open] summary{border-color:var(--accent);color:var(--accent);box-shadow:var(--accent-soft-shadow)}
.cs-select-summary-main{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;flex:1}
.cs-select-summary-title{font-size:9px;color:var(--text-muted);font-weight:900;letter-spacing:.04em}
.cs-select-summary-value{font-size:12px;color:var(--text);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cs-select-summary-sub{font-size:10px;color:var(--text-muted);font-weight:800}
.cs-shop-select .cs-select-summary-title,.cs-shop-select .cs-select-summary-sub{display:none}
.cs-select-summary-arrow{font-size:10px;color:var(--text-muted);font-weight:900;flex-shrink:0}
.cs-select-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:min(460px,calc(100vw - 32px));max-width:min(460px,calc(100vw - 32px));border:1px solid var(--border);border-radius:12px;background:var(--surface-elevated);box-shadow:var(--shadow-lg);padding:6px;display:none;z-index:2200}
.cs-purpose-select .cs-select-menu,.cs-list-filter .cs-select-menu{min-width:min(260px,calc(100vw - 32px));max-width:min(300px,calc(100vw - 32px))}
.cs-shop-select[open] .cs-select-menu,.cs-purpose-select[open] .cs-select-menu,.cs-list-filter[open] .cs-select-menu{display:block;animation:themePanelIn .18s var(--ease)}
.cs-select-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:none;background:transparent;color:var(--text-secondary);border-radius:9px;padding:9px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-align:left}
.cs-select-menu button:hover{background:var(--card-hover);color:var(--text)}
.cs-select-menu button.active{background:var(--accent-light);color:var(--accent)}
.cs-select-sep{height:1px;background:var(--border-subtle);margin:6px 4px}
.cs-actions{position:relative;display:flex;align-items:flex-start;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.cs-actions-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cs-action-menu{position:absolute;right:0;top:calc(100% + 8px);width:230px;border:1px solid var(--border);border-radius:12px;background:var(--surface-elevated);box-shadow:var(--shadow-lg);padding:6px;display:none;z-index:780}
.cs-actions.open .cs-action-menu,.cs-chat-actions.open .cs-action-menu{display:block;animation:themePanelIn .18s var(--ease)}
.cs-action-menu button{width:100%;display:flex;align-items:center;gap:8px;border:none;background:transparent;color:var(--text-secondary);border-radius:9px;padding:9px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-align:left}
.cs-action-menu button:hover{background:var(--card-hover);color:var(--text)}
.cs-drawer-title{font-size:16px;font-weight:900;color:var(--text)}
.cs-drawer-sub{font-size:12px;color:var(--text-muted);line-height:1.65;margin:6px 0 14px}
.cs-modal-mask{position:fixed;inset:0;background:rgba(8,10,14,.46);backdrop-filter:blur(2px);z-index:810}
.cs-drawer{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 44px);background:var(--bg);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 72px rgba(0,0,0,.34);z-index:820;padding:18px;overflow-y:auto}
.cs-drawer.cs-modal-wide{width:min(1080px,calc(100vw - 32px))}
.cs-drawer.cs-modal-narrow{width:min(560px,calc(100vw - 32px))}
.cs-drawer input,.cs-drawer textarea,.cs-drawer select{background:color-mix(in srgb,var(--bg-subtle) 82%, var(--card) 18%);color:var(--text);caret-color:var(--text)}
.cs-drawer input::placeholder,.cs-drawer textarea::placeholder,.cs-drawer select::placeholder{color:var(--text-muted)}
.cs-panel-card{border:1px solid var(--border-subtle);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 90%, var(--bg-subtle) 10%),var(--card));padding:14px}
.cs-policy-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}
.cs-policy-layout .cs-panel-card{margin:0;display:flex;flex-direction:column}
.cs-shop-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cs-shop-card{border:1px solid var(--border-subtle);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 88%, var(--bg-subtle) 12%),var(--card));padding:12px;margin-bottom:10px}
.cs-shop-card summary{list-style:none;cursor:pointer}
.cs-shop-card summary::-webkit-details-marker{display:none}
.cs-shop-card[open]{border-color:color-mix(in srgb,var(--accent) 20%, var(--border-subtle) 80%)}
.cs-shop-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cs-shop-card-title{font-size:13px;font-weight:900;color:var(--text);line-height:1.35}
.cs-shop-card-meta{font-size:11px;color:var(--text-muted);line-height:1.55}
.cs-shop-card-body{padding-top:10px;display:flex;flex-direction:column;gap:10px}
.cs-shop-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.cs-shop-card-actions .btn{width:100%;justify-content:center}
.cs-shop-card-foot{display:flex;gap:6px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.cs-shop-inline-menu{position:relative;display:inline-flex;align-items:center}
.cs-shop-inline-menu summary{list-style:none}
.cs-shop-inline-menu summary::-webkit-details-marker{display:none}
.cs-shop-inline-menu[open] .cs-action-menu{display:block;animation:themePanelIn .18s var(--ease)}
.cs-shop-inline-menu .cs-action-menu{right:0;left:auto;top:calc(100% + 8px);width:180px}
.cs-chat-actions{position:relative;display:flex;align-items:center;gap:8px;flex-shrink:0}
.cs-chat-actions .cs-action-menu{right:0;left:auto;top:calc(100% + 8px);width:220px}
.cs-inline-menu-trigger{display:inline-flex;align-items:center;gap:6px}
.cs-shopbar-count{margin-left:auto;font-size:11px;color:var(--text-muted);font-weight:800}
.cs-policy-layout .cs-test-result{max-height:none}
.cs-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cs-field label{font-size:12px;font-weight:900;color:var(--text-secondary)}
.cs-field input,.cs-field textarea,.cs-field select{width:100%;padding:10px 11px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 82%, var(--card) 18%);color:var(--text);font:inherit;font-size:13px;outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.cs-field input::placeholder,.cs-field textarea::placeholder{color:var(--text-muted)}
.cs-field input:focus,.cs-field textarea:focus,.cs-field select:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}
.cs-field textarea{resize:vertical;line-height:1.55}
.cs-meta-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}
.cs-chip-mini{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 7px;background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-weight:800;line-height:1.25}
.cs-chip-mini.danger{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.35);color:#ef4444}
.cs-chip-mini.blue{background:var(--blue-light);border-color:color-mix(in srgb,var(--blue) 34%, var(--border) 66%);color:var(--blue)}
.cs-filterbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;margin-bottom:10px}
.cs-filter-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cs-filter-tab{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);border-radius:999px;padding:7px 11px;font:inherit;font-size:12px;font-weight:850;line-height:1;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}
.cs-filter-tab:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.cs-filter-tab.is-active{background:var(--accent-gradient);border-color:transparent;color:var(--badge-on-accent);box-shadow:var(--accent-soft-shadow)}
.cs-filter-summary{justify-self:end;font-size:11px;color:var(--text-muted);font-weight:800;background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;padding:6px 10px;white-space:nowrap}
.cs-work-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;width:100%}
.cs-work-card{border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 90%, var(--bg-subtle) 10%),var(--card));padding:12px 14px;text-align:left;color:var(--text);cursor:pointer;font-family:var(--font);transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);min-height:82px}
.cs-work-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:color-mix(in srgb,var(--accent) 42%, var(--border) 58%)}
.cs-work-card.is-active{border-color:var(--accent);box-shadow:var(--accent-soft-shadow);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%, var(--accent-light) 22%),var(--card))}
.cs-work-card.danger{border-color:color-mix(in srgb,#dc2626 32%, var(--border) 68%)}
.cs-work-card.done{border-color:color-mix(in srgb,var(--green) 26%, var(--border) 74%)}
.cs-work-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cs-work-card-title{font-size:12px;font-weight:950;color:var(--text);line-height:1.25}
.cs-work-card-desc{font-size:10px;color:var(--text-muted);line-height:1.35;margin-top:4px}
.cs-work-card-count{font-size:24px;font-weight:950;line-height:1;color:var(--text)}
.cs-work-card.danger .cs-work-card-count{color:#ef4444}
.cs-work-card.done .cs-work-card-count{color:var(--green)}
.cs-list-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin:0;width:100%}
.cs-list-tools .cs-list-filter{width:100%;min-width:0}
.cs-list-tools .cs-list-filter summary{padding:6px 8px;border-radius:9px;min-height:40px}
.cs-list-tools .cs-select-summary-title{font-size:8px;letter-spacing:.03em}
.cs-list-tools .cs-select-summary-value{font-size:11px}
.cs-list-filter{position:relative}
.cs-list-filter[open]{z-index:2400}
.cs-list-head{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px;padding:2px 2px 0}
.cs-list-title{font-size:12px;font-weight:950;color:var(--text)}
.cs-list-sub{font-size:10px;color:var(--text-muted);font-weight:800}
.cs-chat-list-body{flex:1;min-height:0;overflow-y:auto;padding-right:2px}
.cs-chat-card{cursor:pointer;min-height:95px;padding:10px 10px;border-radius:12px;margin-bottom:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 88%, var(--bg-subtle) 12%),var(--card));border:1px solid var(--border-subtle);transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);display:flex;flex-direction:column}
.cs-chat-card:hover{background:var(--bg-subtle);border-color:var(--border-subtle)}
.cs-chat-card.active{background:var(--accent-light);border-color:var(--accent);box-shadow:var(--shadow-sm)}
.cs-chat-card.needs-human{background:rgba(220,38,38,0.08);border-color:rgba(220,38,38,.55)}
.cs-chat-card.active.needs-human{border-color:var(--accent)}
.cs-chat-topline{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;gap:8px}
.cs-chat-title{font-weight:900;font-size:12.5px;flex:1;overflow:hidden;color:var(--text);line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cs-chat-unread{background:#ef4444;color:#fff;font-size:10px;padding:1px 6px;border-radius:999px;font-weight:800;line-height:1.5}
.cs-chat-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.cs-chat-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;border-radius:999px;padding:3px 8px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);font-size:10px;font-weight:850;line-height:1.2;white-space:nowrap}
.cs-chat-tag span{overflow:hidden;text-overflow:ellipsis}
.cs-chat-tag.ai-done{background:color-mix(in srgb,var(--green-light) 72%, var(--card) 28%);border-color:color-mix(in srgb,var(--green) 38%, var(--border) 62%);color:var(--green)}
.cs-chat-tag.ai-review{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.38);color:#ef4444}
.cs-chat-tag.risk{background:color-mix(in srgb,var(--yellow-light) 76%, var(--card) 24%);border-color:color-mix(in srgb,var(--yellow) 36%, var(--border) 64%);color:var(--yellow)}
.cs-chat-tag.kind{background:var(--purple-light);border-color:color-mix(in srgb,var(--purple) 34%, var(--border) 66%);color:var(--purple)}
.cs-chat-tag.shop{background:var(--blue-light);border-color:color-mix(in srgb,var(--blue) 34%, var(--border) 66%);color:var(--blue)}
.cs-chat-tag.subtle{background:transparent;border-color:var(--border-subtle);color:var(--text-muted)}
.cs-chat-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:auto;padding-top:5px;color:var(--text-muted);font-size:10px;font-weight:750;align-items:start}
.cs-chat-product{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.35;white-space:normal}
.cs-chat-time{white-space:nowrap;color:var(--text-muted)}
.cs-main-grid{align-items:stretch}
#csChatList,#csChatPane{height:clamp(700px,calc(100vh - 168px),796px);min-height:700px}
#csChatList{position:relative;z-index:20}
#csChatPane{position:relative;z-index:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.cs-pane-summary{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-subtle);padding-bottom:8px;margin-bottom:8px;flex-shrink:0}
.cs-pane-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cs-pane-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:8px}
.cs-pane-top .cs-chat-actions{margin-left:auto;align-self:flex-start}
.cs-pane-overline{display:none}
.cs-pane-title{font-weight:950;font-size:15px;color:var(--text);line-height:1.3}
.cs-pane-subline{display:none}
.cs-pane-meta{display:flex;gap:6px;flex-wrap:wrap}
.cs-pane-meta .cs-chat-tag{padding:4px 8px;font-size:10px}
.cs-pane-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:6px;font-size:11px;color:var(--text-muted);line-height:1.45}
.cs-pane-facts span{min-width:0;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle);padding:7px 8px;overflow:hidden;white-space:normal;display:flex;flex-direction:column;gap:2px}
.cs-pane-facts b{color:var(--text-secondary);font-weight:900}
.cs-pane-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;padding-top:6px;border-top:1px solid var(--border-subtle)}
.cs-pane-action-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;flex-wrap:wrap}
.cs-pane-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:stretch;min-width:0;margin-left:0;width:100%}
.cs-pane-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;border:1px solid var(--border);font-size:11px;font-weight:900;white-space:nowrap;background:var(--bg-subtle);color:var(--text-secondary);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.cs-pane-status.done{background:color-mix(in srgb,var(--green-light) 72%, var(--card) 28%);border-color:color-mix(in srgb,var(--green) 38%, var(--border) 62%);color:var(--green)}
.cs-pane-status.review{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.38);color:#ef4444}
.cs-message-panel{flex:1 1 320px;min-height:320px;border:1px solid var(--border-subtle);border-radius:12px;background:color-mix(in srgb,var(--bg-subtle) 56%, var(--card) 44%);padding:12px;margin-bottom:8px;display:flex;flex-direction:column}
.cs-message-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--text-secondary);font-size:11px;font-weight:900}
.cs-message-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:4px}
.cs-msg-row{margin-bottom:10px;display:flex}
.cs-msg-row.seller{justify-content:flex-end}
.cs-msg-row.customer,.cs-msg-row.system{justify-content:flex-start}
.cs-msg-bubble{max-width:min(84%,820px);padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.68;color:var(--text);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}
.cs-msg-row.seller .cs-msg-bubble{background:color-mix(in srgb,var(--blue-light) 72%,var(--card) 28%)}
.cs-msg-row.customer .cs-msg-bubble{background:color-mix(in srgb,var(--yellow-light) 68%,var(--card) 32%)}
.cs-msg-row.system .cs-msg-bubble{background:var(--bg-subtle)}
.cs-msg-meta{font-size:10px;font-weight:800;color:var(--text-secondary);margin-bottom:3px}
.cs-original-details{margin-top:6px;border-top:1px dashed rgba(0,0,0,.1);padding-top:5px}
.cs-original-details summary{cursor:pointer;list-style:none;font-size:10px;font-weight:850;color:#6b7280}
.cs-original-details summary::-webkit-details-marker{display:none}
.cs-msg-ru{margin-top:4px;font-size:11px;color:var(--text-muted);font-style:italic}
.cs-draft-panel{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:12px;padding:10px;flex-shrink:0}
.cs-draft-panel.review{background:rgba(220,38,38,0.08);border-color:#dc2626}
.cs-draft-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;gap:8px;flex-wrap:wrap}
.cs-draft-title{font-weight:850;font-size:12px;color:var(--text)}
.cs-draft-note{font-size:11px;color:var(--text-muted)}
.cs-draft-textarea{width:100%;padding:9px 10px;border-radius:9px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;line-height:1.55;resize:vertical;min-height:96px}
.cs-draft-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:8px}
.cs-draft-actions .btn{width:100%;justify-content:center}
.cs-draft-actions .btn-primary{width:100%;justify-content:center}
.cs-context-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:8px;padding:8px;margin-top:6px;font-size:11px;color:var(--text-secondary);line-height:1.5}
#csChips{display:block!important;width:100%}
.cs-preview-md{font-size:12px;color:var(--text);line-height:1.45;max-height:4.35em;overflow:hidden;word-break:break-word}
.cs-preview-md.muted{font-size:10px;color:var(--text-muted);font-style:italic;max-height:2.9em;margin-top:2px}
.cs-preview-md p,.cs-preview-md ul,.cs-preview-md ol,.cs-preview-md blockquote,.cs-preview-md table,.cs-preview-md h1,.cs-preview-md h2,.cs-preview-md h3,.cs-preview-md h4{margin:0!important;font-size:inherit!important;line-height:inherit!important}
.cs-preview-md ul,.cs-preview-md ol{padding-left:15px!important}
.cs-preview-md code{font-size:inherit;background:var(--bg-subtle);padding:0 3px;border-radius:4px}
.cs-policy-test{margin-top:14px;border:1px solid color-mix(in srgb,var(--accent) 16%, var(--border) 84%);border-radius:14px;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 82%, var(--accent-light) 18%),var(--card))}
.cs-test-result{margin-top:10px;border-radius:12px;border:1px solid var(--border);background:var(--bg-subtle);padding:12px;font-size:12px;line-height:1.65;color:var(--text-secondary)}
@media(max-width:760px){.cs-shell-header{grid-template-columns:1fr}.cs-actions{justify-content:flex-start}.cs-action-menu{left:0;right:auto;width:min(260px,calc(100vw - 48px))}.cs-shopbar{width:100%;max-width:100%}.cs-shop-select{width:100%}.cs-filterbar{grid-template-columns:1fr}.cs-filter-summary{justify-self:start}.cs-work-queues{grid-template-columns:1fr}.cs-list-head{gap:8px}.cs-list-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-list-tools .cs-list-filter{width:100%}.cs-pane-top{grid-template-columns:1fr}.cs-pane-actions{align-items:flex-start;justify-content:flex-start;flex-direction:column;min-width:0}.cs-pane-action-buttons{justify-content:flex-start}.cs-chat-meta-row{grid-template-columns:1fr}#csChatList,#csChatPane{height:auto;min-height:0}.cs-message-panel{min-height:240px;flex-basis:240px}.cs-policy-layout,.cs-shop-manage-grid{grid-template-columns:1fr}.cs-drawer{width:calc(100vw - 20px);max-height:calc(100vh - 24px);padding:14px}}
.theme-switcher{position:relative;display:flex;align-items:center}
.theme-trigger{display:flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--accent) 14%, var(--border) 86%);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 74%, var(--bg-subtle) 26%),var(--bg-subtle));color:var(--text-secondary);border-radius:999px;padding:6px 12px;font-size:.7rem;font-weight:800;font-family:var(--font);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);position:relative;overflow:hidden}
.theme-trigger::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:85%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.theme-trigger:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--glow),var(--shadow-sm);transform:translateY(-1px)}
.theme-trigger:hover::after{animation:sheenSweep .7s var(--ease)}
.theme-trigger-dot{width:10px;height:10px;border-radius:50%;background:var(--accent-gradient);box-shadow:0 0 0 2px var(--surface-ghost);animation:pulseDot 2.4s ease-in-out infinite}
.theme-panel{position:absolute;right:0;top:calc(100% + 10px);width:270px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:10px;display:none;z-index:1300}
.theme-switcher.open .theme-panel{display:block;animation:themePanelIn .18s var(--ease)}
.theme-panel-title{font-size:.72rem;font-weight:900;color:var(--text-secondary);padding:3px 4px 8px}
.theme-option{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;background:transparent;border-radius:12px;padding:9px;cursor:pointer;font-family:var(--font);color:var(--text);text-align:left;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);position:relative;overflow:hidden}
.theme-option::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:85%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.theme-option:hover{background:color-mix(in srgb,var(--bg-subtle) 74%, var(--accent-light) 26%);border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.theme-option:hover::after{animation:sheenSweep .72s var(--ease)}
.theme-option.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-light) 88%, var(--card) 12%),var(--accent-light));border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%, transparent) inset}
.theme-swatch{width:42px;height:30px;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--surface-ghost-strong);flex-shrink:0}
.theme-swatch span{display:block}
.theme-name{font-size:.78rem;font-weight:900;line-height:1.2}
.theme-desc{font-size:.64rem;color:var(--text-muted);margin-top:2px;line-height:1.25}
@keyframes themePanelIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:var(--transition)}
.status-dot.on{background:var(--green);box-shadow:0 0 8px rgba(92,184,122,.5)}
.user-chip{display:none;align-items:center;gap:8px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent) 14%, var(--border) 86%);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 74%, var(--bg-subtle) 26%),var(--bg-subtle));color:var(--text-secondary);font-size:.72rem;font-weight:800}
.user-chip.open{display:inline-flex}
.user-chip button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit}
.user-chip button:hover{color:var(--accent)}
.auth-shell{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:
radial-gradient(circle at 16% 20%, color-mix(in srgb,var(--accent) 18%, transparent) 0, transparent 34%),
radial-gradient(circle at 82% 14%, color-mix(in srgb,var(--accent-2) 20%, transparent) 0, transparent 30%),
linear-gradient(135deg, rgba(10,10,14,.92), rgba(20,18,24,.84));backdrop-filter:blur(16px);z-index:1600;padding:28px}
.auth-shell.open{display:flex}
.auth-card{width:min(1120px,100%);display:grid;grid-template-columns:minmax(320px,1.06fr) minmax(360px,.94fr);background:linear-gradient(160deg,color-mix(in srgb,var(--card) 92%, rgba(255,255,255,.03) 8%),color-mix(in srgb,var(--bg-subtle) 68%, rgba(255,255,255,.02) 32%));border:1px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;min-height:min(760px,calc(100vh - 56px))}
.auth-hero{position:relative;padding:42px 38px 36px;background:
radial-gradient(circle at 18% 18%, color-mix(in srgb,var(--accent) 16%, transparent) 0, transparent 34%),
linear-gradient(180deg, color-mix(in srgb,var(--accent) 8%, transparent), transparent 42%),
linear-gradient(135deg, color-mix(in srgb,var(--card-hover) 86%, black 14%), color-mix(in srgb,var(--card) 92%, black 8%));display:flex;flex-direction:column;justify-content:space-between;gap:28px;color:var(--text)}
.auth-hero:before{content:"";position:absolute;inset:auto -18% -24% 18%;height:320px;background:radial-gradient(circle, color-mix(in srgb,var(--accent) 26%, transparent) 0, transparent 62%);pointer-events:none;filter:blur(12px)}
.auth-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 28%, var(--border) 72%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-ghost) 38%, var(--card) 62%),color-mix(in srgb,var(--bg-subtle) 76%, black 24%));font-size:.72rem;font-weight:900;letter-spacing:.08em;color:color-mix(in srgb,var(--text-secondary) 88%, white 12%);text-transform:uppercase}
.auth-brand-title{margin-top:16px;font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.04;letter-spacing:-.05em;font-weight:950;font-family:var(--font-display),var(--font);color:color-mix(in srgb,var(--text) 92%, white 8%);text-shadow:0 8px 28px rgba(0,0,0,.24)}
.auth-brand-sub{margin-top:14px;max-width:520px;font-size:.9rem;line-height:1.8;color:color-mix(in srgb,var(--text-secondary) 76%, white 24%)}
.auth-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.auth-highlight{position:relative;overflow:hidden;padding:16px 14px;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 14%, rgba(255,255,255,.08) 86%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-ghost) 34%, transparent),color-mix(in srgb,var(--card) 72%, rgba(255,255,255,.03) 28%));backdrop-filter:blur(8px);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease)}
.auth-highlight::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:85%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.auth-highlight:hover{transform:translateY(-3px) scale(1.02);border-color:color-mix(in srgb,var(--accent) 34%, rgba(255,255,255,.12) 66%);box-shadow:var(--glow),var(--shadow)}
.auth-highlight:hover::after{animation:sheenSweep .78s var(--ease)}
.auth-highlight strong{display:block;font-size:1.2rem;line-height:1.1;color:color-mix(in srgb,var(--text) 90%, white 10%)}
.auth-highlight span{display:block;margin-top:8px;font-size:.74rem;line-height:1.5;color:color-mix(in srgb,var(--text-secondary) 82%, white 18%)}
.auth-points{display:grid;gap:10px}
.auth-point{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 12%, rgba(255,255,255,.08) 88%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-ghost) 26%, transparent),color-mix(in srgb,var(--card) 80%, rgba(255,255,255,.02) 20%));transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease)}
.auth-point::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:85%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.auth-point:hover{transform:translateY(-3px) scale(1.015);border-color:color-mix(in srgb,var(--accent) 30%, rgba(255,255,255,.12) 70%);box-shadow:var(--glow),var(--shadow)}
.auth-point:hover::after{animation:sheenSweep .8s var(--ease)}
.auth-point-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:999px;background:color-mix(in srgb,var(--accent) 42%, rgba(255,255,255,.06) 58%);color:var(--badge-on-dark);font-size:.78rem;font-weight:900;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 18%, transparent)}
.auth-point-body strong{display:block;font-size:.8rem;color:color-mix(in srgb,var(--text) 90%, white 10%)}
.auth-point-body span{display:block;margin-top:4px;font-size:.72rem;line-height:1.55;color:color-mix(in srgb,var(--text-secondary) 82%, white 18%)}
.auth-panel{padding:34px 34px 30px;display:flex;flex-direction:column;justify-content:center;background:
linear-gradient(180deg,color-mix(in srgb,var(--card) 84%, rgba(255,255,255,.03) 16%),color-mix(in srgb,var(--bg-subtle) 88%, rgba(255,255,255,.02) 12%))}
.auth-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.auth-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%, transparent);border:1px solid color-mix(in srgb,var(--accent) 16%, var(--border) 84%);font-size:.72rem;font-weight:900;color:var(--text-secondary)}
.auth-panel-title{margin-top:16px;font-size:1.56rem;line-height:1.18;font-weight:900;letter-spacing:-.035em;color:var(--text)}
.auth-title{font-size:1.56rem;font-weight:900;line-height:1.18;letter-spacing:-.035em;color:var(--text)}
.auth-sub{margin-top:10px;font-size:.82rem;color:var(--text-muted);line-height:1.75;max-width:460px}
.auth-tabs{display:flex;gap:10px;margin:24px 0 18px;padding:6px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 74%, var(--bg-subtle) 26%),var(--bg-subtle))}
.auth-tabs button{flex:1;border:none;background:transparent;color:var(--text-secondary);border-radius:12px;padding:12px 12px;font-size:.8rem;font-weight:900;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s var(--ease)}
.auth-tabs button.active{background:var(--accent-gradient);color:var(--badge-on-accent);box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 22%, transparent)}
.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-field{display:flex;flex-direction:column;gap:8px}
.auth-field span{font-size:.73rem;font-weight:900;color:var(--text-secondary);letter-spacing:.03em}
.auth-form input{width:100%;padding:14px 15px;border:1.5px solid var(--border);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-subtle) 76%, var(--card) 24%),var(--bg-subtle));color:var(--text);font:inherit;outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}
.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 11%, transparent);transform:translateY(-1px)}
.auth-error{min-height:20px;font-size:.72rem;color:var(--danger)}
.auth-actions{display:flex;align-items:center;gap:12px;margin-top:4px}
.auth-actions .btn{min-width:132px}
.auth-mode-note{font-size:.72rem;line-height:1.65;color:var(--text-muted)}
.auth-footer-note{margin-top:18px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--border) 82%, transparent 18%);font-size:.72rem;line-height:1.7;color:var(--text-muted)}
body.auth-open{overflow:hidden}
@media (max-width: 960px){
  .auth-shell{padding:18px}
  .auth-card{grid-template-columns:1fr;min-height:auto}
  .auth-hero{padding:30px 24px 24px}
  .auth-panel{padding:26px 22px 22px}
  .auth-highlights{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .auth-brand-title{font-size:2rem}
  .auth-highlights{grid-template-columns:1fr}
  .auth-panel-top{flex-direction:column}
  .auth-actions{flex-direction:column;align-items:stretch}
  .auth-actions .btn{width:100%}
}

/* Main */
.main{width:min(960px,calc(100vw - 40px));max-width:960px;margin-left:auto;margin-right:auto;padding:20px 20px 100px}
#officeMain{width:min(1320px,calc(100vw - 32px));max-width:1320px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}
.view{display:none}.view.active{display:block}
.greeting{font-size:1.5rem;font-weight:900;letter-spacing:-.03em;margin-bottom:20px;line-height:1.3;font-family:var(--font-display),var(--font);background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.greeting .wave{display:inline-block;animation:wave 2s ease-in-out infinite;transform-origin:70% 70%;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--text);-webkit-text-fill-color:var(--text)}
@keyframes wave{0%,100%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%,100%{transform:rotate(0)}}
.dash-greeting-wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.dash-greeting-wrap .greeting{margin-bottom:0}
.platform-manage{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--card-hover),var(--card));box-shadow:var(--shadow-sm)}
.platform-manage-label{font-size:.72rem;font-weight:900;color:var(--text-secondary);letter-spacing:.04em}
.platform-manage-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.platform-manage-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 64%, var(--bg-subtle) 36%),var(--bg-subtle));font-size:.72rem;font-weight:800;color:var(--text-secondary);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}
.platform-manage-tag:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}
.platform-manage-tag.active{background:var(--accent-gradient);border-color:transparent;color:var(--badge-on-accent);box-shadow:var(--accent-soft-shadow)}
.platform-manage-tag-dot{width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.78}

/* Metrics */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.metric{background:var(--card);border-radius:var(--radius);padding:18px 16px;box-shadow:var(--shadow-sm);text-align:center;transition:all .25s var(--ease);border:1px solid var(--border);position:relative;overflow:hidden}
.metric:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.metric-value{font-size:1.55rem;font-weight:900;letter-spacing:-.03em;line-height:1.2}
.metric-label{font-size:.7rem;color:var(--text-muted);margin-top:5px}
.metric-trend{font-size:.7rem;font-weight:700;margin-left:4px}
.metric-trend.up{color:var(--green)}.metric-trend.down{color:var(--danger)}

/* Alerts */
.section-label{font-size:.82rem;font-weight:700;color:var(--text-secondary);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.alert{background:var(--card);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);transition:var(--transition)}
.alert:hover{box-shadow:var(--shadow)}
.alert.danger{border-left:3px solid var(--accent)}.alert.warning{border-left:3px solid var(--yellow)}.alert.info{border-left:3px solid var(--green)}
.alert-content{flex:1;min-width:0}.alert-title{font-size:.85rem;font-weight:600}.alert-desc{font-size:.72rem;color:var(--text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alert-action{flex-shrink:0}

/* Quick Actions */
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.quick-card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 84%, var(--accent-light) 16%),var(--card));border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);border-radius:var(--radius);padding:18px 14px;cursor:pointer;text-align:center;transition:transform .22s var(--spring),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease);position:relative;overflow:hidden;isolation:isolate}
.quick-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 14%, transparent) 0,transparent 48%);opacity:.7;pointer-events:none}
.quick-card::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-132%;width:88%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.quick-card:hover{border-color:var(--accent);transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg),var(--glow)}
.quick-card:hover::after{animation:sheenSweep .85s var(--ease)}
.quick-card .qc-icon{font-size:1.8rem;margin-bottom:6px;display:block}
.quick-card .qc-text{font-size:.82rem;font-weight:600;position:relative;z-index:1}
.quick-card .qc-desc{font-size:.68rem;color:var(--text-muted);display:block;margin-top:4px;line-height:1.4}
.platform-hover-menu{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:6px;justify-content:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:all .18s var(--ease);z-index:4}
.quick-card:hover .platform-hover-menu,.preset-card:hover .platform-hover-menu{opacity:1;transform:translateY(0);pointer-events:auto}
.platform-pick{border:1px solid color-mix(in srgb,var(--accent) 26%, var(--border) 74%);background:color-mix(in srgb,var(--surface-strong) 80%, var(--card) 20%);color:var(--text-secondary);border-radius:999px;padding:5px 9px;font-size:.66rem;font-weight:800;cursor:pointer;font-family:var(--font);box-shadow:var(--shadow-sm);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease)}
.platform-pick:hover{background:var(--accent-gradient);border-color:transparent;color:var(--badge-on-accent);transform:translateY(-2px) scale(1.02);box-shadow:var(--accent-soft-shadow)}
.quick-card.has-platform-menu,.preset-card.has-platform-menu{padding-bottom:48px}

/* Input & Buttons */
.input-area{background:var(--card);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:flex-end;border:1px solid var(--border);transition:border-color .2s var(--ease);position:relative;z-index:2}
.input-area:focus-within{border-color:var(--accent);box-shadow:var(--shadow),0 0 0 3px color-mix(in srgb,var(--accent) 12%, transparent)}
.input-area textarea{flex:1;padding:8px 0;border:none;font-size:.88rem;font-family:var(--font);resize:none;outline:none;min-height:38px;max-height:80px;line-height:1.5;background:transparent;color:var(--text)}
.input-area textarea::placeholder{color:var(--text-muted)}
.btn{padding:9px 20px;border:none;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;cursor:pointer;font-family:var(--font);transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);white-space:nowrap;position:relative;z-index:3;overflow:hidden}
.btn::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:84%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.btn:hover::after{animation:sheenSweep .72s var(--ease)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-primary{background:var(--accent-gradient);color:var(--badge-on-accent);font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%, transparent),0 0 0 1px color-mix(in srgb,var(--accent) 20%, transparent) inset}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 26%, transparent),var(--glow)}
.btn-primary:disabled{background:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}
.btn-ghost{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 76%, var(--bg-subtle) 24%),transparent);color:var(--text-secondary);border:1.5px solid var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);box-shadow:var(--shadow-sm)}
.btn-sm{padding:6px 14px;font-size:.73rem;border-radius:9px}
.pill{padding:6px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 82%, var(--bg-subtle) 18%),var(--card));border:1.5px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);border-radius:20px;font-size:.72rem;color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease);font-weight:600;position:relative;overflow:hidden}
.pill::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-128%;width:82%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.pill:hover::after{animation:sheenSweep .72s var(--ease)}
.crew-toggle.active{background:var(--accent-gradient);color:var(--badge-on-accent);border-color:transparent;box-shadow:var(--accent-soft-shadow)}
.crew-direct{background:var(--bg-subtle);border-color:var(--border-strong)}
.crew-direct:hover{background:var(--accent-gradient);color:var(--badge-on-accent);border-color:transparent}
.preset-launcher{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.preset-note{font-size:.72rem;color:var(--text-muted)}
.preset-overlay{display:none;position:fixed;inset:0;background:rgba(12,10,8,.68);backdrop-filter:blur(8px);z-index:760;align-items:center;justify-content:center;padding:20px}
.preset-overlay.open{display:flex}
.preset-modal{width:min(980px,100%);max-height:min(86vh,860px);overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}
.preset-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}
.preset-modal-title{font-size:1rem;font-weight:800}
.preset-modal-sub{font-size:.76rem;color:var(--text-muted);margin-top:4px}
.preset-modal-body{padding:18px 20px 22px;overflow-y:auto}
.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.preset-card{background:linear-gradient(180deg,color-mix(in srgb,var(--card-hover) 88%, var(--accent-light) 12%),var(--card));border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);border-radius:16px;padding:16px;cursor:pointer;transition:transform .22s var(--spring),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease);position:relative;overflow:hidden}
.preset-card::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-132%;width:88%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.preset-card:hover{transform:translateY(-4px) scale(1.01);border-color:var(--accent);box-shadow:var(--shadow-lg),var(--glow)}
.preset-card:hover::after{animation:sheenSweep .8s var(--ease)}
.preset-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%, transparent),var(--shadow)}
.preset-card-icon{font-size:1.5rem;display:block;margin-bottom:8px}
.preset-card-title{font-size:.84rem;font-weight:700}
.preset-card-desc{font-size:.71rem;color:var(--text-muted);margin-top:6px;line-height:1.55}
.platform-scope-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-top:8px;flex-wrap:wrap}
.platform-scope-label{font-size:.68rem;color:var(--text-muted);font-weight:700}
.platform-scope-buttons{display:flex;gap:6px;flex-wrap:wrap}
.platform-scope-btn{border:1.5px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 76%, var(--bg-subtle) 24%),var(--bg-subtle));color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:.7rem;font-weight:800;cursor:pointer;font-family:var(--font);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease)}
.platform-scope-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.platform-scope-btn.active{background:var(--accent-gradient);border-color:transparent;color:var(--badge-on-accent);box-shadow:var(--accent-soft-shadow)}
.platform-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--accent) 26%, var(--border) 74%);background:var(--surface-accent-soft);color:var(--accent);border-radius:999px;padding:3px 8px;font-size:.64rem;font-weight:800;line-height:1}
.data-platform-switch{display:flex;gap:6px;align-items:center;margin-right:8px}
.data-platform-switch button{padding:6px 14px;border:none;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 76%, var(--bg-subtle) 24%),var(--bg-subtle));color:var(--text-muted);font-size:.72rem;font-weight:800;cursor:pointer;font-family:var(--font);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}
.data-platform-switch button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);color:var(--accent)}
.data-platform-switch button.active{background:var(--accent-gradient);color:var(--badge-on-accent);box-shadow:var(--accent-soft-shadow)}
.team-size-list{display:flex;flex-direction:column;gap:12px}
.team-size-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--card-hover) 86%, var(--accent-light) 14%),var(--card));border:1px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);border-radius:18px;padding:18px;cursor:pointer;transition:transform .22s var(--spring),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease);position:relative;overflow:hidden}
.team-size-card::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-132%;width:88%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.team-size-card:hover{transform:translateY(-4px) scale(1.01);border-color:var(--accent);box-shadow:var(--shadow-lg),var(--glow)}
.team-size-card:hover::after{animation:sheenSweep .8s var(--ease)}
.team-size-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%, transparent),var(--shadow)}
.team-size-copy{min-width:0;flex:1}
.team-size-title{font-size:.92rem;font-weight:800;color:var(--text)}
.team-size-desc{font-size:.74rem;color:var(--text-muted);margin-top:6px;line-height:1.6}
.team-size-figures{display:grid;grid-template-columns:repeat(3,18px);gap:6px;min-width:72px;justify-content:center}
.team-size-figures.pyramid{grid-template-rows:repeat(2,18px)}
.team-size-figures.pyramid .team-mini:nth-child(1){grid-column:2;grid-row:1}
.team-size-figures.pyramid .team-mini:nth-child(2){grid-column:1;grid-row:2}
.team-size-figures.pyramid .team-mini:nth-child(3){grid-column:3;grid-row:2}
.team-size-figures.six{grid-template-rows:repeat(2,18px)}
.team-size-figures.nine{grid-template-rows:repeat(3,18px)}
.team-mini{position:relative;width:18px;height:18px;border-radius:999px;background:var(--surface-accent-soft);border:1px solid color-mix(in srgb,var(--accent) 26%, var(--border) 74%);box-shadow:inset 0 1px 0 var(--surface-ghost)}
.team-mini::before{content:"";position:absolute;top:2px;left:5px;width:6px;height:6px;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 30%, white 70%),var(--accent))}
.team-mini::after{content:"";position:absolute;left:4px;bottom:3px;width:8px;height:6px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 58%, white 42%),var(--accent-dark))}
.image-plan-list{display:flex;flex-direction:column;gap:10px}
.image-plan-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;padding:12px}
.image-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.image-plan-title{font-size:.78rem;font-weight:700}
.image-plan-status{font-size:.68rem;padding:3px 8px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text-secondary)}
.image-plan-status.running{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%, var(--border) 65%);background:var(--accent-light)}
.image-plan-status.done{color:var(--green);border-color:rgba(92,184,122,.35)}
.image-plan-status.error{color:var(--danger);border-color:rgba(212,90,90,.35)}
.image-plan-meta{font-size:.72rem;color:var(--text-secondary);line-height:1.7}
.image-plan-prompt{margin-top:8px;padding:8px 10px;background:var(--code-bg);border-radius:8px;font-size:.68rem;color:var(--code-text);line-height:1.55;max-height:120px;overflow:auto}

/* Chat Layout */
.chat-layout{display:flex;height:calc(100vh - 54px);overflow:hidden;position:relative}
.session-sidebar{width:210px;min-width:210px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%, var(--accent-light) 12%),var(--surface-elevated-2));border-right:1px solid color-mix(in srgb,var(--accent) 18%, var(--border) 82%);display:flex;flex-direction:column;flex-shrink:0;position:relative;z-index:610;transition:width .3s ease,min-width .3s ease,opacity .3s ease,box-shadow .22s var(--ease);box-shadow:12px 0 28px color-mix(in srgb,var(--surface-soft-strong) 68%, transparent),2px 0 0 color-mix(in srgb,var(--accent) 8%, transparent)}
.session-sidebar.collapsed{width:0;min-width:0;opacity:0;overflow:hidden;border:none;box-shadow:none}
.session-sidebar-header{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 16%, var(--border) 84%);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%, var(--accent-light) 22%),color-mix(in srgb,var(--card) 92%, transparent 8%))}
.session-sidebar-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.session-list{flex:1;overflow-y:auto;padding:8px}
.session-item{padding:9px 10px;border-radius:10px;cursor:pointer;margin-bottom:4px;font-size:.78rem;color:var(--text-secondary);transition:transform .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease),color .16s var(--ease);display:flex;align-items:center;gap:8px;border:1px solid transparent}
.session-item:hover{background:color-mix(in srgb,var(--bg-subtle) 72%, var(--accent-light) 28%);transform:translateX(2px);box-shadow:var(--shadow-sm)}
.session-item.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-light) 88%, var(--card) 12%),var(--accent-light));color:var(--accent);font-weight:700;border-color:color-mix(in srgb,var(--accent) 30%, transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%, transparent) inset}
.session-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-item-btn{width:28px;height:28px;border:none;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.74rem;transition:transform .16s var(--ease),background .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease);flex-shrink:0}
.session-item-btn:hover{background:color-mix(in srgb,var(--surface-ghost) 52%, var(--accent-light) 48%);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.chat-bottom{padding:12px 18px;border-top:1px solid var(--border);background:var(--card);flex-shrink:0;position:relative;z-index:610}
body.detail-open .chat-bottom{z-index:610}
body.task-sidebar-open .main{width:min(960px,calc(100vw - 380px));max-width:960px;margin-left:auto;margin-right:340px}
body.task-sidebar-open #officeMain{width:min(1320px,calc(100vw - 380px));max-width:1320px}
body.task-sidebar-open #chatLayout{padding-right:320px}
body.session-sidebar-open #chatLayout{padding-left:36px}
.chat-messages{flex:1;overflow-y:auto;padding:20px;background:var(--bg);scroll-behavior:smooth}
.img-upload-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);cursor:pointer;font-size:1rem;transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease);flex-shrink:0;color:var(--text-muted);background:linear-gradient(180deg,color-mix(in srgb,var(--card) 82%, var(--bg-subtle) 18%),var(--bg-subtle))}
.img-upload-btn:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.chat-drop-overlay{position:absolute;inset:14px 18px 14px 228px;display:none;align-items:center;justify-content:center;border:2px dashed color-mix(in srgb,var(--accent) 52%, var(--border) 48%);border-radius:24px;background:color-mix(in srgb,var(--bg) 66%, var(--accent-light) 34%);backdrop-filter:blur(10px) saturate(120%);z-index:720;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%, transparent),0 0 0 10px color-mix(in srgb,var(--accent) 5%, transparent)}
body.session-sidebar-open .chat-drop-overlay{inset:14px 18px 14px 52px}
.chat-layout.drag-active .chat-drop-overlay{display:flex;animation:fadeIn .16s var(--ease),dropHoverPulse 1.2s ease-in-out infinite}
.chat-drop-overlay-card{padding:20px 26px;border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 84%, var(--accent-light) 16%),var(--card));border:1px solid color-mix(in srgb,var(--accent) 34%, var(--border) 66%);box-shadow:var(--shadow-lg),var(--glow-strong);text-align:center;max-width:min(420px,70vw);position:relative;overflow:hidden}
.chat-drop-overlay-card::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-132%;width:88%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:.85;animation:sheenSweep 1.2s var(--ease) infinite}
.chat-drop-overlay-title{font-size:1rem;font-weight:900;color:var(--text)}
.chat-drop-overlay-sub{margin-top:6px;font-size:.76rem;color:var(--text-secondary);line-height:1.6}

/* Task Sidebar */
.task-sidebar{width:320px;min-width:320px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%, var(--accent-light) 12%),var(--surface-elevated-2));border-left:1px solid color-mix(in srgb,var(--accent) 18%, var(--border) 82%);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease,min-width .3s ease,opacity .3s ease,box-shadow .22s var(--ease);z-index:610;box-shadow:-12px 0 28px color-mix(in srgb,var(--surface-soft-strong) 68%, transparent),-2px 0 0 color-mix(in srgb,var(--accent) 8%, transparent)}
.task-sidebar.collapsed{width:0;min-width:0;opacity:0;overflow:hidden;border:none}
.task-sidebar.animating .task-sidebar-body{pointer-events:none}
.task-sidebar.animating .tcard,.task-sidebar.animating .tcard:hover{transform:none!important;transition:none!important}
.task-sidebar.animating .tcard::after,.task-sidebar.animating .tcard:hover::after{animation:none!important;opacity:0!important}
.task-sidebar.animating .tcard-av,.task-sidebar.animating .tcard:hover .tcard-av{transform:none!important;transition:none!important}
.task-sidebar.revealing .task-sidebar-body{animation:taskSidebarReveal .24s var(--ease)}
.task-sidebar-header{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 16%, var(--border) 84%);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%, var(--accent-light) 22%),color-mix(in srgb,var(--card) 92%, transparent 8%))}
.task-sidebar-body{flex:1;overflow-y:auto;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 50%, var(--card) 50%),color-mix(in srgb,var(--card) 90%, var(--bg-subtle) 10%))}
.split-toggle{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 76%, var(--bg-subtle) 24%),var(--bg-subtle));border:1px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);border-radius:999px;cursor:pointer;font-size:.7rem;padding:5px 10px;color:var(--text-secondary);font-weight:800;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease)}
.split-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.task-sidebar-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);background:var(--accent-gradient);color:var(--badge-on-accent);padding:10px 7px;border-radius:var(--radius-xs) 0 0 var(--radius-xs);cursor:pointer;font-size:.75rem;writing-mode:vertical-rl;box-shadow:var(--shadow-lg),var(--glow);z-index:610;transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease)}
.task-sidebar-tab:hover{filter:brightness(1.02) saturate(1.05);transform:translateY(-50%) translateX(-2px)}
.session-sidebar-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--accent-gradient);color:var(--badge-on-accent);padding:10px 7px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;cursor:pointer;font-size:.75rem;writing-mode:vertical-rl;box-shadow:var(--shadow-lg),var(--glow);z-index:620;transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease)}
.session-sidebar-tab:hover{filter:brightness(1.02) saturate(1.05);transform:translateY(-50%) translateX(2px)}
.task-count{display:inline-block;background:var(--surface-elevated);color:var(--accent);border-radius:50%;width:16px;height:16px;text-align:center;line-height:16px;font-size:.6rem;font-weight:700;margin-top:4px;border:1px solid color-mix(in srgb,var(--accent) 20%, transparent)}
.task-toast-stack{position:fixed;right:20px;top:72px;z-index:1200;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.task-toast{width:min(360px,calc(100vw - 40px));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-toast) 88%, var(--accent-light) 12%),var(--surface-toast));color:var(--badge-on-accent);border:1px solid color-mix(in srgb,var(--accent) 28%, var(--border) 72%);border-left:4px solid var(--accent);border-radius:16px;box-shadow:var(--shadow-lg),var(--glow);padding:12px 14px;pointer-events:auto;animation:toastIn .22s var(--ease);backdrop-filter:blur(12px);position:relative;overflow:hidden}
.task-toast::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:84%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none;animation:sheenSweep .95s var(--ease)}
.task-toast-title{font-size:.82rem;font-weight:900;margin-bottom:2px;color:var(--badge-on-accent)}
.task-toast-text{font-size:.74rem;color:var(--border-strong);line-height:1.45}
.task-toast-actions{display:flex;gap:8px;margin-top:10px}
.task-toast-actions button{border:none;border-radius:999px;padding:5px 12px;font-size:.68rem;font-weight:800;font-family:var(--font);cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease),filter .16s var(--ease)}
.task-toast-actions button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.task-toast-open{background:var(--accent-gradient);color:var(--badge-on-accent)}
.task-toast-close{background:color-mix(in srgb,var(--surface-toast) 78%, var(--accent) 22%);color:var(--border-strong)}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes taskSidebarReveal{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@keyframes tcardIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Chat Bubbles */
.chat-row{margin-bottom:14px;animation:msgIn .3s var(--ease) both}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.chat-boss{display:flex;justify-content:flex-end}
.chat-boss-bubble{background:var(--accent-gradient);color:var(--badge-on-accent);padding:10px 16px;border-radius:18px 18px 4px 18px;font-size:.84rem;max-width:70%;line-height:1.65;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 20%, transparent);font-weight:500}
.chat-assistant{display:flex;gap:10px;align-items:flex-start}
.chat-avatar{width:32px;height:32px;border-radius:10px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;color:var(--badge-on-accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%, transparent)}
.chat-bubble{background:var(--card);padding:12px 16px;border-radius:4px 18px 18px 18px;font-size:.84rem;max-width:75%;line-height:1.7;box-shadow:var(--shadow-sm);border:1px solid var(--border)}

/* Task Cards */
.grid-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);margin-bottom:10px;display:none}
.grid-label.show{display:flex;align-items:center;gap:6px}
.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.tcard{background:var(--surface-panel);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .24s var(--spring),box-shadow .22s var(--ease),border-color .22s var(--ease),filter .22s var(--ease);border:1px solid color-mix(in srgb,var(--accent) 8%, var(--border) 92%);position:relative;overflow:hidden}
.tcard::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 16%, transparent) 0,transparent 42%);opacity:.8;pointer-events:none}
.tcard::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-132%;width:88%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.tcard.entering{animation:tcardIn .22s var(--ease)}
.tcard:hover{box-shadow:var(--shadow-lg),var(--glow);border-color:var(--accent);transform:translateY(-4px) scale(1.01)}
.tcard:hover::after{animation:sheenSweep .8s var(--ease)}
.tcard.running{border-color:color-mix(in srgb,var(--accent) 38%, var(--yellow) 62%);background:var(--running-panel);box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent) 10%, transparent) inset}
.tcard.running:hover{transform:none;box-shadow:var(--shadow-lg),var(--glow)}
.tcard.completed,.tcard.confirming,.tcard.done{border-color:color-mix(in srgb,var(--green) 78%, var(--accent) 22%);background:var(--success-panel);box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--green) 10%, transparent) inset}
.tcard.error{border-color:color-mix(in srgb,var(--danger) 82%, var(--accent) 18%);background:var(--error-panel);box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--danger) 10%, transparent) inset}
.tcard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tcard-title{font-size:.84rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.tcard-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.tcard-rename{width:26px;height:26px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.74rem;transition:var(--transition)}
.tcard-rename:hover{background:var(--surface-ghost);color:var(--accent)}
.tcard-badge{padding:3px 10px;border-radius:12px;font-size:.62rem;font-weight:700;flex-shrink:0;margin-left:8px;text-transform:uppercase;letter-spacing:.04em}
.tcard-badge.running{background:var(--warning-gradient);color:var(--badge-on-accent)}
.tcard-badge.completed,.tcard-badge.confirming,.tcard-badge.done{background:var(--success-gradient);color:var(--badge-on-accent)}
.tcard-badge.error{background:var(--danger-gradient);color:var(--badge-on-dark)}
.tcard-progress{height:4px;background:color-mix(in srgb,var(--border) 72%, var(--bg-subtle) 28%);border-radius:999px;margin:10px 0 8px;overflow:hidden;position:relative}
.tcard-progress-fill{height:100%;background:var(--accent-gradient);border-radius:999px;transition:width .6s var(--ease);position:relative;overflow:hidden}
.tcard-progress-fill::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:progressSweep 1.8s linear infinite}
.tcard-team{display:flex;margin:6px 0}
.tcard-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;border:2px solid var(--card);margin-left:-6px;transition:transform .16s var(--ease),box-shadow .16s var(--ease);box-shadow:0 2px 6px color-mix(in srgb,var(--surface-soft-strong) 82%, transparent)}
.tcard:hover .tcard-av{transform:translateY(-1px) scale(1.04)}
.tcard.running:hover .tcard-av{transform:none}
.tcard-av:first-child{margin-left:0}
.tcard-session{font-size:.66rem;color:var(--text-secondary);margin-top:6px;opacity:.88;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tcard-execution{font-size:.66rem;color:var(--text-secondary);margin-top:6px;line-height:1.5}
.tcard-execution.error{color:var(--danger)}
.tcard-time{font-size:.65rem;color:var(--text-muted);margin-top:4px;opacity:.7}

/* Detail Overlay */
.overlay{display:none;position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 68%, black 32%);backdrop-filter:blur(8px);z-index:780;justify-content:center;align-items:center;animation:fadeIn .25s var(--ease);pointer-events:none}
.overlay.open{display:flex;pointer-events:auto}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.detail{background:transparent;width:100%;max-width:1400px;height:90vh;position:relative;animation:slideUp .35s var(--spring);display:flex;flex-direction:column;gap:0;padding:0 16px;pointer-events:auto}
@keyframes slideUp{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
.detail-header{display:none}
.detail-body{display:flex;gap:12px;width:100%;flex:1;min-height:0;align-items:stretch;justify-content:center}
.detail-content-row{display:flex;gap:12px;flex:1;min-height:0;align-items:stretch}

/* Two separate cards */
.detail-left-card{flex:1;min-width:0;max-width:50%;background:var(--surface-panel);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:flex .35s var(--ease),max-width .35s var(--ease),opacity .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);position:relative}
.detail-left-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 12%, transparent) 0,transparent 38%);pointer-events:none}
.detail-left-card-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:color-mix(in srgb,var(--card) 82%, var(--accent-light) 18%)}
.detail-left-card-header h3{font-size:.88rem;font-weight:700}
.detail-left-card-body{flex:1;overflow-y:auto;padding:14px}
.detail-right-card{flex:1;min-width:0;max-width:50%;background:var(--surface-panel);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:flex .35s var(--ease),max-width .35s var(--ease),opacity .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);position:relative}
.detail-right-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 12%, transparent) 0,transparent 38%);pointer-events:none}
.detail-right-card-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:color-mix(in srgb,var(--card) 82%, var(--accent-light) 18%)}
.detail-right-card-header h3{font-size:.88rem;font-weight:700}

/* Two separate cards - continued */
.detail-right-msgs{flex:1;overflow-y:auto;padding:16px;background:var(--bg-subtle);border-radius:0 0 0 0}
.detail-right-input{padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}
.task-chat-row{margin-bottom:12px;animation:msgIn .3s var(--ease) both}
.task-chat-boss{display:flex;justify-content:flex-end}
.task-chat-boss-bubble{background:var(--accent-gradient);color:var(--badge-on-accent);padding:8px 14px;border-radius:14px 14px 4px 14px;font-size:.8rem;max-width:80%;line-height:1.6;font-weight:500}
.task-chat-ai{display:flex;gap:8px;align-items:flex-start}
.task-chat-ai-avatar{width:28px;height:28px;border-radius:8px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--badge-on-accent);flex-shrink:0}
.task-chat-ai-bubble{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 88%, var(--accent-light) 12%),var(--card));padding:10px 14px;border-radius:4px 14px 14px 14px;font-size:.8rem;max-width:80%;line-height:1.7;border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);box-shadow:var(--shadow-sm)}

/* Detail components */
.d-progress{height:4px;background:var(--border);border-radius:3px;margin-bottom:20px;overflow:hidden}
.d-progress-fill{height:100%;background:var(--accent-gradient);border-radius:3px;transition:width .6s var(--ease)}
.d-section{margin-bottom:16px}
.d-section-title{font-size:.76rem;font-weight:700;color:var(--text-secondary);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.d-team{display:flex;flex-wrap:wrap;gap:8px}
.d-member{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;font-size:.78rem;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 84%, var(--accent-light) 16%),var(--card));border:1.5px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}
.d-member:hover{box-shadow:var(--shadow),var(--glow);transform:translateY(-3px);border-color:var(--accent)}
.d-member.working{border-color:var(--accent);background:var(--accent-light)}
.d-member.completed{border-color:color-mix(in srgb,var(--green) 78%, var(--accent) 22%);background:color-mix(in srgb,var(--green-light) 86%, var(--card) 14%)}
.d-member.awakening{border-color:color-mix(in srgb,var(--accent) 32%, var(--yellow) 68%);background:color-mix(in srgb,var(--yellow-light) 82%, var(--accent-light) 18%);animation:pulse-glow 1.8s ease infinite}
@keyframes pulse-glow{0%,100%{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%, transparent)}}
.d-member-emoji{font-size:1.1rem}.d-member-info{line-height:1.3}.d-member-name{font-weight:600;font-size:.78rem}.d-member-task{font-size:.65rem;color:var(--text-muted)}.d-member-status{font-size:.72rem;margin-left:auto}
.d-worker-popup{display:none;background:var(--surface-panel-strong);border-radius:var(--radius-sm);padding:16px;margin-bottom:16px;border:1px solid var(--border);box-shadow:var(--shadow);animation:fadeIn .2s var(--ease)}
.d-worker-popup.show{display:block}
.d-logs{background:color-mix(in srgb,var(--card) 86%, var(--bg-subtle) 14%);border-radius:var(--radius-sm);padding:12px;border:1px solid var(--border);max-height:180px;overflow-y:auto}
.d-log{display:flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 0;border-bottom:1px solid var(--border)}
.d-log:last-child{border-bottom:none}
.d-log-emoji{font-size:.85rem;flex-shrink:0}.d-log-text{flex:1;color:var(--text)}.d-log-time{font-size:.65rem;color:var(--text-muted);flex-shrink:0}
.d-summary{background:color-mix(in srgb,var(--green-light) 82%, var(--card) 18%);border-radius:var(--radius-sm);padding:16px;border-left:4px solid var(--green);line-height:1.8}
.d-report{background:color-mix(in srgb,var(--card) 90%, var(--bg-subtle) 10%);border-radius:var(--radius-sm);padding:18px;border:1px solid var(--border);max-height:480px;overflow-y:auto;line-height:1.8}
.d-actions{display:flex;gap:8px;flex-wrap:wrap}
.d-revise{display:flex;gap:8px;align-items:flex-end}
.d-revise textarea{flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:.82rem;font-family:var(--font);resize:none;outline:none;min-height:40px;transition:border-color .18s var(--ease);background:var(--bg-subtle);color:var(--text)}
.d-revise textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%, transparent)}
.d-images{display:flex;flex-wrap:wrap;gap:10px}
.d-images img{max-width:280px;border-radius:var(--radius-sm);box-shadow:var(--shadow)}
.detail-card-actions{display:flex;align-items:center;gap:8px}
.detail-card-quick{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%, var(--bg-subtle) 22%),var(--bg-subtle));border:1px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);border-radius:999px;padding:7px 13px;cursor:pointer;font-size:.7rem;font-weight:800;color:var(--text-secondary);display:flex;align-items:center;gap:6px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);position:relative;overflow:hidden}
.detail-card-quick::after{content:"";position:absolute;top:-55%;bottom:-55%;left:-130%;width:84%;background:var(--shine-soft);transform:translateX(-260%) skewX(-18deg);opacity:0;pointer-events:none}
.detail-card-quick:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.detail-card-quick:hover::after{animation:sheenSweep .72s var(--ease)}
.detail-card-quick.active{background:var(--accent-gradient);border-color:transparent;color:var(--badge-on-accent);box-shadow:var(--accent-soft-shadow)}
.detail-card-quick-icon{font-size:.82rem;line-height:1}
.detail-close-inline{width:38px;height:38px;border:1px solid color-mix(in srgb,var(--accent) 12%, var(--border) 88%);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 74%, var(--bg-subtle) 26%),transparent);font-size:1rem;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.detail-close-inline:hover{border-color:color-mix(in srgb,var(--accent) 45%, transparent);background:color-mix(in srgb,var(--accent) 12%, transparent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.detail-inline-block{margin-top:12px}
.detail-inline-toggle{width:100%;border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 70%, var(--surface-ghost) 30%),color-mix(in srgb,var(--card) 86%, transparent 14%));padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);font-family:var(--font);text-align:left}
.detail-inline-toggle:hover{border-color:var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%, transparent),color-mix(in srgb,var(--accent) 6%, transparent));transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.detail-inline-toggle[aria-expanded="true"]{border-color:color-mix(in srgb,var(--accent) 55%, transparent);background:color-mix(in srgb,var(--accent) 10%, transparent)}
.detail-inline-toggle-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.detail-inline-toggle-label{font-size:.76rem;font-weight:800;color:var(--text)}
.detail-inline-toggle-hint{font-size:.68rem;color:var(--text-muted);line-height:1.45}
.detail-inline-toggle-trail{display:flex;align-items:center;gap:8px;flex-shrink:0}
.detail-inline-toggle-state{font-size:.7rem;font-weight:700;color:var(--text-secondary)}
.detail-inline-toggle-icon{width:22px;height:22px;border-radius:999px;background:var(--surface-ghost);display:flex;align-items:center;justify-content:center;color:var(--text);font-size:.88rem;transition:transform .2s var(--ease),background .2s var(--ease)}
.detail-inline-toggle[aria-expanded="true"] .detail-inline-toggle-icon{transform:rotate(90deg);background:color-mix(in srgb,var(--accent) 20%, transparent);color:var(--accent)}
.detail-inline-panel{display:none;margin-top:10px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.detail-inline-panel.open{display:block}

/* Markdown */
.md h1{font-size:1.15rem;font-weight:900;margin:18px 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px;color:color-mix(in srgb,var(--accent) 76%, var(--text) 24%)}
.md h2{font-size:1.02rem;font-weight:700;margin:14px 0 6px;color:color-mix(in srgb,var(--accent) 78%, var(--text) 22%)}
.md h3{font-size:.9rem;font-weight:700;margin:12px 0 4px;color:var(--text)}
.md h4{font-size:.84rem;font-weight:700;margin:10px 0 4px;color:var(--text-secondary)}
.md p{margin:6px 0;font-size:.86rem}
.md ul,.md ol{padding-left:20px;margin:6px 0}
.md li{margin:3px 0;font-size:.86rem}
.md strong{color:var(--accent);font-weight:700}
.md code{background:var(--bg-subtle);padding:2px 7px;border-radius:5px;font-size:.78rem;font-family:'SF Mono',Consolas,monospace;color:var(--yellow)}
.md pre{background:var(--code-block-bg);color:var(--code-text);padding:16px;border-radius:var(--radius-sm);overflow-x:auto;margin:10px 0;font-size:.78rem;border:1px solid var(--border)}
.md pre code{background:none;color:inherit;padding:0}
.md table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.82rem}
.md th,.md td{border:1px solid var(--border);padding:8px 12px;text-align:left}
.md th{background:var(--bg-subtle);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}
.md blockquote{border-left:3px solid var(--accent);padding:10px 14px;color:var(--text-secondary);margin:8px 0;font-style:italic;background:var(--accent-light);border-radius:0 8px 8px 0}
.md hr{border:none;border-top:1px solid var(--border);margin:16px 0}
.md img{max-width:100%;border-radius:var(--radius-sm)}
.md-section{border:1px solid var(--border);border-radius:var(--radius-sm);margin:8px 0;overflow:hidden}
.md-section summary{list-style:none;cursor:pointer;padding:10px 14px;background:var(--bg-subtle);display:flex;flex-direction:column;gap:2px}
.md-section summary::-webkit-details-marker{display:none}
.md-section summary::before{content:'›';position:absolute;right:12px;top:10px;font-size:.9rem;color:var(--text-muted);transition:transform .2s}
.md-section[open] summary::before{transform:rotate(90deg)}
.md-section-head{position:relative;padding-right:24px}
.md-section-head h1,.md-section-head h2,.md-section-head h3{margin:0;border:none;padding:0}
.md-section-preview{font-size:.72rem;color:var(--text-muted);font-weight:400;line-height:1.4;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.md-section[open] .md-section-preview{display:none}
.md-section-body{padding:10px 14px;border-top:1px solid var(--border);font-size:.82rem;line-height:1.7}
.md-section-h1>.md-section-head{background:var(--accent-light)}
.md-section-h2>.md-section-head{background:var(--bg-subtle)}

/* Result cards for structured data */
.result-card{background:var(--card);border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:10px;overflow:hidden;transition:all .2s var(--ease)}
.result-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}
.result-card-head{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;user-select:none}
.result-card-head:hover{background:var(--bg-subtle)}
.result-card-arrow{font-size:10px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}
.result-card[open] .result-card-arrow{transform:rotate(90deg)}
.result-card-title{font-weight:700;font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-card-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;flex-shrink:0}
.result-card-body{padding:12px 16px;border-top:1px solid var(--border);font-size:12px;line-height:1.7;max-height:500px;overflow-y:auto}
.result-card-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:12px 16px;border-top:1px solid var(--border)}
.result-metric{text-align:center;padding:8px;background:var(--bg-subtle);border-radius:var(--radius-xs)}
.result-metric-value{font-size:16px;font-weight:800;line-height:1.2}
.result-metric-label{font-size:10px;color:var(--text-muted);margin-top:3px}

/* Data table styling */
.data-table{width:100%;border-collapse:collapse;font-size:11px}
.data-table th{background:var(--bg-subtle);padding:8px 10px;text-align:left;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);position:sticky;top:0;border-bottom:2px solid var(--border)}
.data-table td{padding:6px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:top}
.data-table tr:hover td{background:var(--surface-ghost)}
.data-table-wrap{max-height:400px;overflow-y:auto;border-radius:var(--radius-xs);border:1px solid var(--border)}

/* Score bar */
.score-bar{height:6px;border-radius:3px;background:var(--bg-subtle);overflow:hidden;margin-top:4px}
.score-bar-fill{height:100%;border-radius:3px;transition:width .3s var(--ease)}

/* Loading skeleton */
.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--card-hover) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-xs)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-line{height:14px;margin-bottom:8px;border-radius:4px}
.skeleton-block{height:80px;margin-bottom:12px}

/* Data table enhancements */
.data-table tbody tr:nth-child(even) td{background:rgba(42,35,32,.4)}
.data-table tbody tr:hover td{background:rgba(212,148,58,.08)!important;color:var(--text)}
.data-table th.sort-asc::after{content:" \2191";color:var(--accent)}
.data-table th.sort-desc::after{content:" \2193";color:var(--yellow)}
.data-table td:first-child,.data-table th:first-child{position:sticky;left:0;z-index:2;background:var(--card)}
.data-table td:first-child{font-weight:600}
@media(max-width:768px){
  .data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .result-card-metrics{grid-template-columns:repeat(2,1fr)!important}
  #demoTabs{gap:4px}
  #demoTabs button{font-size:11px!important;padding:4px 8px}
  .cs-main-grid{grid-template-columns:1fr!important;max-height:none!important}
  #csChatList{max-height:300px!important}
  #csChatPane{min-height:400px!important}
}

/* Tab group separators */
#demoTabs{position:relative}
#demoTabs::after{content:'';display:block;width:100%;height:0}

/* Result content improvements */
.md p+p{margin-top:10px}
.md ul li+li,.md ol li+li{margin-top:4px}
.result-card[open]{border-color:var(--accent)}
.result-card[open] .result-card-head{background:var(--accent-light)}

/* Expand/Collapse all toggle */
.expand-toggle{display:flex;gap:8px;margin-bottom:12px;justify-content:flex-end}
.expand-toggle button{font-size:11px;padding:4px 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);cursor:pointer}
.expand-toggle button:hover{background:var(--card-hover);color:var(--text)}

/* Sticky result header */
.result-sticky-header{position:sticky;top:0;z-index:5;background:var(--card);padding:8px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;border-radius:12px 12px 0 0;margin:-20px -20px 16px -20px}
.result-sticky-header .result-title{font-weight:700;font-size:14px}
.result-sticky-header .result-meta{font-size:11px;color:var(--text-muted)}

/* Improved card grid for selection/trends */
.product-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.product-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:10px;padding:14px;transition:all .2s var(--ease);cursor:pointer}
.product-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.product-card-title{font-weight:700;font-size:13px;margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.product-card-stat{font-size:11px;color:var(--text-secondary)}
.product-card-stat b{color:var(--text);font-weight:700}
.trend-dashboard{display:flex;flex-direction:column;gap:20px}
.trend-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.trend-kpi-card{background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--bg-subtle) 30%,var(--card) 70%));border:1px solid var(--border-subtle);border-radius:14px;padding:16px;text-align:center;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.trend-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.trend-kpi-value{font-size:1.6rem;font-weight:900;color:var(--text);line-height:1.2}
.trend-kpi-value.blue{color:var(--accent)}
.trend-kpi-value.red{color:var(--danger)}
.trend-kpi-value.green{color:var(--green)}
.trend-kpi-label{font-size:.68rem;color:var(--text-muted);margin-top:4px;font-weight:600}
.trend-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.trend-rank-grid{grid-template-columns:1fr}}
.trend-rank-section{background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:16px}
.trend-rank-title{font-size:.82rem;font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.trend-rank-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s var(--ease);border-radius:6px;padding-left:6px;padding-right:6px}
.trend-rank-item:last-child{border-bottom:none}
.trend-rank-item:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.trend-rank-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:800;flex-shrink:0;color:#fff}
.trend-rank-num.top3{background:var(--accent)}
.trend-rank-num.normal{background:var(--border);color:var(--text-muted)}
.trend-rank-num.red-top3{background:var(--danger)}
.trend-rank-info{flex:1;min-width:0}
.trend-rank-name{font-size:.76rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trend-rank-sub{font-size:.62rem;color:var(--text-muted);margin-top:1px}
.trend-rank-bar-wrap{width:80px;flex-shrink:0}
.trend-rank-bar{height:6px;border-radius:99px;background:var(--border-subtle);overflow:hidden}
.trend-rank-bar-fill{height:100%;border-radius:99px;transition:width .6s var(--ease)}
.trend-rank-bar-fill.blue{background:var(--accent-gradient)}
.trend-rank-bar-fill.red{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 60%,var(--yellow)))}
.trend-rank-score{font-size:.68rem;font-weight:800;width:36px;text-align:right;flex-shrink:0}
.trend-scatter-wrap{background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:16px}
.trend-scatter-title{font-size:.82rem;font-weight:800;margin-bottom:12px}
.trend-scatter{position:relative;width:100%;height:220px;border-left:1.5px solid var(--border);border-bottom:1.5px solid var(--border);border-radius:0 0 0 4px}
.trend-scatter-label-x{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:.6rem;color:var(--text-muted)}
.trend-scatter-label-y{position:absolute;left:-8px;top:50%;transform:translateY(-50%) rotate(-90deg);font-size:.6rem;color:var(--text-muted);white-space:nowrap}
.trend-dot{position:absolute;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);z-index:1}
.trend-dot:hover{transform:translate(-50%,-50%) scale(1.8);box-shadow:0 0 8px currentColor;z-index:2}
.trend-dot.blue{background:var(--accent);border:1.5px solid color-mix(in srgb,var(--accent) 60%,#fff)}
.trend-dot.red{background:var(--danger);border:1.5px solid color-mix(in srgb,var(--danger) 60%,#fff)}
.trend-dot-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--card);font-size:.6rem;padding:3px 7px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.trend-dot:hover .trend-dot-tooltip{opacity:1}
.trend-report-toggle{margin-top:4px;cursor:pointer;font-size:.76rem;font-weight:700;color:var(--accent);padding:10px 0;display:flex;align-items:center;gap:6px}
.e2e-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);opacity:0;transition:opacity .22s var(--ease),backdrop-filter .22s var(--ease)}
.e2e-lightbox-overlay.ready{opacity:1}
.e2e-lightbox-overlay.closing{opacity:0;backdrop-filter:blur(0px)}
.e2e-lightbox-overlay img{max-width:92vw;max-height:88vh;border-radius:14px;box-shadow:0 16px 60px rgba(0,0,0,.55);object-fit:contain;display:block}
.e2e-lightbox-overlay.single-mode{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:24px;align-items:center;justify-content:center;padding:76px 28px 34px}
.e2e-lightbox-overlay.single-mode .e2e-lightbox-stage{transform:scale(.92);opacity:0;transition:transform .26s cubic-bezier(.2,.8,.3,1.1),opacity .22s var(--ease)}
.e2e-lightbox-overlay.single-mode.ready .e2e-lightbox-stage{transform:scale(1);opacity:1}
.e2e-lightbox-stage{display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:88vh;position:relative;min-width:0}
.e2e-lightbox-overlay.single-mode .e2e-lightbox-stage{max-width:none;max-height:calc(100vh - 130px)}
.e2e-lightbox-overlay.single-mode .e2e-lightbox-img{max-width:100%;max-height:calc(100vh - 130px)}
.e2e-lightbox-img{cursor:zoom-out}
.e2e-lightbox-close{position:absolute;top:16px;right:20px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s;z-index:10}
.e2e-lightbox-close:hover{background:rgba(255,255,255,.28);transform:scale(1.08)}
.e2e-lightbox-back{position:absolute;top:16px;left:20px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s;z-index:10}
.e2e-lightbox-back:hover{background:rgba(255,255,255,.26);transform:translateX(-2px)}
.e2e-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s,opacity .22s;z-index:10}
.e2e-lightbox-nav:hover{background:rgba(255,255,255,.28);transform:translateY(-50%) scale(1.08)}
.e2e-lightbox-nav.prev{left:24px}
.e2e-lightbox-nav.next{right:24px}
.e2e-lightbox-info{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:.74rem;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);padding:7px 16px;border-radius:999px;text-align:center;max-width:80vw;letter-spacing:.02em}
.e2e-lightbox-actions{position:absolute;bottom:62px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.e2e-lightbox-actions button{padding:7px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.42);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s}
.e2e-lightbox-actions button:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.e2e-lightbox-actions button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.e2e-lightbox-refine{position:relative;width:100%;padding:18px;border-radius:18px;background:rgba(12,12,14,.82);border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 48px rgba(0,0,0,.45);backdrop-filter:blur(14px);z-index:6;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.e2e-lightbox-refine-title{font-size:15px;font-weight:900;color:#fff;margin-bottom:6px}
.e2e-lightbox-refine-help{font-size:12px;line-height:1.7;color:rgba(255,255,255,.66);margin-bottom:12px}
.e2e-lightbox-refine textarea{width:100%;min-height:150px;resize:vertical;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;padding:12px;font:inherit;font-size:.82rem;line-height:1.55;outline:none}
.e2e-lightbox-refine textarea::placeholder{color:rgba(255,255,255,.58)}
.e2e-lightbox-refine-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.e2e-lightbox-refine-row span{font-size:.68rem;color:rgba(255,255,255,.62)}
.e2e-lightbox-refine-row button{border:none;border-radius:999px;background:var(--accent);color:#fff;padding:8px 14px;font-size:.72rem;font-weight:800;cursor:pointer}
.e2e-lightbox-refine-row button:disabled{opacity:.55;cursor:not-allowed}
.e2e-image-loading-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:rgba(0,0,0,.48);backdrop-filter:blur(5px);color:#fff;font-size:12px;font-weight:800;z-index:7;border-radius:14px}
.e2e-image-loading-mask:before{content:"";width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.28);border-top-color:#fff;animation:sourceSpin .85s linear infinite}
/* === Lightbox Grid Mode === */
.e2e-lightbox-overlay.grid-mode{align-items:flex-start;overflow-y:auto;padding:64px 24px 40px}
.e2e-lightbox-grid-wrap{width:100%;max-width:1280px;margin:0 auto;animation:lbGridIn .35s var(--ease)}
@keyframes lbGridIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.e2e-lightbox-grid-header{margin-bottom:22px;padding:0 4px;text-align:center}
.e2e-lightbox-grid-heading{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.01em;line-height:1.4}
.e2e-lightbox-grid-meta{font-size:12px;color:rgba(255,255,255,.65);margin-top:6px;letter-spacing:.03em}
.e2e-lightbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.e2e-lightbox-grid-item{display:flex;flex-direction:column;gap:8px;padding:0;border:none;background:transparent;cursor:zoom-in;color:#fff;font-family:var(--font);text-align:left;opacity:0;transform:translateY(14px);animation:lbItemIn .42s var(--ease) forwards}
@keyframes lbItemIn{to{opacity:1;transform:translateY(0)}}
.e2e-lightbox-grid-img{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .15s}
.e2e-lightbox-grid-item:hover .e2e-lightbox-grid-img{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 36px rgba(0,0,0,.5);border-color:rgba(255,255,255,.32)}
.e2e-lightbox-grid-img img{width:100%;height:100%;object-fit:contain;background:linear-gradient(180deg,#faf7f2,#f2eee7);transition:transform .35s var(--ease)}
.e2e-lightbox-grid-item:hover .e2e-lightbox-grid-img img{transform:scale(1.04)}
.e2e-lightbox-grid-zoom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.42);font-size:28px;opacity:0;transition:opacity .2s var(--ease);backdrop-filter:blur(2px)}
.e2e-lightbox-grid-item:hover .e2e-lightbox-grid-zoom{opacity:1}
.e2e-lightbox-grid-cover{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;padding:3px 9px;border-radius:999px;letter-spacing:.04em;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.e2e-lightbox-grid-label{display:flex;flex-direction:column;gap:2px;padding:0 2px}
.e2e-lightbox-grid-kind{font-size:10px;font-weight:800;color:rgba(255,255,255,.6);letter-spacing:.06em;text-transform:uppercase}
.e2e-lightbox-grid-title{font-size:12px;font-weight:600;color:rgba(255,255,255,.92);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media(max-width:560px){.e2e-lightbox-grid{grid-template-columns:repeat(2,1fr);gap:12px}.e2e-lightbox-overlay.grid-mode{padding:56px 14px 30px}}
@media(max-width:900px){.e2e-lightbox-overlay.single-mode{grid-template-columns:minmax(0,1fr);overflow:auto;align-items:start}.e2e-lightbox-refine{width:min(560px,100%);margin:0 auto}.e2e-lightbox-actions,.e2e-lightbox-info{position:static;transform:none;margin:0 auto}.e2e-lightbox-info{grid-row:3}.e2e-lightbox-actions{grid-row:4}}
/* === Store Overview (店铺概况) === */
@keyframes storeOverviewFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.store-overview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.store-overview-title{font-size:22px;font-weight:900;letter-spacing:-.02em}
.store-overview-sub{font-size:12px;color:var(--text-muted);margin-top:5px;line-height:1.6}
.store-overview-refresh-label{color:var(--green);font-weight:600}
.store-overview-actions{display:flex;gap:8px;flex-shrink:0}
.store-overview-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;background:var(--bg-subtle);border-radius:14px;padding:8px;border:1px solid var(--border-subtle)}
@media(max-width:760px){.store-overview-tabs{grid-template-columns:1fr}}
.store-overview-tab{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 16px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:10px;font-family:var(--font);text-align:left;transition:all .18s var(--ease);position:relative}
.store-overview-tab:hover{background:color-mix(in srgb,var(--card) 60%,var(--bg-subtle) 40%);color:var(--text)}
.store-overview-tab.active{background:var(--card);border-color:color-mix(in srgb,var(--accent) 35%,var(--border) 65%);color:var(--text);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.store-overview-tab.active::before{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:3px;background:var(--accent-gradient);border-radius:999px}
.store-overview-tab-label{font-size:14px;font-weight:800;letter-spacing:-.01em}
.store-overview-tab-desc{font-size:11px;color:var(--text-muted);font-weight:500}
.store-overview-tab.active .store-overview-tab-desc{color:var(--text-secondary)}
.store-overview-body{min-height:300px}
/* Orders KPI grid */
.orders-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}
.orders-kpi-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:14px;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.orders-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.orders-kpi-label{font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.02em}
.orders-kpi-value{font-size:22px;font-weight:900;margin-top:6px;letter-spacing:-.02em;color:var(--text)}
/* Orders analysis tabs */
.orders-analysis-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
@media(max-width:760px){.orders-analysis-tabs{grid-template-columns:repeat(2,1fr)}}
.orders-analysis-tab{padding:10px 14px;border:1px solid var(--border-subtle);background:var(--card);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s var(--ease);font-family:var(--font);color:var(--text-secondary)}
.orders-analysis-tab:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border) 70%);color:var(--text)}
.orders-analysis-tab.active{background:color-mix(in srgb,var(--accent-light) 50%,var(--card) 50%);border-color:var(--accent);color:var(--text)}
.orders-tab-title{font-size:13px;font-weight:800}
.orders-tab-desc{font-size:11px;color:var(--text-muted);margin-top:2px}
.orders-analysis-tab.active .orders-tab-desc{color:var(--text-secondary)}
.orders-analysis-body{animation:storeOverviewFade .2s var(--ease)}
.orders-empty{padding:50px;text-align:center;color:var(--text-muted);font-size:13px;background:var(--card);border:1px dashed var(--border);border-radius:12px}
/* Orders table */
.orders-table-wrap{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;overflow:auto;max-height:680px}
.orders-table{width:100%;border-collapse:collapse;font-size:12px}
.orders-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);padding:10px 12px;text-align:left;font-weight:700;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap}
.orders-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .12s}
.orders-table tbody tr:hover{background:var(--card-hover)}
.orders-table td{padding:9px 12px;vertical-align:middle}
.orders-status-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid currentColor}
/* Orders status breakdown */
.orders-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.orders-status-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:16px}
.orders-status-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.orders-status-card-label{font-size:13px;font-weight:800}
.orders-status-card-count{font-size:14px;font-weight:600;color:var(--text)}
.orders-status-card-count b{font-size:18px;font-weight:900}
.orders-status-card-pct{font-size:11px;color:var(--text-muted);margin-left:6px}
.orders-status-bar{height:8px;background:var(--bg-subtle);border-radius:999px;overflow:hidden}
.orders-status-bar-fill{height:100%;border-radius:999px;transition:width .4s var(--ease)}
/* Orders timeline */
.orders-timeline-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:18px}
.orders-timeline-title{font-size:13px;font-weight:800;margin-bottom:14px;display:flex;align-items:baseline;gap:8px}
.orders-timeline-list{display:flex;flex-direction:column;gap:8px}
.orders-timeline-row{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:6px 0}
.orders-timeline-date{font-size:11px;color:var(--text-muted);font-weight:600;font-variant-numeric:tabular-nums}
.orders-timeline-bar-wrap{flex:1;height:14px;background:var(--bg-subtle);border-radius:7px;overflow:hidden;position:relative}
.orders-timeline-bar{height:100%;background:color-mix(in srgb,var(--blue) 35%,var(--bg-subtle) 65%);border-radius:7px;transition:width .4s var(--ease);position:relative}
.orders-timeline-bar-completed{position:absolute;left:0;top:0;height:100%;background:var(--green);border-radius:7px;transition:width .4s var(--ease)}
.orders-timeline-meta{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}
.orders-timeline-meta b{color:var(--text);font-weight:800;margin-right:2px}
/* Orders customers */
.orders-customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.orders-customer-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:16px}
.orders-customer-title{font-size:13px;font-weight:800;margin-bottom:12px;display:flex;justify-content:space-between;align-items:baseline}
.orders-customer-meta{font-size:11px;color:var(--text-muted);font-weight:500}
.orders-customer-list{display:flex;flex-direction:column;gap:7px}
.orders-customer-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center}
.orders-customer-name{font-size:12px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orders-customer-bar{height:8px;background:var(--bg-subtle);border-radius:999px;overflow:hidden}
.orders-customer-bar-fill{height:100%;background:var(--blue);border-radius:999px;transition:width .4s var(--ease)}
.orders-customer-stat{font-size:11px;color:var(--text-muted);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.orders-customer-stat b{color:var(--text);font-weight:800}

/* Better data visualization */
.data-viz-bar{display:flex;align-items:center;gap:8px;margin:3px 0}
.data-viz-bar-label{font-size:11px;color:var(--text-muted);min-width:80px;text-align:right}
.data-viz-bar-track{flex:1;height:8px;background:var(--bg-subtle);border-radius:4px;overflow:hidden}
.data-viz-bar-fill{height:100%;border-radius:4px;transition:width .5s var(--ease)}
.data-viz-bar-value{font-size:11px;font-weight:700;min-width:40px}

/* Dashboard Charts */
.dash-section{margin-bottom:24px}
.dash-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dash-section-title{font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:6px}
.dash-period{display:flex;gap:2px;background:var(--bg-subtle);border-radius:8px;padding:2px}
.dash-period button{border:none;background:none;padding:4px 12px;font-size:.7rem;border-radius:6px;cursor:pointer;font-family:var(--font);color:var(--text-muted);transition:all .15s var(--ease)}
.dash-period button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:24px}
.kpi-card{background:var(--card);border-radius:var(--radius-sm);padding:14px 12px;text-align:center;border:1px solid var(--border);transition:all .2s var(--ease);min-width:0}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.kpi-value{font-size:1.3rem;font-weight:900;letter-spacing:-.03em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-label{font-size:.65rem;color:var(--text-muted);margin-top:4px;line-height:1.45;white-space:normal;overflow:visible}
.kpi-trend{font-size:.62rem;font-weight:700;margin-top:2px;min-height:1em}
.kpi-trend.up{color:var(--green)}.kpi-trend.down{color:var(--danger)}
.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.chart-box{background:var(--card);border-radius:var(--radius);padding:18px;border:1px solid var(--border)}
.chart-box-title{font-size:.78rem;font-weight:700;margin-bottom:14px;color:var(--text-secondary)}
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bar-label{font-size:.7rem;width:90px;text-align:right;color:var(--text-secondary);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:20px;background:var(--bg-subtle);border-radius:4px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:4px;transition:width .6s var(--ease)}
.bar-val{font-size:.65rem;font-weight:700;position:absolute;right:6px;top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.sparkline{display:flex;align-items:flex-end;gap:2px;height:80px;padding-top:4px}
.spark-bar{flex:1;border-radius:3px 3px 0 0;transition:height .4s var(--ease);position:relative;min-width:0}
.spark-bar:hover{opacity:.8}
.spark-tip{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--card);color:var(--text);padding:2px 6px;border-radius:4px;font-size:.6rem;white-space:nowrap;margin-bottom:4px;border:1px solid var(--border)}
.spark-bar:hover .spark-tip{display:block}
.spark-labels{display:flex;gap:2px;margin-top:4px}
.spark-labels span{flex:1;text-align:center;font-size:.55rem;color:var(--text-muted)}
.donut-wrap{display:flex;align-items:center;gap:20px}
.donut{width:100px;height:100px;border-radius:50%;position:relative}
.donut::after{content:'';position:absolute;inset:22px;background:var(--card);border-radius:50%}
.donut-legend{flex:1}
.donut-item{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:.72rem}
.donut-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.rate-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.rate-name{font-size:.72rem;width:100px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rate-track{flex:1;height:14px;background:var(--bg-subtle);border-radius:3px;overflow:hidden}
.rate-fill{height:100%;border-radius:3px;transition:width .6s var(--ease)}
.rate-num{font-size:.68rem;font-weight:700;width:50px;text-align:right;flex-shrink:0}

/* Typing & Skeleton */
@keyframes typingDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.typing-dots span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--text-muted);margin:0 1.5px;animation:typingDot 1.2s ease-in-out infinite}
.typing-dots span:nth-child(2){animation-delay:.15s}
.typing-dots span:nth-child(3){animation-delay:.3s}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--bg-subtle) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:6px}

/* Responsive */
@media(max-width:768px){.session-sidebar,.session-sidebar-tab{display:none}body.task-sidebar-open .main,body.task-sidebar-open #chatLayout,body.session-sidebar-open #chatLayout{padding-right:0;padding-left:0}.task-sidebar{width:100%;min-width:100%;position:fixed;right:0;top:54px;height:calc(100vh - 54px);z-index:200}.task-sidebar.collapsed{width:0;min-width:0}.detail-split{flex-direction:column}.detail-left{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid var(--border)}.detail-body,.detail-content-row{flex-direction:column}.detail-left-card,.detail-right-card{max-width:100%}}
@media(max-width:640px){.metrics{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(3,1fr)}.chart-row{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.task-grid{grid-template-columns:1fr}.detail{max-width:100%}.topnav{padding:8px 14px;height:auto;min-height:54px;grid-template-columns:1fr}.topnav-brand,.topnav-status{display:none}.topnav-tabs{justify-self:stretch;max-width:100vw}.main{padding:14px 14px 80px}}

/* ===== Resident Office (常驻办公室) ===== */
.ro-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.ro-title{font-size:1.4rem;font-weight:900;letter-spacing:-.03em;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ro-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--green-light);border:1px solid var(--green);color:var(--green);font-size:.72rem;font-weight:800}
.ro-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.ro-metric{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:var(--radius);padding:18px 16px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.ro-metric:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ro-metric-icon{font-size:1.6rem;flex-shrink:0}
.ro-metric-body{flex:1;min-width:0}
.ro-metric-value{font-size:1.5rem;font-weight:900;letter-spacing:-.03em;line-height:1.2}
.ro-metric-label{font-size:.7rem;color:var(--text-muted);margin-top:3px}
.ro-workspace{position:relative;overflow:visible}
.ro-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.ro-column{min-width:0;display:flex;flex-direction:column}
.ro-section{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border);margin-bottom:20px}
.ro-column-main .ro-section,.ro-column-side .ro-section{height:100%;margin-bottom:0}
.ro-panel-tall{display:flex;flex-direction:column;height:620px;min-height:620px;max-height:620px}
.ro-stage-zone{position:relative;display:flex;flex:1;min-width:0}
.ro-stage-zone .ro-stage-section{flex:1;min-width:0}
.ro-session-sidebar{position:absolute;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%, var(--accent-light) 12%),var(--surface-elevated-2));border-right:1px solid color-mix(in srgb,var(--accent) 18%, var(--border) 82%);display:flex;flex-direction:column;z-index:24;transition:width .28s ease,opacity .28s ease,transform .28s ease,box-shadow .22s var(--ease);box-shadow:12px 0 28px color-mix(in srgb,var(--surface-soft-strong) 68%, transparent),2px 0 0 color-mix(in srgb,var(--accent) 8%, transparent)}
.ro-session-sidebar.collapsed{width:0;opacity:0;overflow:hidden;border:none;box-shadow:none}
.ro-session-sidebar-header{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 16%, var(--border) 84%);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%, var(--accent-light) 22%),color-mix(in srgb,var(--card) 92%, transparent 8%))}
.ro-session-sidebar-title{font-size:.82rem;font-weight:700;color:var(--text-secondary)}
.ro-session-sidebar-body{flex:1;overflow-y:auto;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 50%, var(--card) 50%),color-mix(in srgb,var(--card) 90%, var(--bg-subtle) 10%))}
.ro-session-sidebar-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--accent-gradient);color:var(--badge-on-accent);padding:10px 7px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;cursor:pointer;font-size:.75rem;writing-mode:vertical-rl;box-shadow:var(--shadow-lg),var(--glow);z-index:25;transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease)}
.ro-session-sidebar-tab:hover{filter:brightness(1.02) saturate(1.05);transform:translateY(-50%) translateX(2px)}
.ro-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.ro-section-title{font-size:.82rem;font-weight:700;color:var(--text-secondary);margin-bottom:0}
.ro-section-meta{font-size:.72rem;color:var(--text-muted);text-align:right}
.ro-alerts{max-height:220px;overflow-y:auto}
.ro-session-sidebar .ro-alerts{max-height:none}
.ro-alert-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);margin-bottom:8px;background:var(--bg-subtle);border-left:3px solid var(--border);transition:transform .15s var(--ease)}
.ro-alert-item:hover{transform:translateX(2px)}
.ro-alert-warning{border-left-color:var(--yellow)}
.ro-alert-danger{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,var(--bg-subtle) 94%)}
.ro-alert-success{border-left-color:var(--green)}
.ro-alert-info{border-left-color:var(--blue)}
.ro-alert-icon{font-size:1.15rem;flex-shrink:0;margin-top:1px}
.ro-alert-content{flex:1;min-width:0}
.ro-alert-title{font-size:.82rem;font-weight:600;margin-bottom:2px}
.ro-alert-desc{font-size:.72rem;color:var(--text-muted);line-height:1.5}
.ro-alert-time{font-size:.66rem;color:var(--text-muted);margin-top:3px}
.ro-alert-action{flex-shrink:0;padding:4px 12px;border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:var(--radius-xs);font-size:.7rem;font-weight:700;cursor:pointer;font-family:var(--font);transition:all .18s var(--ease);align-self:center}
.ro-alert-action:hover{background:var(--accent);color:var(--badge-on-accent)}
.ro-stage-team-wrap{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;flex:1;min-height:0;overflow:hidden}
.ro-stage-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 85%,var(--bg-subtle) 15%),color-mix(in srgb,var(--surface-elevated-2) 92%,var(--office-stage) 8%));border-radius:calc(var(--radius) - 4px);padding:8px;flex:1;display:flex;align-items:stretch}
.ro-stage{background:var(--office-stage);border-radius:var(--radius-sm);overflow:hidden;display:flex;justify-content:center;align-items:center;padding:6px;position:relative;min-height:0;flex:1}
.ro-stage-viewport{position:relative;width:100%;max-width:1184px;aspect-ratio:37/21;overflow:hidden;border-radius:8px;display:flex;align-items:center;justify-content:center}
.ro-stage canvas{width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:center 58%}
.ro-stage-loading{position:absolute;inset:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(252,249,244,.72),rgba(255,255,255,.92));border-radius:calc(var(--radius-sm) + 2px);z-index:3;backdrop-filter:blur(8px)}
.ro-stage-loading.error{background:linear-gradient(180deg,rgba(255,242,240,.86),rgba(255,255,255,.96))}
.ro-stage-loading-card{min-width:240px;max-width:320px;padding:18px 20px;border-radius:18px;background:color-mix(in srgb,var(--card) 88%, white 12%);border:1px solid color-mix(in srgb,var(--accent) 14%, var(--border) 86%);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ro-stage-loading.error .ro-stage-loading-card{border-color:color-mix(in srgb,var(--danger) 24%, var(--border) 76%)}
.ro-stage-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 18%, transparent);border-top-color:var(--accent);animation:sourceSpin .9s linear infinite;will-change:transform;transform:translateZ(0)}
.ro-stage-loading-title{font-size:.86rem;font-weight:900;color:var(--text)}
.ro-stage-loading-sub{font-size:.72rem;line-height:1.65;color:var(--text-muted)}
.ro-stage-footer{margin-top:8px}
.ro-stage-footnote{font-size:.7rem;color:var(--text-muted)}
.ro-team-section-inline{border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 82%,var(--card) 18%),var(--card));padding:14px 12px;overflow:hidden}
.ro-team-strip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ro-team-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 0 4px;-webkit-overflow-scrolling:touch}
.ro-team-strip::-webkit-scrollbar{height:4px}
.ro-team-strip::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}
.ro-member-card{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:11px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 86%,var(--card) 14%),var(--card));border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);position:relative;min-width:92px;min-height:88px;color:var(--text);font-family:var(--font)}
.ro-member-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent)}
.ro-member-emoji{font-size:1.18rem}
.ro-member-name{font-size:.66rem;font-weight:700;white-space:nowrap}
.ro-member-task{font-size:.62rem;color:var(--text-muted);white-space:nowrap;max-width:86px;overflow:hidden;text-overflow:ellipsis}
.ro-member-badge{position:absolute;top:-4px;right:-4px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:800}
.ro-chat-section{margin-bottom:0}
.ro-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:12px;background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.ro-chat-placeholder{text-align:center;color:var(--text-muted);font-size:.78rem;padding:28px 12px}
.ro-chat-row{display:flex;gap:10px;align-items:flex-end}
.ro-chat-row.ro-chat-user{justify-content:flex-end}
.ro-chat-row.ro-chat-user .ro-chat-avatar{order:2}
.ro-chat-row.ro-chat-user .ro-chat-bubble{order:1;background:color-mix(in srgb,var(--accent) 16%,var(--card) 84%)}
.ro-chat-row.ro-chat-ai .ro-chat-bubble{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%,var(--card) 12%),var(--card))}
.ro-chat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface-elevated) 84%,var(--card) 16%);border:1px solid var(--border);font-size:1rem;flex-shrink:0}
.ro-chat-bubble{max-width:min(85%,520px);min-width:0;padding:10px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border) 90%);box-shadow:var(--shadow-sm);overflow:hidden}
.ro-chat-system{justify-content:center}
.ro-chat-system-line{padding:4px 0;font-size:.72rem;color:var(--text-muted);text-align:center}
.ro-chat-prefix{display:block;font-size:.68rem;color:var(--text-muted);font-weight:800;margin-bottom:4px}
.ro-chat-text{font-size:.78rem;line-height:1.65;color:var(--text);overflow-wrap:break-word;word-break:break-word;overflow:hidden}
.ro-chat-text p{margin:.5em 0}
.ro-chat-text p:first-child{margin-top:0}
.ro-chat-text p:last-child{margin-bottom:0}
.ro-chat-text ul,.ro-chat-text ol{padding-left:1.4em;margin:.4em 0}
.ro-chat-text li{margin:.15em 0}
.ro-chat-text pre,.ro-chat-text code{overflow-x:auto;max-width:100%;white-space:pre-wrap;word-break:break-all;font-size:.72rem}
.ro-chat-text blockquote{margin:.4em 0;padding-left:.8em;border-left:3px solid var(--border);color:var(--text-secondary)}
.ro-chat-input{display:flex;gap:10px}
.ro-chat-input textarea{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text);font:inherit;font-size:.82rem;resize:none;transition:border-color .18s var(--ease)}
.ro-chat-input textarea:focus{border-color:var(--accent);outline:none}
.ro-chat-send{padding:10px 22px;border:none;border-radius:var(--radius-sm);background:var(--accent-gradient);color:var(--badge-on-accent);font-weight:700;font-size:.82rem;cursor:pointer;font-family:var(--font);box-shadow:var(--accent-soft-shadow);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.ro-chat-send:hover{transform:translateY(-1px);box-shadow:var(--glow-strong)}
.ro-chat-send:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.ro-team-toggle{display:flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;user-select:none;transition:border-color .2s var(--ease);background:var(--bg-subtle)}
.ro-team-toggle:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle))}
.ro-team-toggle input{position:absolute;opacity:0;width:0;height:0}
.ro-team-toggle-track{position:relative;width:38px;height:22px;background:var(--border);border-radius:99px;flex-shrink:0;transition:background .25s var(--ease),box-shadow .25s var(--ease)}
.ro-team-toggle input:checked+.ro-team-toggle-track{background:var(--accent-gradient);box-shadow:var(--accent-soft-shadow)}
.ro-team-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.ro-team-toggle input:checked+.ro-team-toggle-track .ro-team-toggle-thumb{transform:translateX(16px)}
.ro-team-toggle-label{font-size:.78rem;font-weight:700;color:var(--text-secondary);transition:color .2s var(--ease)}
.ro-team-toggle input:checked~.ro-team-toggle-label{color:var(--accent)}
.ro-chat-focus-btn{padding:6px 12px;border:none;border-radius:999px;background:var(--accent-gradient);color:var(--badge-on-accent);font-size:.72rem;font-weight:700;cursor:pointer;box-shadow:var(--accent-soft-shadow)}
.ro-chat-focus-overlay{position:fixed;inset:0;background:rgba(12,10,8,.62);backdrop-filter:blur(10px);z-index:1200;display:none;align-items:center;justify-content:center;padding:24px}
.ro-chat-focus-window{width:min(960px,92vw);height:min(760px,88vh);background:var(--surface-panel-strong);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border) 82%);border-radius:20px;box-shadow:var(--shadow-lg),var(--glow);display:flex;flex-direction:column;overflow:hidden}
.ro-chat-focus-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--accent-gradient);color:var(--badge-on-accent)}
.ro-chat-focus-title{font-size:1rem;font-weight:800}
.ro-chat-focus-close{width:34px;height:34px;border:none;border-radius:50%;background:rgba(255,255,255,.14);color:var(--badge-on-accent);font-size:1.2rem;cursor:pointer}
.ro-chat-focus-body{flex:1;display:flex;flex-direction:column;padding:16px;background:color-mix(in srgb,var(--card) 88%,var(--bg-subtle) 12%)}
.ro-chat-focus-messages{flex:1;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:10px}
.ro-chat-focus-input{display:flex;gap:12px;padding-top:14px}
.ro-chat-focus-input textarea{flex:1;min-height:112px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--bg-subtle);color:var(--text);font:inherit;font-size:.9rem;resize:none}
.ro-chat-focus-input textarea:focus{border-color:var(--accent);outline:none}
.ro-task-board{margin-top:18px;background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}
.ro-task-board-meta{font-size:.72rem;color:var(--text-muted);margin:-4px 0 10px}
.ro-task-board-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ro-task-list{display:flex;flex-direction:column;gap:10px}
.ro-task-list-board{display:grid;grid-template-columns:repeat(4,calc(25% - 8px));gap:10px}
.ro-task-empty{padding:22px 12px;text-align:center;color:var(--text-muted);font-size:.76rem;border:1px dashed color-mix(in srgb,var(--accent) 14%, var(--border) 86%);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 56%, transparent)}
.ro-task-card{padding:12px;border:1px solid color-mix(in srgb,var(--accent) 10%, var(--border) 90%);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 86%, var(--card) 14%),var(--card));box-shadow:var(--shadow-sm)}
.ro-task-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ro-task-card-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:900;background:color-mix(in srgb,var(--surface-ghost) 70%, transparent);color:var(--text-secondary)}
.ro-task-card-status.running{background:color-mix(in srgb,var(--accent) 16%, transparent);color:var(--accent)}
.ro-task-card-status.completed{background:color-mix(in srgb,var(--green) 16%, transparent);color:var(--green)}
.ro-task-card-status.error{background:color-mix(in srgb,var(--danger) 16%, transparent);color:var(--danger)}
.ro-task-card-progress{font-size:.68rem;font-weight:800;color:var(--text-muted)}
.ro-task-card-title{font-size:.8rem;line-height:1.55;color:var(--text);font-weight:700}
.ro-task-workers{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.ro-task-worker{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--surface-ghost) 70%, transparent);font-size:.66rem;color:var(--text-secondary);font-weight:700}
.ro-task-note{margin-top:8px;font-size:.68rem;line-height:1.55;color:var(--text-muted)}
.ro-parallel-status{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ro-parallel-info{display:flex;gap:14px;font-size:.74rem;color:var(--text-secondary)}
.ro-parallel-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--surface-ghost) 70%, transparent);font-size:.7rem;font-weight:800;color:var(--text-secondary)}
.ro-parallel-running{color:var(--accent);font-weight:700}
.ro-parallel-done{color:var(--green);font-weight:700}
@media(max-width:980px){#officeMain{max-width:none;padding-left:14px;padding-right:14px}.ro-layout{grid-template-columns:1fr}.ro-panel-tall{height:auto;min-height:unset;max-height:none}.ro-stage{min-height:240px}.ro-task-list-board{grid-template-columns:1fr}.ro-stage-zone{display:block}.ro-session-sidebar{width:min(320px,calc(100vw - 28px))}}
@media(max-width:640px){.ro-metrics{grid-template-columns:1fr}.ro-team-strip{gap:6px}.ro-member-card{min-width:78px;padding:8px 10px}.ro-chat-input,.ro-chat-focus-input{flex-direction:column}.ro-chat-send{width:100%}.ro-chat-bubble{max-width:100%}.ro-chat-focus-overlay{padding:12px}.ro-chat-focus-window{width:100%;height:100%;border-radius:16px}.ro-session-sidebar{width:calc(100vw - 28px)}}

/* ===== Source Listing ===== */
#sourceMain,#catalogMain{max-width:1320px;padding-left:16px;padding-right:16px}
.source-shell{display:flex;flex-direction:column;gap:18px}
.source-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%, var(--card) 90%),var(--card));box-shadow:var(--shadow-sm)}
.source-hero-title{font-size:1.32rem;font-weight:900;letter-spacing:-.03em}
.source-hero-sub{margin-top:8px;font-size:.82rem;line-height:1.75;color:var(--text-secondary);max-width:760px}
.source-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.source-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%, transparent);border:1px solid color-mix(in srgb,var(--accent) 18%, var(--border) 82%);font-size:.72rem;font-weight:800;color:var(--text-secondary)}
.source-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.source-panel{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm)}
.source-panel h3{margin:0 0 10px;font-size:.96rem}
.source-panel-sub{font-size:.74rem;line-height:1.6;color:var(--text-muted);margin-bottom:12px}
.source-wizard{display:grid;gap:16px}
.source-wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.source-wizard-step{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;min-height:78px;color:var(--text-muted);transition:var(--transition)}
.source-wizard-step.done{border-color:color-mix(in srgb,var(--green) 38%, var(--border) 62%);background:color-mix(in srgb,var(--green-light) 72%, var(--card) 28%);color:var(--text-secondary)}
.source-wizard-step.active{border-color:var(--accent);box-shadow:var(--glow),var(--shadow-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-light) 50%, var(--card) 50%),var(--card));color:var(--text)}
.source-wizard-step.locked{opacity:.58}
.source-wizard-index{width:24px;height:24px;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;flex:0 0 24px;color:var(--text-secondary)}
.source-wizard-step.active .source-wizard-index{background:var(--accent-gradient);border-color:transparent;color:var(--badge-on-accent)}
.source-wizard-step.done .source-wizard-index{background:var(--green);border-color:transparent;color:#fff}
.source-wizard-label{font-size:.78rem;font-weight:900;color:var(--text)}
.source-wizard-desc{font-size:.66rem;line-height:1.45;color:var(--text-muted);margin-top:2px}
.source-wizard-body{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm)}
.source-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.source-wizard-title{font-size:1.05rem;font-weight:900;letter-spacing:-.02em}
.source-wizard-meta{font-size:.72rem;color:var(--text-muted);line-height:1.6;margin-top:4px;max-width:760px}
.source-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap}
.source-wizard-side-note{font-size:.72rem;color:var(--text-muted);line-height:1.6}
.source-wizard-primary{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.source-form{display:flex;flex-direction:column;gap:12px}
.source-form textarea,.source-form select,.source-form input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-subtle);color:var(--text);font:inherit}
.source-form textarea:focus,.source-form select:focus,.source-form input:focus{outline:none;border-color:var(--accent)}
.source-form-row{display:grid;grid-template-columns:1fr 220px 120px;gap:10px}
.source-actions{display:flex;flex-wrap:wrap;gap:10px}
.source-btn{border:none;border-radius:14px;padding:10px 16px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),opacity .18s var(--ease)}
.source-btn.primary{background:var(--accent-gradient);color:var(--badge-on-accent);box-shadow:var(--accent-soft-shadow)}
.source-btn.secondary{background:var(--bg-subtle);color:var(--text)}
.source-btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}
.source-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.source-table-wrap{margin-top:14px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.source-table{width:100%;border-collapse:collapse;min-width:860px;font-size:.76rem}
.source-table th,.source-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:top;text-align:left}
.source-table th{position:sticky;top:0;background:var(--bg-subtle);color:var(--text-secondary);font-size:.72rem;font-weight:900;z-index:1}
.source-table tr.selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.source-table-image{width:74px;height:74px;border:1px solid var(--border-subtle);border-radius:12px;background:linear-gradient(180deg,#faf7f2,#f2eee7);overflow:hidden;display:flex;align-items:center;justify-content:center}
.source-table-image img{width:100%;height:100%;object-fit:contain;display:block}
.source-table-title{font-weight:900;line-height:1.35;color:var(--text)}
.source-table-muted{margin-top:4px;color:var(--text-muted);font-size:.7rem;line-height:1.45}
.source-param-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin-top:8px}
.source-param-cell{border:1px solid var(--border-subtle);border-radius:10px;padding:8px;background:var(--bg-subtle)}
.source-param-label{font-size:.68rem;color:var(--text-muted);margin-bottom:3px}
.source-param-value{font-size:.76rem;font-weight:800;color:var(--text)}
.source-blue-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.source-blue-chip{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800;cursor:pointer}
.source-blue-chip:hover{border-color:var(--accent)}
.source-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.source-count{font-size:.74rem;color:var(--text-secondary)}
.source-empty{padding:28px 16px;border:1px dashed color-mix(in srgb,var(--accent) 15%, var(--border) 85%);border-radius:18px;background:color-mix(in srgb,var(--surface-soft) 55%, transparent);text-align:center;color:var(--text-muted);font-size:.78rem}
.source-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.source-card{display:flex;gap:12px;padding:12px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%, var(--card) 12%),var(--card));transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
.source-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 26%, var(--border) 74%)}
.source-card.selected{border-color:var(--accent);box-shadow:var(--glow)}
.source-platform-checks{display:flex;flex-wrap:wrap;gap:10px}
.source-platform-chip{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--bg-subtle);font-size:.78rem;font-weight:700;color:var(--text-secondary);cursor:pointer;flex:1 1 0;min-width:0;text-align:center}
.source-platform-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card) 90%);color:var(--text)}
.source-platform-chip input{accent-color:var(--accent)}
.source-platform-chip span{white-space:nowrap}
.source-thumb{width:96px;height:96px;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,#faf7f2,#f1ece4);flex-shrink:0}
.source-thumb img{width:100%;height:100%;object-fit:contain;background:linear-gradient(180deg,#faf7f2,#f1ece4)}
.source-card-body{flex:1;min-width:0}
.source-card-title{font-size:.82rem;font-weight:800;line-height:1.55;margin-bottom:6px}
.source-card-sub{font-size:.7rem;color:var(--text-muted);line-height:1.55}
.source-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.source-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--bg-subtle);font-size:.66rem;color:var(--text-secondary)}
.source-score{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.68rem;color:var(--text-secondary)}
.source-check{width:18px;height:18px}
.listing-stack{display:flex;flex-direction:column;gap:12px}
.listing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.listing-summary-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--bg-subtle);font-size:.72rem;color:var(--text-secondary);font-weight:700}
.source-stage-panel{border:1px solid color-mix(in srgb,var(--accent) 16%, var(--border) 84%);border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%, var(--card) 94%),var(--card));display:flex;flex-direction:column;gap:12px}
.source-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.source-stage-title{font-size:.84rem;font-weight:800;color:var(--text)}
.source-stage-sub{font-size:.72rem;line-height:1.65;color:var(--text-muted);max-width:760px}
.source-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.source-stage-step{padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--bg-subtle);display:flex;flex-direction:column;gap:6px;min-height:92px;transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}
.source-stage-step.running{border-color:color-mix(in srgb,var(--accent) 34%, var(--border) 66%);box-shadow:var(--glow);animation:sourceStepGlow 2s ease infinite}
.source-stage-step.completed{border-color:color-mix(in srgb,var(--green) 46%, var(--border) 54%);background:color-mix(in srgb,var(--green-light) 72%, var(--card) 28%);animation:e2eStepPop .4s var(--ease)}
.source-stage-step.running .source-stage-step-state::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:5px;animation:sourceStateDot 1.2s ease infinite}
.source-stage-step.completed .source-stage-step-state::before{content:"";display:inline-block;width:8px;height:8px;margin-right:4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 12L2 7.5l1.4-1.4 3.1 3.1 6.1-6.1L14 4.5z' fill='%2322c55e'/%3E%3C/svg%3E") no-repeat center/contain}
@keyframes sourceStepGlow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}50%{box-shadow:0 0 14px 2px color-mix(in srgb,var(--accent) 16%,transparent)}}
@keyframes sourceStateDot{0%,100%{opacity:1}50%{opacity:.3}}
.source-stage-kicker{font-size:.66rem;font-weight:900;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}
.source-stage-step-title{font-size:.74rem;font-weight:800;color:var(--text)}
.source-stage-step-desc{font-size:.68rem;line-height:1.55;color:var(--text-muted)}
.source-stage-step-state{font-size:.66rem;font-weight:800;color:var(--accent)}
.source-generation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.resale-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.resale-workflow-grid.is-list{grid-template-columns:1fr}
.resale-workflow-grid.is-list .source-generation-card{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:12px;box-shadow:none}
.resale-workflow-grid.is-list .source-generation-card-cover{height:132px;min-height:132px;border-radius:12px}
.resale-workflow-grid.is-list .source-generation-body{display:flex;flex-direction:column;min-height:132px}
.resale-workflow-grid.is-list .source-generation-title-main{margin-top:0;font-size:.9rem;line-height:1.35}
.resale-workflow-grid.is-list .source-generation-sub{font-size:.7rem}
.resale-workflow-grid.is-list .source-generation-meta{margin-top:0}
.resale-workflow-grid.is-list .source-generation-actions{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:auto;padding-top:6px}
.resale-workflow-grid.is-list .source-generation-actions .source-btn{flex:1;justify-content:center;font-size:.66rem;padding:5px 6px;white-space:nowrap}
.source-generation-card{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
.source-generation-body{display:flex;flex-direction:column;flex:1}
.source-generation-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 22%, var(--border) 78%)}
.source-generation-card.is-generating .source-generation-title-main{color:var(--text-secondary)}
.source-generation-card-cover{aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid var(--border);background:var(--bg-subtle);position:relative;border-radius:14px 14px 0 0}
.source-generation-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.source-generation-card-cover img.is-loading{opacity:.45;transition:opacity .18s var(--ease)}
.e2e-listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.e2e-visual-card{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease);position:relative}
.e2e-visual-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 22%, var(--border) 78%)}
.e2e-visual-cover{height:310px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,#faf7f2,#f2eee7);position:relative;cursor:pointer}
.e2e-visual-cover img{width:100%;height:100%;object-fit:contain;display:block;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.e2e-visual-badge{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.06);font-size:.68rem;font-weight:900;color:var(--text)}
.e2e-visual-title{font-size:.86rem;font-weight:900;line-height:1.5;color:var(--text)}
.e2e-visual-sub{font-size:.7rem;line-height:1.55;color:var(--text-muted)}
.e2e-thumb-strip{display:flex;gap:6px;flex-wrap:wrap}
.e2e-thumb{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#faf7f2,#f2eee7);cursor:pointer;min-width:0;padding:0;text-align:left;flex:0 0 calc(20% - 5px);max-width:calc(20% - 5px)}
.e2e-thumb img{width:100%;height:80px;object-fit:contain;display:block;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.e2e-thumb span{display:block;padding:5px 6px;font-size:.6rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-visual-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:3}
.e2e-action-cluster{display:inline-flex;align-items:center;gap:6px;padding:3px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle)}
.e2e-action-cluster .btn,.e2e-action-cluster button{box-shadow:none}
.e2e-primary-cta{min-width:168px;justify-content:center}
.e2e-card-action-row{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:3;flex-wrap:wrap}
.e2e-card-action-row .source-btn.primary{flex:1 1 auto;justify-content:center}
.e2e-secondary-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.e2e-secondary-actions .source-btn{padding-left:10px;padding-right:10px}
.e2e-card-more{border:1px dashed var(--border-subtle);border-radius:12px;background:color-mix(in srgb,var(--bg-subtle) 76%,var(--card) 24%);padding:0;overflow:hidden;flex:0 0 auto}
.e2e-card-more[open]{flex:1 1 100%}
.e2e-card-more summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;cursor:pointer;list-style:none;color:var(--text-secondary);font-size:11px;font-weight:850}
.e2e-card-more summary::-webkit-details-marker{display:none}
.e2e-card-more summary::after{content:"展开";font-size:10px;color:var(--text-muted);font-weight:800}
.e2e-card-more[open] summary::after{content:"收起"}
.e2e-card-more-body{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}
.e2e-toolbar-split{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.e2e-toolbar-main{min-width:220px;flex:1 1 320px}
.e2e-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.e2e-pricing-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:13px 14px}
.e2e-pricing-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.e2e-pricing-input{width:60px;padding:6px;border-radius:6px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:13px;text-align:center}
.e2e-pricing-panel{margin-bottom:14px;background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:14px;box-shadow:var(--shadow-sm)}
.e2e-pricing-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.e2e-pricing-panel-head>div{min-width:220px;flex:1 1 420px}
.e2e-pricing-panel-title{font-size:13px;font-weight:900;color:var(--text)}
.e2e-pricing-panel-sub{font-size:11px;color:var(--text-muted);line-height:1.55;margin-top:3px;max-width:620px}
.e2e-profit-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}
.e2e-profit-input-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.e2e-profit-input-field label{font-size:11px;font-weight:800;color:var(--text-secondary)}
.e2e-profit-input-field input,.e2e-profit-input-field select{width:100%;min-width:0;padding:8px 10px;border-radius:9px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font:inherit;font-size:12px}
.e2e-profit-input-field input:focus,.e2e-profit-input-field select:focus{outline:none;border-color:var(--accent);background:var(--card)}
.e2e-profit-input-field.optional input::placeholder{color:var(--text-muted);opacity:.78}
.e2e-profit-input-help{font-size:10px;color:var(--text-muted);line-height:1.35}
.e2e-profit-category-field{grid-column:span 2}
.e2e-profit-mode-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:9px 11px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-subtle);font-size:11px;color:var(--text-secondary)}
.e2e-profit-mode-strip b{font-size:12px;color:var(--text);font-weight:900}
.e2e-profit-mode-strip em{font-style:normal;color:var(--text-muted)}
.e2e-profit-mode-note{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap}
.e2e-profit-mode-note span{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border-subtle);font-size:10px;font-weight:800;color:var(--text-secondary)}
.e2e-profit-advanced{margin-top:10px;border:1px dashed var(--border-subtle);border-radius:12px;background:color-mix(in srgb,var(--bg-subtle) 72%,var(--card) 28%);overflow:hidden}
.e2e-profit-advanced summary{padding:9px 11px;cursor:pointer;list-style:none;font-size:11px;font-weight:850;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between}
.e2e-profit-advanced summary::-webkit-details-marker{display:none}
.e2e-profit-advanced summary::after{content:"展开";color:var(--text-muted);font-size:10px}
.e2e-profit-advanced[open] summary::after{content:"收起"}
.e2e-profit-advanced-body{padding:0 11px 11px}
.e2e-pricing-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}
.e2e-pricing-note{font-size:10px;color:var(--text-muted);line-height:1.5}
.e2e-pricing-actions .btn{margin-left:auto}
.e2e-publish-panel{margin-bottom:14px;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:16px}
.e2e-publish-primary{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.e2e-section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px;flex-wrap:wrap}
.e2e-cost-details .e2e-cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.e2e-cost-details:not([open]) .e2e-cost-grid{display:none}
.e2e-profit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:8px;margin-top:8px}
.e2e-profit-summary.compact{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:7px}
.e2e-profit-summary.micro{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:0}
.e2e-profit-box{border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle);padding:9px 10px;min-width:0}
.e2e-profit-box strong{display:block;font-size:12px;line-height:1.25;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e2e-profit-box span{display:block;font-size:10px;color:var(--text-muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-profit-summary.micro .e2e-profit-box{padding:7px 8px;border-radius:9px}
.e2e-profit-summary.micro .e2e-profit-box strong{font-size:11px}
.e2e-profit-summary.micro .e2e-profit-box span{font-size:9px}
.e2e-profit-box.good strong{color:var(--green)}
.e2e-profit-box.warn strong{color:var(--warning)}
.e2e-profit-box.bad strong{color:var(--danger)}
.e2e-profit-source{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;color:var(--text-muted);font-size:10px;line-height:1.45}
.e2e-profit-source span{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--border-subtle);font-weight:800}
.e2e-cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:8px}
.e2e-cost-cell{border:1px solid var(--border-subtle);border-radius:9px;background:var(--card);padding:7px 9px;font-size:11px;min-width:0}
.e2e-cost-cell span{display:block;color:var(--text-muted);font-size:10px;line-height:1.35}
.e2e-cost-cell b{display:block;color:var(--text);font-size:12px;line-height:1.4}
.e2e-cost-cell.profit{background:color-mix(in srgb,var(--green-light) 72%,var(--card) 28%);border-color:color-mix(in srgb,var(--green) 34%,var(--border) 66%)}
.e2e-cost-cell.profit b{color:var(--green)}
.e2e-cost-cell.revenue{background:color-mix(in srgb,var(--accent-light) 70%,var(--card) 30%);border-color:color-mix(in srgb,var(--accent) 24%,var(--border) 76%)}
.e2e-cost-cell.total b{font-weight:950}
.e2e-profit-section-title{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;color:var(--text-secondary);font-size:10px;font-weight:950;letter-spacing:.02em}
.e2e-profit-decision{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border) 80%);background:color-mix(in srgb,var(--accent-light) 54%,var(--card) 46%);font-size:11px;line-height:1.5}
.e2e-profit-decision strong{display:block;color:var(--text);font-size:12px}
.e2e-profit-decision span{color:var(--text-muted)}
.e2e-profit-warnings{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.e2e-profit-warnings i{font-style:normal;display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--border) 72%);background:color-mix(in srgb,var(--warning-light) 76%,var(--card) 24%);color:var(--warning);font-size:10px;font-weight:850;white-space:nowrap}
.e2e-profit-meta-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}
.e2e-profit-meta{border:1px dashed var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--bg-subtle) 70%,var(--card) 30%);padding:8px 9px;font-size:10px;line-height:1.55;color:var(--text-muted)}
.e2e-profit-meta b{display:block;color:var(--text-secondary);font-size:11px;margin-bottom:2px}
.e2e-profit-meta span{display:inline-block;margin-right:8px;white-space:nowrap}
.e2e-profit-brief{display:flex;flex-direction:column;gap:6px;min-width:180px}
.e2e-profit-brief-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted)}
.e2e-profit-brief-row b{font-size:12px;color:var(--text)}
.e2e-profit-note{grid-column:1 / -1;color:var(--text-muted);font-size:10px;line-height:1.55}
.e2e-cost-details summary{color:var(--text-secondary);font-weight:900;cursor:pointer;list-style:none}
.e2e-cost-details summary::-webkit-details-marker{display:none}
.e2e-profit-panel{margin-top:8px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border) 82%);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 88%,var(--accent-light) 12%),var(--card));padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden}
.e2e-profit-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}
.e2e-profit-panel-head>div{min-width:0}
.e2e-profit-panel-title{font-size:13px;font-weight:950;color:var(--text);line-height:1.35}
.e2e-profit-panel-sub{font-size:10px;color:var(--text-muted);line-height:1.5;margin-top:2px}
.e2e-profit-panel-modebar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--bg-subtle) 74%,var(--card) 26%)}
.e2e-profit-panel-modebar span{font-size:10px;font-weight:850;color:var(--text-muted);white-space:nowrap}
.e2e-profit-panel-modebar .e2e-mode-row{margin-top:0;justify-content:flex-end}
.e2e-profit-panel .e2e-profit-summary{margin-top:0}
.e2e-profit-panel .e2e-cost-grid{margin-top:0}
.e2e-profit-panel.compact .e2e-cost-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
.e2e-profit-panel.compact .e2e-profit-summary{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}
.e2e-profit-panel.compact .e2e-profit-meta-grid{grid-template-columns:1fr}
.e2e-profit-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:7px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border) 84%);border-radius:11px;background:color-mix(in srgb,var(--bg-subtle) 80%,var(--card) 20%);min-width:0}
.e2e-profit-mini.compact{padding:7px 8px;gap:6px}
.e2e-profit-mini-kpi{min-width:0}
.e2e-profit-mini-kpi strong{display:block;font-size:12px;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-profit-mini-kpi span{display:block;font-size:9px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-profit-mini-kpi.good strong{color:var(--green)}
.e2e-profit-mini-kpi.warn strong{color:var(--warning)}
.e2e-profit-mini-kpi.bad strong{color:var(--danger)}
.e2e-profit-mini-action{display:flex;justify-content:flex-end;min-width:max-content}
.e2e-profit-mini-action .btn{padding:5px 9px;font-size:10px;border-radius:7px;white-space:nowrap}
.e2e-profit-mini-meta{grid-column:1 / -1;display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}
.e2e-profit-mini-meta span{display:inline-flex;align-items:center;max-width:100%;padding:2px 6px;border-radius:999px;background:var(--card);border:1px solid var(--border-subtle);font-size:9px;font-weight:800;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-list-row .e2e-profit-mini{align-self:stretch;min-width:230px}
.e2e-visual-card .e2e-profit-mini{margin-top:2px}
.e2e-profit-compact-card{display:flex;flex-direction:column;gap:7px;margin-top:2px;padding:9px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border) 82%);border-radius:12px;background:color-mix(in srgb,var(--bg-subtle) 76%,var(--card) 24%);min-width:0}
.e2e-profit-compact-card.dense{gap:5px;padding:7px 8px;margin-top:0}
.e2e-profit-compact-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.e2e-profit-compact-title{font-size:11px;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-profit-compact-meta{display:flex;gap:5px;flex-wrap:wrap;font-size:9px;color:var(--text-muted)}
.e2e-profit-compact-meta span{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--card);font-weight:800;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-profit-compact-card.dense .e2e-profit-box{padding:6px 7px}
.e2e-profit-compact-card.dense .e2e-profit-compact-meta span{padding:1px 5px}
.e2e-profit-compact-actions{display:flex;align-items:center;gap:6px;justify-content:space-between;flex-wrap:wrap}
.e2e-profit-compact-actions .btn{padding:5px 10px;font-size:10px}
.e2e-profit-table-summary{min-width:220px}
.e2e-profit-detail-modal{width:min(1180px,96vw);max-height:min(92vh,920px)}
.e2e-profit-detail-modal .source-modal-body{padding:16px 18px 20px;overflow:auto}
.e2e-profit-detail-body{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);gap:16px;align-items:start}
.e2e-profit-detail-side{display:flex;flex-direction:column;gap:12px}
.e2e-profit-detail-cover{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#faf7f2,#f2eee7);overflow:hidden;min-height:230px;display:flex;align-items:center;justify-content:center}
.e2e-profit-detail-cover img{width:100%;height:100%;max-height:320px;object-fit:contain;display:block}
.e2e-profit-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}
.e2e-profit-detail-meta .source-param-cell{background:var(--bg-subtle)}
.e2e-profit-detail-meta .source-param-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e2e-profit-detail-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.e2e-profit-detail-main .e2e-profit-panel{margin-top:0}
.e2e-profit-detail-panel{border:1px solid var(--border-subtle);border-radius:14px;background:var(--card);padding:12px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}
.e2e-profit-detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}
.e2e-profit-detail-panel-title{font-size:13px;font-weight:950;color:var(--text);line-height:1.35}
.e2e-profit-detail-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.e2e-profit-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0;flex:0 0 auto}
.e2e-profit-detail-actions .btn{min-width:120px;justify-content:center}
.source-dropzone{border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border-subtle) 65%);border-radius:14px;padding:12px;background:var(--bg-subtle);transition:border-color .15s,background .15s,box-shadow .15s}.source-dropzone.is-dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle) 92%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent 84%)}
.e2e-source-detail-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:16px;align-items:start;min-width:0}
.e2e-source-detail-media{display:flex;flex-direction:column;gap:12px;min-width:0;position:sticky;top:0}
.e2e-source-detail-gallery-shell{border:1px solid var(--border-subtle);border-radius:16px;background:var(--card);padding:12px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}
.e2e-source-detail-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.e2e-source-detail-gallery-title{font-size:13px;font-weight:950;color:var(--text)}
.e2e-source-detail-gallery-meta{font-size:11px;color:var(--text-muted);margin-top:2px}
.e2e-source-detail-gallery-actions{display:flex;gap:6px;align-items:center}
.e2e-source-detail-gallery-actions button{min-width:34px;height:30px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text);cursor:pointer;font-size:12px;font-weight:900}
.e2e-source-detail-gallery-actions button:disabled{opacity:.45;cursor:not-allowed}
.e2e-source-detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start;min-width:0}
.e2e-source-detail-img{position:relative;border:1px solid var(--border-subtle);border-radius:12px;background:linear-gradient(180deg,#faf7f2,#f2eee7);overflow:hidden;aspect-ratio:1/1;display:block;width:100%;min-width:0;cursor:pointer}
.e2e-source-detail-img:first-child{aspect-ratio:1/1}
.e2e-source-detail-img img{width:100%;height:100%;object-fit:contain;display:block;position:absolute;inset:0}
.e2e-source-detail-img span{position:absolute;left:8px;top:8px;background:rgba(20,20,20,.58);color:#fff;font-size:10px;font-weight:800;border-radius:999px;padding:2px 7px}
.e2e-source-detail-img input{position:absolute;right:8px;top:8px;width:18px;height:18px;z-index:2;accent-color:var(--accent)}
.e2e-source-detail-img.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.e2e-source-detail-img.is-loading:after{content:"读取中";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.58);color:var(--text);font-size:12px;font-weight:900;backdrop-filter:blur(3px)}
.e2e-source-detail-select-note{margin-top:10px;font-size:11px;line-height:1.6;color:var(--text-muted)}
.e2e-source-detail-panels{display:flex;flex-direction:column;gap:10px;min-width:0}
.catalog-accordion{border:1px solid var(--border-subtle);border-radius:14px;background:var(--card);overflow:hidden;box-shadow:var(--shadow-sm)}
.catalog-accordion>summary{list-style:none;cursor:pointer;padding:11px 12px;font-size:13px;font-weight:900;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px}
.catalog-accordion>summary::-webkit-details-marker{display:none}
.catalog-accordion>summary:after{content:'▾';font-size:12px;color:var(--text-muted);transition:transform .18s ease}
.catalog-accordion[open]>summary{border-bottom:1px solid var(--border-subtle);margin-bottom:0}
.catalog-accordion[open]>summary:after{transform:rotate(180deg)}
.catalog-accordion>div{padding:12px}
.e2e-profit-detail-main .catalog-accordion{margin:0}
.e2e-profit-detail-side .catalog-accordion{margin:0}
.e2e-source-detail-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

.e2e-source-detail-info-grid .source-param-cell{min-width:0;background:var(--card)}
.e2e-source-detail-sku-wrap{max-height:260px;overflow:auto;border:1px solid var(--border-subtle);border-radius:12px;background:var(--card)}
.e2e-source-detail-sku{width:100%;border-collapse:collapse;font-size:12px}
.e2e-source-detail-sku th,.e2e-source-detail-sku td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}
.e2e-source-detail-sku th{position:sticky;top:0;background:var(--bg-subtle);font-size:11px;color:var(--text-secondary);z-index:1}
.e2e-source-detail-sku td{color:var(--text)}
.e2e-source-detail-desc{font-size:12px;line-height:1.75;color:var(--text-secondary);max-height:160px;overflow:auto;white-space:pre-wrap}
/* CEL mode switcher - fix text wrapping */
.e2e-mode-row{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}
.e2e-mode-btn{display:inline-flex;align-items:center;gap:2px;padding:2px 7px;font-size:10px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;white-space:nowrap;line-height:1.4;transition:background .12s,border-color .12s}
.e2e-mode-btn.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:700}
.e2e-mode-btn:disabled{opacity:.4;cursor:not-allowed}
/* Step wizard header upgrade */
.e2e-step-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}
.e2e-step-title{font-size:1rem;font-weight:800;letter-spacing:-.02em}
.e2e-step-meta{font-size:.72rem;color:var(--text-muted);margin-top:3px;line-height:1.5}
.e2e-step-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
/* Step 1 search bar */
.e2e-search-row{display:flex;gap:8px;align-items:stretch}
.e2e-search-row input{flex:1;min-width:0;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:13px;transition:border-color .15s}
.e2e-search-row input:focus{outline:none;border-color:var(--accent)}
/* Step 2 table improvements */
.source-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border-subtle)}
.source-table{width:100%;border-collapse:collapse;font-size:12px}
.source-table thead th{background:var(--bg-subtle);padding:8px 10px;text-align:left;font-weight:700;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap}
.source-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .12s}
.source-table tbody tr:hover{background:var(--card-hover)}
.source-table tbody tr.selected{background:var(--accent-light)}
.source-table td{padding:8px 10px;vertical-align:middle}
/* Step 4 publish area */
.e2e-publish-safe-note{font-size:11px;color:var(--text-muted);margin-top:6px;padding:8px 12px;background:var(--bg-subtle);border-radius:8px;border-left:3px solid var(--accent)}
/* === View Mode Toggle === */
.e2e-view-toggle{display:inline-flex;gap:0;background:var(--bg-subtle);border:1px solid var(--border);border-radius:9px;padding:2px;flex-shrink:0}
.e2e-view-toggle button{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:transparent;border:none;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;border-radius:7px;transition:background .15s,color .15s;white-space:nowrap;font-family:var(--font)}
.e2e-view-toggle button:hover{color:var(--text)}
.e2e-view-toggle button.active{background:var(--card);color:var(--text);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.e2e-view-toggle svg{width:14px;height:14px;flex-shrink:0}
/* === List view (条目式) === */
.e2e-listing-list{display:flex;flex-direction:column;gap:8px}
.e2e-list-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(220px,.42fr) auto;gap:12px;align-items:center;padding:12px 14px;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}
.e2e-list-row:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border) 72%);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.e2e-list-row.published{border-color:color-mix(in srgb,var(--green) 30%,var(--border) 70%);background:color-mix(in srgb,var(--green-light) 18%,var(--card) 82%)}
.e2e-list-cover{width:80px;height:80px;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#faf7f2,#f2eee7);cursor:pointer;flex-shrink:0;border:1px solid var(--border-subtle);position:relative}
.e2e-list-cover img{width:100%;height:100%;object-fit:contain;display:block}
.e2e-list-cover-count{position:absolute;bottom:3px;right:3px;background:rgba(0,0,0,.6);color:#fff;font-size:9px;font-weight:700;padding:1px 6px;border-radius:6px;backdrop-filter:blur(4px)}
.e2e-list-info{min-width:0;display:flex;flex-direction:column;gap:6px}
.e2e-list-title{font-size:13px;font-weight:700;line-height:1.45;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e2e-list-sub{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e2e-list-chips{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.e2e-list-chips .catalog-chip{font-size:10px;padding:2px 8px}
.e2e-list-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.e2e-list-actions button{padding:6px 12px;font-size:11px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-weight:600;transition:background .15s,border-color .15s;white-space:nowrap}
.e2e-list-actions button:hover{background:var(--card-hover);border-color:color-mix(in srgb,var(--accent) 30%,var(--border) 70%)}
.e2e-list-actions button.primary{background:var(--accent-gradient);color:var(--badge-on-dark);border-color:transparent;font-weight:700}
.e2e-list-actions button.primary:hover{filter:brightness(1.05)}
.e2e-list-status{position:absolute;top:8px;right:8px;background:var(--green);color:#fff;font-size:9px;font-weight:800;padding:2px 8px;border-radius:999px}
@media(max-width:900px){.e2e-list-row{grid-template-columns:70px 1fr;gap:10px}.e2e-profit-table-summary{grid-column:1 / -1}.e2e-list-actions{grid-column:1 / -1;justify-content:flex-end;border-top:1px solid var(--border-subtle);padding-top:8px;margin-top:4px}}
@media(max-width:760px){.e2e-profit-detail-modal{width:100%;max-width:100%;max-height:100vh}.e2e-profit-detail-modal .source-modal-body{padding:14px;overflow-x:hidden}.e2e-profit-detail-body,.e2e-source-detail-layout{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;max-width:100%;overflow:hidden}.e2e-source-detail-media{position:static}.e2e-profit-detail-side,.e2e-profit-detail-main,.e2e-profit-detail-panel,.e2e-profit-panel{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.e2e-profit-detail-cover{min-height:180px}.e2e-profit-detail-cover img{max-width:100%}.e2e-profit-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.e2e-source-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.e2e-source-detail-info-grid{grid-template-columns:minmax(0,1fr)}.catalog-accordion>summary{font-size:12px;padding:10px 11px}.catalog-accordion>div{padding:10px}.e2e-profit-detail-panel-head{align-items:stretch;flex-direction:column}.e2e-profit-detail-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.e2e-profit-detail-actions .btn{min-width:0;width:100%;justify-content:center}.e2e-profit-detail-inputs{grid-template-columns:minmax(0,1fr)}.e2e-profit-category-field{grid-column:1}.e2e-profit-panel-modebar{align-items:stretch;flex-direction:column}.e2e-profit-panel-modebar .e2e-mode-row{justify-content:flex-start}.e2e-cost-grid,.e2e-profit-summary{grid-template-columns:minmax(0,1fr)}.e2e-profit-meta-grid{grid-template-columns:minmax(0,1fr)}.e2e-profit-summary.micro{grid-template-columns:1fr 1fr}.e2e-profit-mini{grid-template-columns:repeat(3,minmax(0,1fr))}.e2e-profit-mini-action{grid-column:1 / -1;justify-content:stretch}.e2e-profit-mini-action .btn{width:100%;justify-content:center}.e2e-list-row .e2e-profit-mini{min-width:0}}
@media(max-width:680px){.e2e-list-row{grid-template-columns:60px 1fr;gap:10px}.e2e-list-cover{width:60px;height:60px}}
/* === Hermes Page === */
.hermes-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.hermes-hero-text{flex:1;min-width:280px}
.hermes-hero-title{font-size:24px;font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hermes-tag{font-size:10px;padding:3px 10px;border-radius:999px;background:var(--purple-light);color:var(--purple);font-weight:800;letter-spacing:.05em}
.hermes-hero-sub{font-size:13px;color:var(--text-muted);margin-top:6px;line-height:1.6;max-width:560px}
.hermes-status-pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.hermes-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border-subtle);background:var(--card);white-space:nowrap}
.hermes-pill.on{background:color-mix(in srgb,var(--green) 12%,var(--card) 88%);color:var(--green);border-color:color-mix(in srgb,var(--green) 30%,var(--border) 70%)}
.hermes-pill.off{color:var(--text-muted)}
.hermes-pill.neutral{color:var(--text-secondary)}
.hermes-pill-dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.hermes-pill.on .hermes-pill-dot{animation:hermesPulse 1.6s ease-in-out infinite}
@keyframes hermesPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 currentColor}50%{opacity:.6;box-shadow:0 0 0 4px transparent}}
.hermes-feedback{background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border) 60%);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:13px;color:var(--text)}
.hermes-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.hermes-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.hermes-card-title{font-size:15px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.hermes-card-meta{font-size:11px;color:var(--text-muted)}
.hermes-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.hermes-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;border-radius:999px;background:var(--purple-light);color:var(--purple);font-size:11px;font-weight:800}
/* Toggle switch */
.hermes-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:600}
.hermes-switch input{position:absolute;opacity:0;width:0;height:0}
.hermes-switch-track{position:relative;display:inline-block;width:42px;height:24px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;transition:background .2s,border-color .2s;flex-shrink:0}
.hermes-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:transform .22s var(--ease),background .2s}
.hermes-switch input:checked+.hermes-switch-track{background:color-mix(in srgb,var(--green) 22%,var(--bg-subtle) 78%);border-color:var(--green)}
.hermes-switch input:checked+.hermes-switch-track .hermes-switch-thumb{transform:translateX(18px);background:var(--green)}
.hermes-switch-label{color:var(--text-secondary);font-weight:600}
/* Config grid */
.hermes-config-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.1fr);gap:18px}
@media(max-width:760px){.hermes-config-grid{grid-template-columns:1fr}}
.hermes-field-group{display:flex;flex-direction:column}
.hermes-field-label{font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.hermes-field-hint{font-size:10px;color:var(--text-muted);font-weight:400;margin-left:auto}
.hermes-textarea{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:13px;line-height:1.7;resize:vertical;font-family:var(--font);transition:border-color .15s}
.hermes-textarea:focus{outline:none;border-color:var(--accent);background:var(--card)}
.hermes-upload-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.hermes-file-input{display:none}
.hermes-image-preview-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.hermes-image-preview{width:44px;height:44px;border-radius:8px;border:1px solid var(--border-subtle);object-fit:cover;background:var(--bg-subtle)}
.hermes-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hermes-rule-field{display:flex;flex-direction:column}
.hermes-rule-label{font-size:11px;color:var(--text-muted);font-weight:600;margin-bottom:5px}
.hermes-rule-input-wrap{position:relative}
.hermes-rule-input{width:100%;padding:9px 12px;padding-right:36px;border-radius:9px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:14px;font-weight:700;transition:border-color .15s}
.hermes-rule-input:focus{outline:none;border-color:var(--accent);background:var(--card)}
.hermes-rule-suffix{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-muted);pointer-events:none}
.hermes-time-row{display:flex;align-items:center;gap:8px}
.hermes-time-input{width:64px;padding:9px 12px;border-radius:9px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:14px;font-weight:700;text-align:center}
.hermes-time-input:focus{outline:none;border-color:var(--accent);background:var(--card)}
.hermes-time-suffix{font-size:12px;color:var(--text-muted)}
/* Blue-ocean card */
.hermes-blueocean-card{margin-top:16px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--blue-light) 50%,var(--card) 50%);border:1px solid color-mix(in srgb,var(--blue) 35%,var(--border) 65%);transition:background .2s,border-color .2s}
.hermes-blueocean-card.active{background:color-mix(in srgb,var(--blue-light) 75%,var(--card) 25%);border-color:var(--blue)}
.hermes-blueocean-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;color:var(--text)}
.hermes-blueocean-label input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}
.hermes-checkbox-custom{flex-shrink:0;width:18px;height:18px;border:2px solid var(--border);border-radius:5px;background:var(--card);position:relative;transition:background .15s,border-color .15s;margin-top:1px}
.hermes-blueocean-label input:checked~.hermes-checkbox-custom{background:var(--blue);border-color:var(--blue)}
.hermes-blueocean-label input:checked~.hermes-checkbox-custom::after{content:"✓";position:absolute;top:-2px;left:2px;color:#fff;font-size:13px;font-weight:900}
.hermes-blueocean-label b{color:var(--blue);font-size:13px;font-weight:800;display:block;margin-bottom:4px}
.hermes-blueocean-desc{font-size:11px;color:var(--text-secondary);line-height:1.65}
.hermes-inline-input{width:46px;padding:3px 6px;margin:0 4px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:13px;font-weight:700;text-align:center}
.hermes-inline-input:focus{outline:none;border-color:var(--blue)}
/* Action row */
.hermes-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hermes-btn-secondary{background:var(--blue-light);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,var(--border) 60%)}
.hermes-btn-secondary:hover{background:color-mix(in srgb,var(--blue-light) 70%,var(--blue) 30%)}
/* Runs timeline */
.hermes-runs-list{display:flex;flex-direction:column;gap:0}
.hermes-run-item{display:flex;align-items:flex-start;gap:14px;padding:10px 0;position:relative}
.hermes-run-item:not(:last-child)::after{content:"";position:absolute;left:6px;top:24px;bottom:-10px;width:2px;background:var(--border-subtle)}
.hermes-run-marker{flex-shrink:0;width:14px;height:14px;border-radius:50%;background:var(--bg-subtle);border:2px solid var(--border);margin-top:4px;position:relative;z-index:1}
.hermes-run-marker.latest{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 18%,transparent)}
.hermes-run-body{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.hermes-run-time{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}
.hermes-run-trigger{display:inline-block;padding:1px 8px;background:var(--bg-subtle);border-radius:999px;font-size:10px;color:var(--text-secondary);font-weight:600}
.hermes-run-stats{font-size:13px;color:var(--text)}
.hermes-run-stats b{font-weight:800}
.hermes-run-ratio{font-size:11px;color:var(--text-muted);margin-left:4px}
/* Empty state */
.hermes-empty{padding:50px 20px;text-align:center;color:var(--text-muted)}
.hermes-empty-icon{font-size:42px;margin-bottom:12px;opacity:.7}
.hermes-empty-title{font-size:14px;font-weight:700;color:var(--text-secondary);margin-bottom:6px}
.hermes-empty-sub{font-size:12px;color:var(--text-muted)}
/* Candidate cards */
.hermes-candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.hermes-candidate-card{display:flex;flex-direction:column;border:2px solid var(--border-subtle);border-radius:14px;background:var(--card);overflow:hidden;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s}
.hermes-candidate-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--purple) 30%,var(--border) 70%)}
.hermes-candidate-card.selected{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 15%,transparent)}
.hermes-candidate-img{position:relative;aspect-ratio:1/1;background:linear-gradient(180deg,#faf7f2,#f2eee7);overflow:hidden}
.hermes-candidate-img img{width:100%;height:100%;object-fit:cover;display:block}
.hermes-candidate-score{position:absolute;top:8px;left:8px;background:rgba(160,124,200,.95);color:#fff;font-size:10px;font-weight:800;padding:3px 9px;border-radius:999px;backdrop-filter:blur(8px)}
.hermes-candidate-check{position:absolute;top:8px;right:8px;background:var(--green);color:#fff;font-size:14px;font-weight:900;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px color-mix(in srgb,var(--green) 40%,transparent)}
.hermes-candidate-body{padding:12px 13px 13px;display:flex;flex-direction:column;gap:8px;flex:1}
.hermes-candidate-title{font-size:12px;font-weight:700;line-height:1.45;color:var(--text);height:36px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hermes-candidate-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hermes-candidate-price{font-size:13px;color:var(--accent);font-weight:800}
.hermes-candidate-keyword{font-size:10px;color:var(--text-muted);background:var(--bg-subtle);padding:2px 8px;border-radius:999px;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}
.hermes-candidate-supplier{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hermes-candidate-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.hermes-candidate-fact{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:8px;padding:6px 7px;min-width:0}
.hermes-candidate-fact-label{font-size:9px;color:var(--text-muted);margin-bottom:2px}
.hermes-candidate-fact-value{font-size:11px;color:var(--text);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hermes-candidate-fact-value.good{color:var(--green)}
.hermes-candidate-hits{font-size:10px;color:var(--green);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;background:color-mix(in srgb,var(--green-light) 70%,transparent);border-radius:6px}
.hermes-candidate-links{display:flex;gap:8px;margin-top:auto}
.hermes-candidate-link{flex:1;text-align:center;padding:6px 10px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);border-radius:8px;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer;transition:all .15s}
.hermes-candidate-link:hover{background:var(--card-hover);color:var(--text)}
.hermes-candidate-skip{flex:1;padding:6px 10px;border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}
.hermes-candidate-skip:hover{background:var(--card-hover);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border) 60%)}
.e2e-image-command{display:flex;gap:8px;align-items:flex-start}
.e2e-image-command textarea{flex:1;min-height:44px;max-height:82px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-subtle);color:var(--text);font:inherit;font-size:.72rem;resize:vertical}
.e2e-copy-modal-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);gap:16px}
.e2e-copy-preview{display:flex;flex-direction:column;gap:12px}
.e2e-copy-preview img{width:100%;height:320px;object-fit:contain;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.e2e-copy-section{padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--bg-subtle)}
.e2e-copy-section strong{display:block;font-size:.72rem;color:var(--text-secondary);margin-bottom:8px}
.e2e-copy-section div,.e2e-copy-section li{font-size:.76rem;line-height:1.72;color:var(--text)}
.e2e-copy-section ul{margin:0;padding-left:18px}
.e2e-copy-command{margin:0 0 14px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 28%, var(--border) 72%);border-radius:16px;background:color-mix(in srgb,var(--accent) 8%, var(--card) 92%)}
.e2e-copy-command textarea{width:100%;min-height:92px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);font:inherit;font-size:.78rem;resize:vertical}
.source-generation-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.92));display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;animation:sourceOverlayIn .4s var(--ease)}
.source-spinner{width:32px;height:32px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 14%, transparent);border-top-color:var(--accent);animation:sourceSpin .9s linear infinite;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 22%,transparent));will-change:transform;transform:translateZ(0)}
.source-generation-progress{width:72%;height:4px;border-radius:99px;background:color-mix(in srgb,var(--accent) 10%,var(--border));overflow:hidden;margin-top:2px;position:relative}
.source-generation-progress::after{content:"";position:absolute;top:0;bottom:0;width:46%;left:-48%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:sourceRailSweep 1.55s linear infinite;will-change:transform;transform:translate3d(0,0,0)}
.source-generation-progress-bar{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--purple) 60%,var(--accent)));transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);position:relative;will-change:transform;transform:scaleX(var(--progress,0));transform-origin:left center}
.source-generation-progress-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:sourceShimmer 2.4s linear infinite;will-change:transform}
.source-generation-tip{font-size:.62rem;color:var(--text-muted);animation:sourceTipFade 1s var(--ease);margin-top:2px;text-align:center;max-width:85%;line-height:1.4}
.source-generation-card.is-generating{border-color:color-mix(in srgb,var(--accent) 28%, var(--border) 72%);position:relative;transform:translateZ(0)}
/* GPU-friendly pulse: pseudo-element with opacity instead of box-shadow animation */
.source-generation-card.is-generating::before{
  content:"";position:absolute;inset:-2px;border-radius:16px;z-index:-1;
  background:color-mix(in srgb,var(--accent) 16%,transparent);
  opacity:0;transition:opacity 1.6s ease-in-out;
  animation:sourceCardGlow 3.2s ease-in-out infinite;
  pointer-events:none;will-change:opacity;
}
@keyframes sourceCardGlow{0%,100%{opacity:0}50%{opacity:1}}
.source-generation-card-cover,.source-generation-card,.e2e-loading-panel,.e2e-loading-progress-fill{backface-visibility:hidden;contain:layout paint}
.source-progress-fill{backface-visibility:hidden}
@keyframes sourceSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes sourceOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes sourceShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes sourceRailSweep{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(320%,0,0)}}
@keyframes sourceTipFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes e2eBounceDot{0%,80%,100%{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}
@keyframes e2eFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes e2eProgressGlow{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 30%,transparent)}50%{box-shadow:0 0 12px 2px color-mix(in srgb,var(--accent) 18%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 30%,transparent)}}
@keyframes e2eGradientFlow{0%{background-position:0 50%}100%{background-position:180% 50%}}
@keyframes e2eScanLine{0%{transform:translate3d(-115%,0,0)}100%{transform:translate3d(390%,0,0)}}
@keyframes e2eStepPop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}
@keyframes e2eOrbitSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes e2ePulseRing{0%{transform:scale(.85);opacity:.6}50%{transform:scale(1.15);opacity:.15}100%{transform:scale(.85);opacity:.6}}
@keyframes e2eSlideIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}
.e2e-loading-panel{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--bg-subtle) 40%,var(--card) 60%));border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border-subtle) 90%);border-radius:20px;padding:28px;animation:e2eFadeUp .4s var(--ease);box-shadow:0 2px 24px color-mix(in srgb,var(--accent) 4%,transparent)}
.e2e-loading-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.e2e-loading-spinner{width:44px;height:44px;border-radius:50%;position:relative;flex-shrink:0;will-change:transform;transform:translateZ(0)}
.e2e-loading-spinner::before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 12%,transparent);border-top-color:var(--accent);border-right-color:color-mix(in srgb,var(--accent) 50%,transparent);animation:sourceSpin .8s cubic-bezier(.4,.15,.6,.85) infinite}
.e2e-loading-spinner::after{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid transparent;border-bottom-color:color-mix(in srgb,var(--accent) 40%,transparent);animation:sourceSpin 1.4s cubic-bezier(.4,.15,.6,.85) infinite reverse}
.e2e-loading-title{font-size:.95rem;font-weight:800;color:var(--text);letter-spacing:-.01em}
.e2e-loading-sub{font-size:.74rem;color:var(--text-muted);margin-top:3px;line-height:1.5}
.e2e-bounce-dots{display:inline-flex;gap:3px;vertical-align:middle;margin-left:6px}
.e2e-bounce-dots span{width:4px;height:4px;border-radius:50%;background:var(--accent);display:inline-block;animation:e2eBounceDot 1.2s infinite ease-in-out}
.e2e-bounce-dots span:nth-child(2){animation-delay:.16s}
.e2e-bounce-dots span:nth-child(3){animation-delay:.32s}
.e2e-loading-progress-wrap{margin:18px 0 14px}
.e2e-loading-progress-bar{height:10px;border-radius:999px;background:color-mix(in srgb,var(--border) 50%,var(--bg-subtle) 50%);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.e2e-loading-progress-fill{height:100%;border-radius:999px;background:var(--accent-gradient);background-size:180% 100%;transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);position:relative;will-change:transform;transform:scaleX(var(--progress,0));transform-origin:left center}
.e2e-loading-progress-fill.active{animation:e2eProgressGlow 2s ease-in-out infinite,e2eGradientFlow 3.2s linear infinite}
.e2e-loading-progress-bar .e2e-scan-line{position:absolute;top:0;height:100%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:e2eScanLine 1.85s linear infinite;will-change:transform}
.e2e-loading-pct{font-size:.74rem;font-weight:700;color:var(--accent);margin-top:8px;display:flex;justify-content:space-between;align-items:center}
.e2e-loading-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px}
.e2e-loading-step{padding:12px 14px;border-radius:14px;border:1px solid var(--border-subtle);background:var(--bg-subtle);font-size:.72rem;display:flex;align-items:center;gap:10px;transition:all .35s var(--ease);animation:e2eStepPop .35s var(--ease) both}
.e2e-loading-step.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 6%,transparent)}
.e2e-loading-step.done{border-color:color-mix(in srgb,var(--green) 30%,var(--border));background:color-mix(in srgb,var(--green) 6%,var(--card))}
.e2e-loading-step-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:800;flex-shrink:0;color:#fff;transition:all .3s var(--ease)}
.e2e-loading-step.waiting .e2e-loading-step-icon{background:var(--border);color:var(--text-muted)}
.e2e-loading-step.active .e2e-loading-step-icon{background:transparent;border:2.5px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-right-color:color-mix(in srgb,var(--accent) 60%,transparent);animation:sourceSpin .8s cubic-bezier(.4,.15,.6,.85) infinite;color:transparent}
.e2e-loading-step.done .e2e-loading-step-icon{background:var(--green)}
.e2e-loading-step-label{font-weight:600;color:var(--text)}
.e2e-loading-step-status{font-size:.64rem;color:var(--text-muted);margin-top:2px}
.e2e-loading-step.active .e2e-loading-step-label{color:var(--accent)}
.e2e-loading-step.done .e2e-loading-step-label{color:var(--green)}
.e2e-loading-tip{margin-top:16px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--bg-subtle)),color-mix(in srgb,var(--accent) 2%,var(--card)));border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border-subtle));font-size:.7rem;color:var(--text-muted);line-height:1.65;animation:e2eSlideIn .5s var(--ease)}
.e2e-loading-tip b{color:var(--text-secondary);font-weight:700}
.e2e-item-progress-fill{height:100%;border-radius:999px;background:var(--accent-gradient);background-size:180% 100%;transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);will-change:transform;transform-origin:left center;transform:scaleX(var(--progress,.04))}
.e2e-item-progress-fill.active{animation:e2eGradientFlow 3.2s linear infinite}
.source-generation-title{font-size:.86rem;font-weight:900;line-height:1.55;color:var(--text)}
.source-generation-sub{font-size:.72rem;line-height:1.65;color:var(--text-muted)}
.source-generation-meta{display:flex;flex-wrap:wrap;gap:8px}
.source-generation-meta .catalog-chip{background:color-mix(in srgb,var(--accent) 8%, transparent)}
.source-progress{height:6px;border-radius:999px;background:color-mix(in srgb,var(--border) 72%, var(--bg-subtle) 28%);overflow:hidden}
.source-progress-fill{height:100%;background:var(--accent-gradient);border-radius:999px;transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);will-change:transform;transform:scaleX(var(--progress,0));transform-origin:left center}
.source-generation-actions{display:flex;gap:6px;justify-content:flex-end;padding:6px 10px 8px;flex-wrap:nowrap}
.source-generation-actions .source-btn{font-size:.68rem;padding:4px 10px;white-space:nowrap;flex-shrink:0;min-width:0}
.source-generation-note{font-size:.68rem;line-height:1.6;color:var(--text-muted)}
.source-feedback{margin-top:12px;padding:10px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 18%, var(--border) 82%);background:color-mix(in srgb,var(--accent) 7%, var(--card) 93%);font-size:.72rem;line-height:1.65;color:var(--text-secondary)}
.source-feedback strong{color:var(--text)}
.source-workspace{display:flex;flex-direction:column;gap:16px}
.source-bilingual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.source-bilingual-card{padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--bg-subtle)}
.source-bilingual-card strong{display:block;font-size:.72rem;color:var(--text-secondary);margin-bottom:8px}
.source-bilingual-card div{font-size:.74rem;line-height:1.68;color:var(--text)}
.source-workspace-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.source-workspace-thumb{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#faf7f2,#f2eee7);cursor:pointer}
.source-workspace-thumb img{width:100%;height:148px;object-fit:contain;display:block;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.source-workspace-thumb-meta{padding:10px 12px;font-size:.68rem;color:var(--text-secondary)}
.source-editor-helper{font-size:.7rem;line-height:1.65;color:var(--text-muted)}
.listing-table-wrap{border:1px solid var(--border);border-radius:20px;overflow:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%,var(--card) 12%),var(--card))}
.listing-table{min-width:1540px;width:100%;border-collapse:separate;border-spacing:0}
.listing-table th,.listing-table td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}
.listing-table th{position:sticky;top:0;background:color-mix(in srgb,var(--surface-elevated) 94%,var(--card) 6%);font-size:.72rem;color:var(--text-secondary);font-weight:800;z-index:1}
.listing-table tr:last-child td{border-bottom:none}
.listing-table td{font-size:.76rem;line-height:1.6;color:var(--text)}
.listing-cell-title{font-size:.82rem;font-weight:800;line-height:1.5}
.listing-cell-sub{font-size:.68rem;color:var(--text-muted);margin-top:4px}
.listing-mini-thumb{width:84px;height:84px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.listing-mini-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.listing-media-cell{display:flex;gap:10px;align-items:flex-start}
.listing-media-meta{display:flex;flex-direction:column;gap:6px}
.listing-count-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:.68rem;font-weight:800;color:var(--accent)}
.listing-inline-list{display:flex;flex-direction:column;gap:4px}
.listing-inline-list span{font-size:.72rem;color:var(--text-secondary)}
.listing-action-stack{display:flex;flex-direction:column;gap:8px;min-width:220px}
.listing-action-stack textarea,.listing-action-stack input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-subtle);color:var(--text);font:inherit;font-size:.74rem}
.listing-action-row{display:flex;gap:8px;flex-wrap:wrap}
.listing-action-row .source-btn{padding:8px 12px;font-size:.74rem}
.listing-status-dot{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:.68rem;font-weight:800;color:var(--accent)}
.source-modal-overlay{position:fixed;inset:0;background:rgba(12,10,8,.62);backdrop-filter:blur(10px);z-index:1250;display:flex;align-items:center;justify-content:center;padding:24px}
.source-modal{width:min(1080px,96vw);max-height:min(90vh,920px);overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}
.source-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}
.source-modal-title{font-size:1rem;font-weight:900}
.source-modal-sub{font-size:.76rem;color:var(--text-muted);margin-top:4px}
.source-modal-close{width:36px;height:36px;border:none;border-radius:50%;background:var(--bg-subtle);color:var(--text);font-size:1.1rem;cursor:pointer}
.source-modal-body{padding:18px 20px 22px;overflow:auto}
.source-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.source-gallery-card{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%,var(--card) 12%),var(--card))}
.source-gallery-card img{width:100%;height:220px;object-fit:contain;display:block;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.source-gallery-meta{padding:12px 14px;font-size:.74rem;color:var(--text-secondary)}
.source-gallery-refine{border-top:1px solid var(--border);padding:12px 14px 14px;background:var(--surface-elevated)}
.source-gallery-refine textarea{width:100%;min-height:76px;resize:vertical;border:1px solid var(--border);border-radius:12px;background:var(--input-bg,var(--card));color:var(--text);padding:10px;font:inherit;font-size:.76rem;line-height:1.45;outline:none}
.source-gallery-refine textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.source-gallery-refine-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.source-gallery-refine-row span{font-size:.68rem;color:var(--text-muted)}
.source-gallery-refine-row .source-btn{padding:8px 12px;white-space:nowrap}
.source-editor-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.source-editor-form{display:flex;flex-direction:column;gap:10px}
.source-editor-form input,.source-editor-form textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-subtle);color:var(--text);font:inherit;font-size:.78rem}
.source-editor-side{display:flex;flex-direction:column;gap:12px}
.source-editor-side .listing-mini-thumb{width:100%;height:220px}
.source-editor-chips{display:flex;flex-wrap:wrap;gap:8px}
.source-editor-chips span{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:var(--bg-subtle);font-size:.68rem;color:var(--text-secondary)}
.listing-card{border:1px solid var(--border);border-radius:20px;padding:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 88%, var(--card) 12%),var(--card))}
.listing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.listing-title{font-size:.92rem;font-weight:900;line-height:1.5}
.listing-sub{font-size:.72rem;color:var(--text-muted);margin-top:4px}
.listing-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%, transparent);font-size:.68rem;font-weight:800;color:var(--accent)}
.listing-layout{display:grid;grid-template-columns:220px 1fr;gap:16px}
.listing-media{display:flex;flex-direction:column;gap:10px}
.listing-media-box{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.listing-media-box img{width:100%;height:220px;object-fit:contain;display:block;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.listing-media-note{font-size:.68rem;line-height:1.6;color:var(--text-muted)}
.listing-copy{display:flex;flex-direction:column;gap:12px}
.listing-bullets{margin:0;padding-left:18px}
.listing-bullets li{font-size:.76rem;line-height:1.7;color:var(--text-secondary);margin:4px 0}
.listing-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.listing-detail-block{padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:var(--bg-subtle)}
.listing-detail-block strong{display:block;font-size:.7rem;color:var(--text-secondary);margin-bottom:6px}
.listing-detail-block span{font-size:.74rem;line-height:1.6;color:var(--text)}
.listing-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.listing-tools textarea{min-height:86px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalog-card{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elevated) 86%, var(--card) 14%),var(--card));box-shadow:var(--shadow-sm)}
.catalog-card{cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
.catalog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-strong)}
.catalog-card-cover{height:220px;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.catalog-card-cover img{width:100%;height:100%;object-fit:contain;display:block;background:linear-gradient(180deg,#faf7f2,#f2eee7)}
.catalog-card-body{padding:14px}
.catalog-card-title{font-size:.84rem;font-weight:800;line-height:1.55;margin-bottom:6px}
.catalog-card-sub{margin-top:4px;color:var(--text-muted);font-size:.76rem;line-height:1.5}
.catalog-card-meta{font-size:.7rem;color:var(--text-muted);line-height:1.65}
.catalog-card-orig{font-size:.64rem;color:var(--text-muted);margin-top:2px;line-height:1.5;opacity:.7}
.catalog-chip-orig{display:block;font-size:.58rem;color:var(--text-muted);margin-top:1px;opacity:.7;line-height:1.3}
.catalog-chip-untranslated{border-color:color-mix(in srgb,var(--orange) 30%,var(--border));background:color-mix(in srgb,var(--orange) 6%,var(--bg-subtle))}
.catalog-detail-bilingual{font-size:.72rem;color:var(--text-muted);margin-top:4px;line-height:1.6}
.catalog-detail-bilingual b{color:var(--text-secondary);font-weight:700}
.catalog-detail-grid{display:grid;grid-template-columns:320px 1fr;gap:18px}
.catalog-detail-cover{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#faf7f2,#f2eee7);overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center}
.catalog-detail-cover img{width:100%;height:100%;object-fit:contain}
.catalog-detail-section{border:1px solid var(--border-subtle);border-radius:14px;padding:12px;background:var(--bg-subtle);margin-bottom:10px}
.catalog-detail-section-title{font-size:.78rem;font-weight:900;margin-bottom:8px;color:var(--text)}
.catalog-detail-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(max-width:760px){.catalog-detail-grid{grid-template-columns:1fr}.catalog-detail-cover{min-height:220px}.catalog-detail-kv{grid-template-columns:1fr}}
.catalog-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.catalog-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--bg-subtle);font-size:.68rem;color:var(--text-secondary)}
.catalog-price{font-size:1rem;font-weight:900;color:var(--accent)}
@media(max-width:1100px){.source-grid{grid-template-columns:1fr}.source-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-layout{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-editor-grid,.source-stage-grid,.source-bilingual-grid,.source-workspace-gallery{grid-template-columns:1fr}.source-generation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resale-layout{grid-template-columns:1fr}.resale-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.source-wizard-steps{grid-template-columns:1fr}.source-wizard-body{padding:16px}.source-wizard-footer{align-items:stretch}.source-wizard-primary{justify-content:stretch}.source-wizard-primary .source-btn{flex:1}}
@media(max-width:760px){#sourceMain,#catalogMain{max-width:none;padding-left:14px;padding-right:14px}.source-hero{padding:18px}.source-form-row{grid-template-columns:1fr}.source-card-grid,.catalog-grid,.listing-detail-grid,.source-gallery-grid,.source-generation-grid,.source-workspace-gallery,.e2e-listing-grid,.e2e-copy-modal-grid,.resale-workflow-grid{grid-template-columns:1fr}.source-card{flex-direction:column}.source-thumb{width:100%;height:180px}.e2e-visual-cover{height:260px}.e2e-visual-actions .source-btn{flex:1 1 100%;justify-content:center}.e2e-image-command{flex-direction:column}.e2e-image-command .source-btn{width:100%;justify-content:center}.e2e-copy-preview img{height:260px}.source-modal-overlay{padding:10px}.source-modal{width:100%;max-height:100vh;border-radius:16px}.resale-workflow-grid.is-list .source-generation-card{grid-template-columns:1fr}.resale-workflow-grid.is-list .source-generation-card-cover{height:180px}}
.mpstats-shell{display:flex;flex-direction:column;gap:16px}
.mpstats-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:18px 20px;margin-bottom:12px}
.mpstats-title{font-size:1.2rem;font-weight:900;margin:0 0 4px;color:var(--text);display:flex;align-items:center;gap:8px}
.mpstats-sub{font-size:.78rem;color:var(--text-secondary);line-height:1.55;max-width:720px;margin:0}
.mpstats-status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:.7rem;font-weight:700;background:color-mix(in srgb,#16a34a 10%,var(--bg-subtle));color:#16a34a;border:1px solid color-mix(in srgb,#16a34a 30%,var(--border));white-space:nowrap;flex-shrink:0}
.mpstats-status-pill.off{background:color-mix(in srgb,#dc2626 8%,var(--bg-subtle));color:#dc2626;border-color:color-mix(in srgb,#dc2626 30%,var(--border))}
.mpstats-status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.mpstats-status-card{border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-subtle);padding:12px;display:flex;flex-direction:column;gap:8px}
.mpstats-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.76rem}
.mpstats-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent)}
.mpstats-dot.off{background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 18%,transparent)}
.mpstats-toolbar{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.mpstats-toolbar-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mpstats-toolbar-row.row-secondary{padding-top:10px;border-top:1px solid var(--border-subtle)}
/* === Refined Toolbar (UI Pro Max) === */
.mpstats-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.mpstats-seg-tabs{display:inline-flex;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:10px;padding:3px;gap:0;flex:0 0 auto}
.mpstats-seg-tab{background:transparent;border:0;color:var(--text-secondary);font-size:.78rem;font-weight:700;padding:8px 16px;border-radius:7px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.mpstats-seg-tab:hover{color:var(--text)}
.mpstats-seg-tab.is-active{background:var(--accent);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.mpstats-util-tools{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;flex-wrap:wrap}
.mpstats-util-label{font-size:.65rem;color:var(--text-muted);margin-right:2px;white-space:nowrap}
.mpstats-util-btn{font-size:.72rem;padding:7px 12px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,background .15s;display:inline-flex;align-items:center;gap:4px}
.mpstats-util-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}

/* === Pager card === */

/* Unified toolbar (UI Pro Max) */
.mpstats-toolbar-unified{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:14px;min-height:48px}
.mpstats-toolbar-unified .mpstats-seg-tabs{gap:0;border-radius:9px;padding:2px}
.mpstats-toolbar-unified .mpstats-seg-tab{padding:6px 14px;font-size:.76rem;border-radius:7px;transition:all .15s}
.mpstats-toolbar-unified .mpstats-seg-tab.is-active{box-shadow:0 1px 3px rgba(0,0,0,.1)}
.mpstats-sort-select{padding:5px 24px 5px 8px;border-radius:7px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text);font-size:.74rem;cursor:pointer;height:30px}
.mpstats-util-details{display:inline-flex;flex:0 0 auto;align-items:center}
.mpstats-util-summary{font-size:.72rem;color:var(--text-secondary);cursor:pointer;padding:5px 12px;border:1px solid var(--border-subtle);border-radius:7px;list-style:none;user-select:none;white-space:nowrap;height:30px;display:inline-flex;align-items:center;transition:border-color .15s,color .15s}
.mpstats-util-summary:hover{border-color:var(--accent);color:var(--accent)}
.mpstats-util-details[open] .mpstats-util-summary{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.mpstats-util-summary::-webkit-details-marker{display:none}

.mpstats-lang-toggle{display:inline-flex;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:6px;padding:1px;gap:0;height:30px}
.mpstats-lang-btn{background:transparent;border:0;color:var(--text-muted);font-size:.68rem;font-weight:600;padding:0 8px;border-radius:5px;cursor:pointer;transition:all .15s}
.mpstats-lang-btn.is-active{background:var(--accent);color:#fff}
.mpstats-util-panel{display:flex;gap:6px;padding:4px 0;flex-wrap:wrap}
.mpstats-pager-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;background:var(--card);border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:12px}
.mpstats-pager-title{font-weight:900;font-size:.92rem;color:var(--text);flex:0 0 auto}
.mpstats-pager-status{font-size:.72rem;color:var(--text-muted);flex:0 0 auto}
.mpstats-pager-sort{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--text-muted);margin-left:auto}
.mpstats-pager-sort select{padding:6px 28px 6px 10px;border-radius:7px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text);font-size:.78rem;cursor:pointer}
.mpstats-pager-refresh{font-size:.72rem;padding:6px 12px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;cursor:pointer;white-space:nowrap}
.mpstats-pager-refresh:hover{border-color:var(--accent);color:var(--accent)}

/* === Search row (full width) === */

/* === UI Pro Max: 趋势调研交互优化 === */

/* 搜索框 focus 发光 */
.mpstats-search-input:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}

/* 搜索按钮 active */
.mpstats-search-btn:active{transform:scale(.96)}
.mpstats-search-clear:hover{border-color:var(--text-muted);color:var(--text)}
.mpstats-search-clear:active{transform:scale(.96)}

/* 宫格瓦片 active 反馈 */
.mpstats-root-tile:active{transform:translateY(0) scale(.98);transition-duration:.1s}

/* 商品卡片 hover + active */
.mpstats-card{transition:border-color .2s,box-shadow .2s,transform .2s}
.mpstats-card:active{transform:scale(.99);transition-duration:.1s}

/* catalog-card active */
.catalog-card:active{transform:translateY(0) scale(.985);transition-duration:.1s}

/* btn-sm hover 高亮（没有 primary/ghost 的通用 btn） */
.btn-sm:not(.btn-primary):hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.btn-sm:active{transform:scale(.96);transition-duration:.08s}

/* chip 标签交互 */
.mpstats-chip{transition:transform .15s,box-shadow .15s,background .15s}
.mpstats-chip:hover{box-shadow:0 2px 6px rgba(0,0,0,.06)}

/* 空状态入场动画 */
.mpstats-empty{animation:mpstatsEmptyFadeIn .3s ease-out}
@keyframes mpstatsEmptyFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* 排序 select 交互 */
.mpstats-sort-select:hover{border-color:var(--accent)}
.mpstats-sort-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent);outline:none}

/* 面包屑交互 */
[onclick*="mpstatsNicheBreadcrumbTo"]:hover,[onclick*="mpstatsNicheRootFilter"]:hover,[onclick*="mpstatsCatalogBreadcrumbBack"]:hover{color:var(--accent) !important;text-decoration:none !important}

/* 收藏 checkbox label 交互 */
.catalog-card-fav{transition:transform .15s}
.catalog-card-fav:hover{transform:scale(1.15)}

/* 详情弹窗缩略图 hover */
.resale-ozon-gallery button:hover,.resale-ozon-thumb:hover{border-color:var(--accent) !important;transform:scale(1.05)}

/* 工具栏按钮统一 active */
.mpstats-util-btn:active,.mpstats-seg-tab:active{transform:scale(.95);transition-duration:.08s}

/* KPI 数字悬停高亮 */
.catalog-stat:hover b{color:var(--accent)}
.mpstats-kpi:hover b{color:var(--accent)}

/* 加载动画优化 */
@keyframes mpstatsCardShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.mpstats-card.is-loading{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--card) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:mpstatsCardShimmer 1.5s ease infinite}

/* 全选标签交互 */
.mpstats-seg-tab:hover:not(.is-active){background:color-mix(in srgb,var(--accent) 8%,transparent)}

.mpstats-search-row{display:flex;gap:8px;align-items:center;margin-bottom:14px}
.mpstats-search-wrap{position:relative;flex:1 1 auto;min-width:0}
.mpstats-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none;color:var(--text-muted)}
.mpstats-search-input{width:100%;padding:10px 14px 10px 36px;border-radius:9px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text);font-size:.84rem;outline:none;transition:border-color .15s}
.mpstats-search-input:focus{border-color:var(--accent);background:var(--card)}
.mpstats-search-btn{font-size:.78rem;padding:9px 18px;background:var(--accent);color:#fff;border:0;border-radius:9px;cursor:pointer;font-weight:600;flex:0 0 auto}
.mpstats-search-btn:hover{filter:brightness(1.05)}
.mpstats-search-clear{font-size:.78rem;padding:9px 14px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:9px;cursor:pointer;flex:0 0 auto}

/* === Root category tiles grid: explicit 3 cols on desktop === */
.mpstats-root-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:18px}



.mpstats-root-tile{background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:16px 18px;cursor:pointer;transition:transform .18s cubic-bezier(.25,.46,.45,.94),box-shadow .18s,border-color .18s;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.mpstats-root-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 60%);opacity:0;transition:opacity .2s;pointer-events:none;border-radius:inherit}
.mpstats-root-tile:hover::after{opacity:1}

/* 添加 1688 商品卡片 (UI Pro Max) */

/* 录入区 (UI Pro Max) */
.resale-tab-btn{flex:1;padding:10px 12px;font-size:.76rem;font-weight:700;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;border-bottom:2px solid transparent;text-align:center;white-space:nowrap}
.resale-tab-btn:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 4%,transparent)}
.resale-tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card))}
.resale-tab-count{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;font-size:.62rem;font-weight:800;background:var(--bg-subtle);border-radius:9px;margin-left:4px;padding:0 5px}
.resale-tab-btn.is-active .resale-tab-count{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}
.resale-layout{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start}
.resale-panel{min-width:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden}
.resale-flow-strip{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);overflow-x:auto}
.resale-flow-step{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.7rem;font-weight:800;color:var(--text-secondary);background:var(--card);border:1px solid var(--border-subtle);white-space:nowrap;flex:0 0 auto}
.resale-flow-step.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle))}
.resale-flow-arrow{color:var(--text-muted);font-size:.9rem;font-weight:900;flex:0 0 auto}
.resale-workflow-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:12px}
.resale-workflow-title{font-size:.9rem;font-weight:900;color:var(--text)}
.resale-workflow-sub{font-size:.72rem;color:var(--text-muted);margin-top:4px;line-height:1.5}
.resale-workflow-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1180px){.resale-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.resale-layout{grid-template-columns:1fr}}
.resale-input-panel{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.resale-input-header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.resale-input-title{font-weight:800;font-size:.88rem}
.resale-input-hint{font-size:.72rem;color:var(--text-muted)}
.resale-input-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.resale-smart-input{flex:1 1 300px;min-width:0;padding:10px 14px;border:1.5px solid var(--border-subtle);border-radius:9px;background:var(--bg-subtle);color:var(--text);font-size:.84rem;outline:none;transition:border-color .2s,box-shadow .2s}
.resale-smart-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);background:var(--card)}
.resale-smart-input::placeholder{color:var(--text-muted);opacity:.65}
.resale-input-btn{padding:9px 14px;border-radius:9px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;gap:4px}
.resale-input-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.resale-input-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.resale-input-btn.primary:hover{filter:brightness(1.08)}
.resale-input-btn.primary:disabled{opacity:.5;cursor:not-allowed}
.resale-input-btn.danger:hover{border-color:#dc2626;color:#dc2626;background:color-mix(in srgb,#dc2626 5%,transparent)}
.add-1688-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:140px;border:2px dashed var(--border-subtle);border-radius:14px;cursor:pointer;transition:transform .2s cubic-bezier(.25,.46,.45,.94),border-color .2s,background .2s,box-shadow .2s;padding:24px;text-align:center;position:relative;overflow:hidden}
.add-1688-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 6%,transparent),transparent 70%);opacity:0;transition:opacity .25s}
.add-1688-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 12%,transparent)}
.add-1688-card:hover::before{opacity:1}
.add-1688-card:active{transform:translateY(0) scale(.98);transition-duration:.1s}
.add-1688-card-icon{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,var(--bg-subtle));display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;position:relative}
.add-1688-card-icon::after{content:"";position:absolute;width:16px;height:2px;background:var(--text-muted);border-radius:1px;transition:background .2s}
.add-1688-card-icon::before{content:"";position:absolute;width:2px;height:16px;background:var(--text-muted);border-radius:1px;transition:background .2s}
.add-1688-card:hover .add-1688-card-icon{background:color-mix(in srgb,var(--accent) 18%,transparent);transform:scale(1.08)}
.add-1688-card:hover .add-1688-card-icon::after,.add-1688-card:hover .add-1688-card-icon::before{background:var(--accent)}
.add-1688-card-text{font-size:.78rem;color:var(--text-muted);font-weight:600;transition:color .2s;letter-spacing:.01em}
.add-1688-card:hover .add-1688-card-text{color:var(--accent)}
.add-1688-modal{max-width:480px;border-radius:16px}
.add-1688-input{width:100%;padding:13px 16px;border:1.5px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle);color:var(--text);font-size:.85rem;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
.add-1688-input:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.add-1688-input::placeholder{color:var(--text-muted);opacity:.7}

/* Niche card & Catalog card polish (UI Pro Max) */
.mpstats-card{border-radius:12px;border:1px solid var(--border-subtle);background:var(--card);padding:14px;transition:box-shadow .2s,border-color .2s}
.mpstats-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.06);border-color:color-mix(in srgb,var(--accent) 30%,var(--border-subtle))}
.mpstats-card-title{font-weight:800;line-height:1.35;margin-bottom:6px}
.mpstats-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.mpstats-kpi{text-align:center;padding:6px 4px;background:var(--bg-subtle);border-radius:8px}
.mpstats-kpi b{display:block;font-size:.82rem;color:var(--text);margin-bottom:2px}
.mpstats-kpi span{font-size:.62rem;color:var(--text-muted)}
.mpstats-actions button,.catalog-card-actions button,.catalog-card-actions label{font-size:.72rem!important;padding:7px 10px!important;border-radius:8px!important;white-space:nowrap}
.catalog-card{border-radius:12px;border:1px solid var(--border-subtle);background:var(--card);padding:12px;display:grid;grid-template-columns:24px 72px 1fr auto;gap:10px;align-items:center;transition:box-shadow .2s,border-color .2s}
.catalog-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.05);border-color:color-mix(in srgb,var(--accent) 25%,var(--border-subtle))}
.catalog-card-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.catalog-stat{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.catalog-stat b{font-size:.82rem;font-weight:800}
.catalog-stat span{font-size:.6rem;color:var(--text-muted)}
.mpstats-root-tile:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.08);border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle))}
.mpstats-root-tile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.mpstats-root-tile-icon{font-size:1.7rem;line-height:1}
.mpstats-root-tile-rank{font-size:.65rem;color:var(--text-muted);background:var(--bg-subtle);padding:3px 8px;border-radius:8px;white-space:nowrap}
.mpstats-root-tile-name{font-size:1.02rem;font-weight:800;line-height:1.3}
.mpstats-root-tile-name-ru{font-size:.66rem;color:var(--text-muted);font-style:italic;line-height:1.2}
.mpstats-root-tile-stats{display:flex;gap:18px;align-items:baseline;margin-top:4px}
.mpstats-root-tile-stat-num{font-size:.95rem;font-weight:800;color:var(--accent)}
.mpstats-root-tile-stat-num.is-secondary{color:var(--text)}
.mpstats-root-tile-stat-label{font-size:.62rem;color:var(--text-muted)}
.mpstats-root-tile-top{font-size:.68rem;color:var(--text-muted);padding-top:8px;border-top:1px dashed var(--border-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* === Sub-tile grid (二级下钻) === */
.mpstats-sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:16px}




.mpstats-seg-tabs{display:inline-flex;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:10px;padding:3px;gap:0;flex:0 0 auto}
.mpstats-seg-tab{background:transparent;border:0;color:var(--text-secondary);font-size:.78rem;font-weight:700;padding:7px 14px;border-radius:7px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}
.mpstats-seg-tab:hover{color:var(--text)}
.mpstats-seg-tab.is-active{background:var(--accent);color:#fff}
.mpstats-util-tools{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;flex-wrap:wrap}
.mpstats-util-label{font-size:.65rem;color:var(--text-muted);margin-right:2px;white-space:nowrap}
.mpstats-util-btn{font-size:.72rem;padding:6px 11px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:7px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}
.mpstats-util-btn:hover{border-color:var(--accent);color:var(--accent)}

.mpstats-toolbar input,.mpstats-toolbar select,.mpstats-input,.mpstats-textarea{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);border-radius:9px;padding:8px 11px;font-size:.82rem}
.mpstats-toolbar input{min-width:200px;flex:1}
.mpstats-textarea{width:100%;min-height:132px;resize:vertical;line-height:1.5}
.mpstats-tabbar{display:flex;gap:8px;flex-wrap:wrap}
.mpstats-tabbar button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:800;cursor:pointer}
.mpstats-tabbar button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.mpstats-grid{display:flex;flex-direction:column;gap:12px}
.mpstats-grid.two{display:flex;flex-direction:column}
.mpstats-filter-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:12px}
.mpstats-filter-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.mpstats-filter-title{font-size:.76rem;font-weight:900;color:var(--text)}
.mpstats-filter-mode{display:inline-flex;gap:6px;flex-wrap:wrap}
.mpstats-filter-mode button,.mpstats-tag-filter{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:850;cursor:pointer}
.mpstats-filter-mode button.active,.mpstats-tag-filter.active{background:var(--accent);border-color:var(--accent);color:#fff}
.mpstats-tag-filter.excluded{background:color-mix(in srgb,var(--danger) 14%,var(--bg-subtle));border-color:color-mix(in srgb,var(--danger) 42%,var(--border));color:var(--danger)}
.mpstats-filter-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mpstats-filter-group{border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle);padding:9px;min-width:0}
.mpstats-filter-group-title{font-size:.68rem;font-weight:900;color:var(--text-muted);margin-bottom:7px}
.mpstats-tag-row{display:flex;gap:6px;flex-wrap:wrap;max-height:86px;overflow:auto;padding-right:4px}
.mpstats-filter-note{font-size:.68rem;color:var(--text-muted);line-height:1.45}
.mpstats-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:12px;padding:9px 11px}
.mpstats-pager-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mpstats-pager-actions button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:8px;padding:6px 9px;font-size:.7rem;font-weight:800;cursor:pointer;min-width:34px}
.mpstats-pager-actions button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.mpstats-pager-actions button:disabled{opacity:.45;cursor:not-allowed}
.mpstats-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:12px;display:grid;grid-template-columns:96px minmax(0,1fr) minmax(180px,.7fr);gap:14px;align-items:start;min-width:0}
.mpstats-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow)}
.mpstats-thumb{width:96px;height:96px;border-radius:10px;background:var(--bg-subtle);object-fit:cover;border:1px solid var(--border-subtle)}
.mpstats-card-body{min-width:0;display:flex;flex-direction:column;gap:6px}
.mpstats-card-title{font-size:.92rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text)}
.mpstats-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:.7rem;color:var(--text-muted);line-height:1.4;align-items:center}
.mpstats-meta .mpstats-meta-sep{color:var(--border);margin:0 2px}
.mpstats-meta-cat{font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);padding:2px 8px;border-radius:6px;font-size:.7rem;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mpstats-meta-id{font-size:.65rem;color:var(--text-muted);font-family:monospace}
.mpstats-tags-inline{font-size:.65rem;color:var(--text-secondary)}
.mpstats-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-subtle);padding:3px 7px;color:var(--text-secondary);font-size:.68rem;white-space:nowrap;max-width:18ch;overflow:hidden;text-overflow:ellipsis}
.mpstats-catalog-wrap{display:flex;flex-direction:column;gap:12px}
.catalog-cards{display:flex;flex-direction:column;gap:8px}
.catalog-card{display:grid;grid-template-columns:28px 72px minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--border-subtle);border-radius:10px;padding:10px 12px;transition:border-color .15s}
.catalog-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
.catalog-card-rank{font-size:.7rem;font-weight:900;color:var(--text-muted);text-align:center}
.catalog-card-img{width:72px;height:72px;object-fit:cover;border-radius:8px;background:var(--bg-subtle);flex-shrink:0}
.catalog-card-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.catalog-card-title{font-size:.82rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catalog-card-meta{display:flex;gap:8px;font-size:.66rem;color:var(--text-muted)}
.catalog-card-brand{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-card-id{opacity:.6}
.catalog-card-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:2px}
.catalog-stat{display:flex;flex-direction:column;gap:1px;font-size:.7rem}
.catalog-stat b{font-weight:800;font-size:.78rem;color:var(--text)}
.catalog-stat span{font-size:.6rem;color:var(--text-muted);font-weight:600}
.catalog-card-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex-shrink:0}
.catalog-card-fav{cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:4px}
.catalog-card-fav input{width:16px;height:16px}
@media(max-width:900px){.catalog-card{grid-template-columns:24px 56px minmax(0,1fr);gap:8px}.catalog-card-actions{grid-column:1/-1;flex-direction:row;align-items:center}.catalog-card-img{width:56px;height:56px}}
.mpstats-catalog-section{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:10px;padding:10px 12px}
.mpstats-catalog-section-title{font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-bottom:6px}
.mpstats-catalog-pill-row{display:flex;flex-wrap:wrap;gap:6px}
.mpstats-catalog-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:.72rem;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mpstats-catalog-pill:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}
.mpstats-catalog-pill.favorite{background:color-mix(in srgb,#facc15 12%,var(--bg-card));border-color:color-mix(in srgb,#facc15 35%,var(--border))}
.mpstats-chip.strong{background:color-mix(in srgb,var(--accent) 11%,var(--bg-subtle));border-color:color-mix(in srgb,var(--accent) 24%,var(--border));color:var(--accent);font-weight:700}
.mpstats-kpis{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;background:var(--bg-subtle);margin-top:auto}
.mpstats-kpi{flex:1;min-width:64px;padding:6px 8px;text-align:center;border-right:1px solid var(--border-subtle);background:transparent}
.mpstats-kpi:last-child{border-right:0}
.mpstats-kpi b{display:block;font-size:.85rem;color:var(--text);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpstats-kpi span{display:block;font-size:.6rem;color:var(--text-muted);margin-top:1px;text-transform:uppercase;letter-spacing:.3px}
.mpstats-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start}
.mpstats-detail-snippet{display:flex;flex-direction:column;gap:6px;min-width:0;padding:1px 0;align-items:stretch;justify-content:space-between;height:100%}
.mpstats-detail-snippet .mpstats-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.mpstats-detail-summary{font-size:.7rem;line-height:1.5;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mpstats-stock-row{display:flex;gap:8px;font-size:.62rem;color:var(--text-muted);flex-wrap:wrap}
.mpstats-stock-row span b{color:var(--text-secondary);font-weight:600}
/* ===== 合并控制卡 (catalog/hot 视图上方统一卡片) ===== */
.mpx-control{background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.03);margin-bottom:14px;overflow:hidden}
.mpx-control-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--border-subtle);min-height:48px}
.mpx-crumb-seg{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;padding:3px 8px;border-radius:7px;transition:background .15s,color .15s;line-height:1.2;text-decoration:none}
.mpx-crumb-seg:hover{background:var(--bg-subtle);color:var(--accent)}
.mpx-crumb-seg.is-current{color:var(--accent);font-weight:800;cursor:default;background:color-mix(in srgb,var(--accent) 9%,transparent)}
.mpx-crumb-seg.is-current:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.mpx-crumb-sep{color:var(--border-strong,var(--text-muted));font-size:.74rem;opacity:.6;flex:0 0 auto}
.mpx-crumb-count{margin-left:auto;font-size:.7rem;color:var(--text-muted);font-weight:600;white-space:nowrap;flex:0 0 auto;background:var(--bg-subtle);padding:3px 10px;border-radius:20px}
.mpx-control-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;justify-content:space-between}
.mpx-sort-filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 14px;padding:12px 16px;background:var(--card);border-radius:12px;border:1px solid var(--border-subtle);box-shadow:0 1px 4px rgba(0,0,0,.03)}
.mpx-sort-filter-bar .btn-sm{font-size:.72rem;padding:6px 12px;border-radius:8px;font-weight:600;transition:all .15s}
.mpx-sort-filter-bar .btn-primary.btn-sm{box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 30%,transparent)}

.mpx-seg-group{display:inline-flex;align-items:center;gap:2px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:9px;padding:3px}
.mpx-seg-group .mpx-seg-label{font-size:.68rem;color:var(--text-muted);font-weight:600;padding:0 6px 0 8px;white-space:nowrap}
.mpx-seg-btn{font-size:.72rem;font-weight:600;padding:6px 11px;border:none;background:transparent;color:var(--text-secondary);border-radius:7px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;min-height:32px}
.mpx-seg-btn:hover{color:var(--text)}
.mpx-seg-btn.is-active{background:var(--accent);color:#fff;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 40%,transparent)}
.mpx-control-feedback{margin-left:auto;font-size:.72rem;color:var(--text-muted);white-space:nowrap}
.mpx-control-feedback b{color:var(--accent)}
.mpx-ghost-btn{font-size:.72rem;font-weight:600;padding:6px 12px;border:1px solid var(--border-subtle);background:var(--card);color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap;min-height:32px}
.mpx-ghost-btn:hover{border-color:var(--accent);color:var(--accent)}
.mpx-control-extra{padding:0 16px 12px;border-top:1px solid var(--border-subtle);padding-top:10px}
.mpx-dash-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:14px;border-radius:10px 10px 0 0}
.mpx-dash-tab{padding:7px 14px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.mpx-dash-tab:hover{background:var(--card);color:var(--text)}
.mpx-dash-tab.is-active{background:var(--accent);color:#fff;box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 30%,transparent)}
.mpx-disclosure{border-top:1px solid var(--border-subtle)}
.mpx-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 16px;font-size:.74rem;font-weight:600;color:var(--text-secondary);user-select:none;transition:background .15s}
.mpx-disclosure>summary::-webkit-details-marker{display:none}
.mpx-disclosure>summary:hover{background:var(--bg-subtle)}
.mpx-disclosure>summary .mpx-chevron{transition:transform .2s;font-size:.7rem;opacity:.7}
.mpx-disclosure[open]>summary .mpx-chevron{transform:rotate(90deg)}
.mpx-disclosure-body{padding:4px 16px 12px}
.mpx-hist-item{background:var(--card);border:1px solid var(--border-subtle);border-radius:8px;padding:7px 11px;display:flex;align-items:center;gap:10px;font-size:.74rem;line-height:1.3;transition:border-color .15s}
.mpx-hist-item:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle))}
.mpx-hist-item.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--card))}
.mpx-subchip{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:5px 11px;border-radius:18px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;transition:all .15s;line-height:1;min-height:30px}
.mpx-subchip:hover{border-color:var(--accent);color:var(--accent)}
/* ===== 赛道瓦片(root-tile)精修 v2 ===== */
.mpstats-root-tile{position:relative}
.mpx-tile-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mpx-tile-icon{font-size:1.3rem;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle));border-radius:10px;flex:0 0 auto;transition:background .2s}
.mpstats-root-tile:hover .mpx-tile-icon{background:color-mix(in srgb,var(--accent) 14%,var(--bg-subtle))}
.mpx-tile-rank{font-size:.62rem;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle));padding:3px 9px;border-radius:20px;white-space:nowrap;flex:0 0 auto}
.mpx-tile-name{font-size:.92rem;font-weight:800;line-height:1.3;letter-spacing:-.01em;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mpx-tile-name-ru{font-size:.64rem;color:var(--text-muted);font-style:normal;opacity:.65;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.mpx-tile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.mpx-tile-stat{background:var(--bg-subtle);border-radius:9px;padding:8px 10px;min-width:0;text-align:center}
.mpx-tile-stat b{display:block;font-size:.9rem;font-weight:800;color:var(--accent);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpx-tile-stat.is-secondary b{color:var(--text)}
.mpx-tile-stat span{display:block;font-size:.6rem;color:var(--text-muted);margin-top:3px;font-weight:600}
.mpx-tile-top{font-size:.66rem;color:var(--text-muted);padding-top:8px;margin-top:4px;border-top:1px solid var(--border-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mpx-tile-top b{color:var(--text-secondary);font-weight:700}
.mpx-tile-cta{display:none}
.mpstats-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mpstats-market-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.mpstats-market-name{font-size:.85rem;font-weight:850;line-height:1.35;word-break:break-word}
.mpstats-market-score{width:56px;height:56px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-subtle));display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--accent)}
.mpstats-empty{background:var(--card);border:1px dashed var(--border);border-radius:14px;padding:28px;text-align:center;color:var(--text-secondary)}
/* ===== 商品榜单条目(catalog-card)精修 v2 ===== */
.mpx-prod{display:grid;grid-template-columns:32px 80px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:14px 16px;transition:border-color .18s,box-shadow .18s,transform .15s}
.mpx-prod:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 4px 16px rgba(0,0,0,.06);transform:translateY(-1px)}
.mpx-prod:active{transform:translateY(0) scale(.995);transition-duration:.08s}
.mpx-prod-rank{font-size:.84rem;font-weight:900;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-subtle)}
.mpx-prod-rank.is-top{color:#fff;background:var(--accent)}
.mpx-prod-img{width:80px;height:80px;object-fit:cover;border-radius:12px;background:var(--bg-subtle);flex-shrink:0;border:1px solid var(--border-subtle)}
.mpx-prod-body{min-width:0;display:flex;flex-direction:column;gap:7px}
.mpx-prod-title{font-size:.84rem;font-weight:700;line-height:1.45;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mpx-prod-meta{display:flex;gap:8px;align-items:center;font-size:.66rem;color:var(--text-muted);flex-wrap:wrap}
.mpx-prod-brand{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--text-secondary)}
.mpx-prod-id{opacity:.5;font-variant-numeric:tabular-nums}
.mpx-prod-stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.mpx-prod-stat{display:flex;flex-direction:column;gap:2px;min-width:0;background:var(--bg-subtle);border-radius:7px;padding:5px 9px}
.mpx-prod-stat b{font-size:.82rem;font-weight:800;color:var(--text);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.mpx-prod-stat span{font-size:.6rem;color:var(--text-muted);font-weight:600}
.mpx-prod-stat.is-rating b{color:#16a34a}
.mpx-prod-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;flex-shrink:0;width:96px}
.mpx-prod-actions .mpx-pa-row{display:flex;gap:6px;align-items:center}
.mpx-pa-btn{font-size:.7rem;font-weight:600;padding:6px 8px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--card);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;flex:1;min-height:32px}
.mpx-pa-btn:hover{border-color:var(--accent);color:var(--accent)}
.mpx-pa-btn.is-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.mpx-pa-btn.is-primary:hover{filter:brightness(1.06);color:#fff}
.mpx-pa-fav{display:inline-flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;font-size:.92rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--card);transition:all .15s;min-height:32px;width:36px;flex:0 0 auto}
.mpx-pa-fav:hover{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 8%,var(--card))}
.mpx-pa-fav input{display:none}
.mpx-pa-fav.is-on{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,var(--card))}
@media(max-width:760px){.mpx-prod{grid-template-columns:60px minmax(0,1fr);gap:9px}.mpx-prod-img{width:60px;height:60px}.mpx-prod-actions{grid-column:1/-1;width:auto;flex-direction:row}.mpx-prod-actions .mpx-pa-row{flex:1}}
/* ===== 类目榜单卡片(niche-card)精修：紧凑横向行 ===== */
.mpx-niche{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--border-subtle);border-radius:11px;padding:10px 13px;transition:border-color .15s,box-shadow .15s}
.mpx-niche:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));box-shadow:0 2px 10px rgba(0,0,0,.05)}
.mpx-niche-rank{font-size:1.05rem;font-weight:800;color:var(--text-muted);text-align:center;line-height:1;font-variant-numeric:tabular-nums}
.mpx-niche-rank.is-top{color:var(--accent)}
.mpx-niche-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.mpx-niche-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.mpx-niche-title{font-size:.9rem;font-weight:800;line-height:1.3;color:var(--text);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.mpx-niche-tags{display:inline-flex;gap:5px;flex-wrap:wrap}
.mpx-ntag{display:inline-flex;align-items:center;gap:3px;font-size:.63rem;font-weight:600;padding:2px 7px;border-radius:6px;line-height:1.3;white-space:nowrap}
.mpx-niche-metrics{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;font-size:.7rem;color:var(--text-muted)}
.mpx-niche-metric{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.mpx-niche-metric b{font-size:.8rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.mpx-niche-metric.is-accent b{color:var(--accent)}
.mpx-niche-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.mpx-na-btn{font-size:.72rem;font-weight:600;padding:7px 13px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--card);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;min-height:34px;display:inline-flex;align-items:center;gap:4px}
.mpx-na-btn:hover{border-color:var(--accent);color:var(--accent)}
.mpx-na-btn.is-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.mpx-na-btn.is-primary:hover{filter:brightness(1.06);color:#fff}
.mpx-na-icon{width:34px;min-height:34px;padding:0;justify-content:center;font-size:.92rem}
.mpx-na-icon.is-on{border-color:#f59e0b;color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,var(--card))}
@media(max-width:760px){.mpx-niche{grid-template-columns:28px minmax(0,1fr);gap:9px}.mpx-niche-actions{grid-column:1/-1;justify-content:flex-end}.mpx-niche-metrics{gap:12px}}
.mpx-niche-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.resale-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.resale-side,.resale-main{background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;padding:14px;min-width:0}
.resale-product-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-height:620px;overflow:auto}
.resale-product-card{border:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:12px;padding:10px;cursor:pointer;display:flex;gap:10px}
.resale-product-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}
.resale-product-card img{width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--card);border:1px solid var(--border-subtle)}
.resale-product-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.resale-product-strip .resale-product-card{align-items:center;min-height:96px}
.resale-product-strip .resale-product-card img{width:74px;height:74px}
.resale-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:12px}
.resale-ref-panel{border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-subtle);padding:12px;margin:10px 0 12px}
.resale-ref-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.resale-ref-kpi{border:1px solid var(--border-subtle);background:var(--card);border-radius:10px;padding:8px;min-width:0}
.resale-ref-kpi span{display:block;font-size:.62rem;color:var(--text-muted);margin-bottom:3px}
.resale-ref-kpi b{display:block;font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resale-ozon-note{font-size:.72rem;color:var(--text-muted);line-height:1.5;margin:8px 0 4px}
.resale-ozon-gallery{display:flex;gap:8px;overflow:auto;padding:4px 2px 8px;margin:8px 0 12px}
.resale-ozon-thumb{position:relative;border:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:10px;padding:3px;cursor:pointer;flex:0 0 auto}
.resale-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.resale-row{display:grid;grid-template-columns:32px 64px minmax(0,1fr) auto auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--border-subtle);border-radius:10px;padding:10px 14px;transition:border-color .15s}
.resale-row:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}
.resale-row-rank{font-size:.72rem;font-weight:900;color:var(--text-muted);text-align:center}
.resale-row-img{width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--bg-subtle)}
.resale-row-body{min-width:0;display:flex;flex-direction:column;gap:4px}
.resale-row-title{font-size:.82rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.resale-row-meta{display:flex;gap:10px;font-size:.66rem;color:var(--text-muted);flex-wrap:wrap}
.resale-row-source{font-size:.66rem;color:var(--accent);font-weight:600}
.resale-row-status{font-size:.7rem;font-weight:700;padding:6px 10px;border-radius:8px;white-space:nowrap}
.resale-row-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end;flex-shrink:0}
.resale-cand-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--border-subtle);border-radius:10px;padding:10px;overflow:hidden}
.resale-cand-row.is-current{border-color:#16a34a;background:color-mix(in srgb,#16a34a 6%,var(--card))}
.resale-cand-img{width:84px;height:84px;border-radius:8px;object-fit:cover;background:var(--bg-subtle)}
.resale-cand-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.resale-cand-title{font-size:.82rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.resale-cand-meta{display:flex;gap:10px;font-size:.66rem;color:var(--text-muted);flex-wrap:wrap}
.resale-cand-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;row-gap:6px}
.resale-cand-stat{display:flex;flex-direction:column;gap:1px;font-size:.7rem}
.resale-cand-stat b{font-weight:800;font-size:.78rem;color:var(--text)}
.resale-cand-stat i{font-size:.6rem;color:var(--text-muted);font-weight:600;font-style:normal}
.resale-cand-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;align-items:flex-end;min-width:0;white-space:nowrap}
@media(max-width:900px){.resale-row{grid-template-columns:24px 56px minmax(0,1fr);gap:8px}.resale-row-status{grid-column:1/-1;justify-self:start}.resale-row-actions{grid-column:1/-1;flex-direction:row;align-items:center}.resale-row-img{width:56px;height:56px}.resale-cand-row{grid-template-columns:60px minmax(0,1fr);gap:8px}.resale-cand-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}}
.resale-ozon-thumb.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}
.resale-ozon-thumb img{width:88px;height:88px;border-radius:7px;object-fit:cover;background:var(--card);display:block}
.resale-ozon-thumb span{position:absolute;right:7px;bottom:7px;border-radius:999px;background:rgba(0,0,0,.58);color:#fff;font-size:.6rem;padding:1px 5px}
.resale-candidate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-subtle)}
.resale-filter-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.resale-filter-row button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;cursor:pointer}
.resale-filter-row button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.resale-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.resale-candidate{border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-subtle);padding:10px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px}
.resale-candidate.is-selected{border-color:color-mix(in srgb,var(--green) 70%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 14%,transparent)}
.resale-candidate img{width:78px;height:78px;border-radius:9px;object-fit:cover;background:var(--card);border:1px solid var(--border-subtle)}
.resale-candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.resale-candidate-actions{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.resale-candidate-actions button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:8px;padding:4px 7px;font-size:.64rem;cursor:pointer;white-space:nowrap}
.resale-match-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.resale-match-row button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:999px;padding:4px 8px;font-size:.66rem;cursor:pointer}
.resale-match-row button.active{background:var(--green);border-color:var(--green);color:#fff}
.resale-source-mini-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px}
.resale-source-mini-gallery label{position:relative;border:1px solid var(--border-subtle);border-radius:8px;padding:2px;background:var(--card);cursor:pointer;min-width:0}
.resale-source-mini-gallery label.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}
.resale-source-mini-gallery input{position:absolute;left:5px;top:5px;z-index:2}
.resale-source-mini-gallery img{width:100%;height:54px;object-fit:cover;border-radius:6px;display:block}
.resale-source-mini-gallery span{position:absolute;right:5px;bottom:5px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.56rem;padding:1px 4px}
.resale-candidate-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0 12px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle)}
.resale-pager-meta{font-size:.72rem;color:var(--text-secondary);font-weight:700}
.resale-pager{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.resale-pager button{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:8px;padding:6px 9px;font-size:.7rem;font-weight:700;cursor:pointer;min-width:34px}
.resale-pager button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.resale-pager button:disabled{opacity:.45;cursor:not-allowed}
/* Resale delete button — unified across all card types */
.resale-delete-btn{
  position:absolute;top:4px;right:4px;z-index:5;
  width:18px;height:18px;min-width:18px;min-height:18px;
  display:inline-flex;align-items:center;justify-content:center;
  border:none;border-radius:5px;
  background:color-mix(in srgb,var(--danger) 8%,var(--card));
  color:color-mix(in srgb,var(--danger) 55%,var(--text-muted));
  font-size:.62rem;font-weight:700;line-height:1;
  cursor:pointer;padding:0;
  transition:background .15s,color .15s,transform .15s,opacity .2s;
  opacity:.55;
}
.resale-delete-btn::after{
  content:"";position:absolute;inset:-6px;
}
.resale-delete-btn:hover,.resale-delete-btn:focus-visible{
  background:var(--danger);color:#fff;opacity:1;
  transform:scale(1.08);
}
.resale-delete-btn:active{transform:scale(.94)}
/* Card containers need position:relative for the absolute X button */
.resale-compact-row,.resale-pub-card{position:relative}
.resale-compact-row:hover .resale-delete-btn,
.resale-pub-card:hover .resale-delete-btn,
.source-generation-card:hover .resale-delete-btn{opacity:1}
.resale-delete-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:1100px){.mpstats-hero,.resale-layout,.mpstats-filter-panel{grid-template-columns:1fr}.mpstats-filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.mpstats-market-grid,.resale-candidate-grid{grid-template-columns:1fr}.resale-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resale-product-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.mpstats-card{grid-template-columns:82px minmax(0,1fr)} .mpstats-card .mpstats-detail-snippet{grid-column:1 / -1} .mpstats-card .mpstats-actions{justify-content:flex-start}}
@media(max-width:760px){#mpstatsTrendsMain,#resaleSourceMain{padding-left:14px;padding-right:14px}.mpstats-filter-groups{grid-template-columns:1fr}.mpstats-card,.resale-candidate{grid-template-columns:1fr;display:flex;flex-direction:column}.mpstats-thumb,.resale-candidate img{width:100%;height:180px}.resale-detail-head{grid-template-columns:1fr}.mpstats-kpis,.resale-ref-grid,.resale-product-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.resale-candidate-head{flex-direction:column}}

/* ======= 全局移动端适配 (UI Pro Max) ======= */
@media(max-width:768px){
  /* 顶部导航 */
  .topnav{padding:8px 12px!important;gap:6px!important}
  .topnav h1{font-size:.85rem!important}
  .topnav-brand .sub{display:none}
  .topnav button,.topnav .topnav-item{font-size:.7rem!important;padding:6px 8px!important;min-height:36px}
  .topnav-right{gap:4px!important}

  /* Ozon 调研选品 toolbar */
  .mpstats-toolbar-unified{padding:8px 10px!important;gap:6px!important;flex-direction:column;align-items:stretch}
  .mpstats-seg-tabs{width:100%;justify-content:center}
  .mpstats-seg-tab{padding:6px 10px!important;font-size:.72rem!important;flex:1;text-align:center}
  .mpstats-util-details{width:100%}
  .mpstats-util-summary{width:100%;justify-content:center}
  .mpstats-util-panel{position:static;box-shadow:none;border:0;padding:6px 0}
  .mpstats-sort-select{width:100%;min-width:0!important}
  .mpstats-lang-toggle{margin-left:auto}

  /* 搜索行 */
  .mpstats-search-row{flex-direction:column;gap:6px}
  .mpstats-search-wrap{width:100%}
  .mpstats-search-btn,.mpstats-search-clear{width:auto}

  /* 宫格 3→1 列 */
  .mpstats-root-grid{grid-template-columns:1fr!important;gap:10px!important}
  .mpstats-sub-grid{grid-template-columns:1fr!important;gap:10px!important}
  .mpstats-root-tile{padding:14px!important}

  /* 赛道卡片 */
  .mpstats-card{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;gap:10px!important;padding:12px!important}
  .mpstats-card>div:first-child{display:none}
  .mpstats-kpis{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}
  .mpstats-actions{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .mpstats-detail-snippet{display:flex;flex-direction:column;gap:8px}

  /* 商品卡片 */
  .catalog-card{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:10px!important}
  .catalog-card-img{width:100%!important;height:160px!important;border-radius:8px!important;object-fit:cover}
  .catalog-card-rank{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:800;z-index:1}
  .catalog-card-stats{flex-wrap:wrap;gap:8px}
  .catalog-card-actions{grid-template-columns:1fr 1fr!important}

  /* Resale refactor: left-right split responsive */
@media(max-width:900px){.mpstats-shell>[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}}
/* 扫货上架 */
  .resale-input-panel{padding:10px 12px!important}
  .resale-input-row{flex-direction:column}
  .resale-smart-input{width:100%;flex:none}
  .resale-input-btn{flex:1}
  .resale-row{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:10px!important}
  .resale-row-img{width:100%!important;height:120px!important;object-fit:cover!important;border-radius:8px!important}
  .resale-row-actions{flex-direction:row!important;flex-wrap:wrap!important;gap:6px!important}
  .resale-row-status{position:absolute;top:8px;right:8px}
  .resale-cand-row{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:10px!important}
  .resale-cand-img{width:100%!important;height:100px!important;object-fit:cover!important;border-radius:8px!important}
  .resale-cand-actions{flex-direction:row!important;flex-wrap:wrap!important}

  /* 模态 */
  .source-modal-overlay{padding:0!important;align-items:flex-end!important}
  .source-modal{max-width:100%!important;width:100%!important;max-height:92vh!important;border-radius:16px 16px 0 0!important;margin:0!important}
  .source-modal-header{padding:12px 14px!important;position:sticky;top:0;background:var(--card);z-index:10;border-bottom:1px solid var(--border-subtle)}
  .source-modal-body{padding:12px 14px!important;overflow-y:auto}

  /* 收藏库 */
  .mpstats-fav-filter-panel{padding:10px 12px!important}

  /* 面包屑 */
  [style*="padding:10px 14px;background:var(--bg-subtle);border-radius:10px"]{font-size:.72rem!important;padding:8px 10px!important}

  /* 竞品情报 */
  .mpstats-modal{max-width:100%!important;width:100%!important;max-height:92vh!important;border-radius:16px 16px 0 0!important}

  /* 全案卡片 */
  .source-generation-grid{grid-template-columns:1fr!important}
  .source-gallery-grid{grid-template-columns:repeat(2,1fr)!important}

  /* 添加 1688 卡片 */
  .add-1688-card{min-height:80px!important;padding:14px!important}

  /* 通用 */
  body{font-size:15px}
  .btn,.btn-sm{min-height:36px;font-size:.74rem!important}
  select{min-height:36px}
  input[type="text"],input[type="number"],textarea{font-size:16px!important}
  .mpstats-empty{padding:20px 14px!important;font-size:.82rem!important}
}

/* 小手机额外调整 */
@media(max-width:400px){
  .mpstats-seg-tab{padding:5px 6px!important;font-size:.66rem!important}
  .mpstats-root-tile-name{font-size:.9rem!important}
  .mpstats-kpis{grid-template-columns:1fr 1fr!important}
  .catalog-card-stats{gap:6px}
  .catalog-stat b{font-size:.76rem!important}
}


/* ═══════ Ozon123 Calculator ═══════ */
.ozon123-modal{max-width:min(1120px,98vw)}
.ozon123-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-subtle);margin:0 20px}
.ozon123-tab-btn{flex:1;padding:12px 16px;font-size:.84rem;font-weight:800;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}
.ozon123-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.ozon123-tab-btn:hover:not(.active){color:var(--text-secondary);border-bottom-color:var(--border)}
.ozon123-body{display:flex;gap:0;min-height:0}
.ozon123-sidebar{flex:0 0 38%;min-width:280px;padding:16px 18px;border-right:1px solid var(--border-subtle);overflow-y:auto;max-height:calc(85vh - 160px)}
.ozon123-results{flex:1 1 62%;padding:16px 18px;overflow-y:auto;max-height:calc(85vh - 160px);display:flex;flex-direction:column;gap:14px}
.ozon123-section{margin-bottom:14px}
.ozon123-section-title{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}
.ozon123-input-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ozon123-input-row.full{grid-template-columns:1fr}
.ozon123-input-field{display:flex;flex-direction:column;gap:3px}
.ozon123-input-field label{font-size:.72rem;color:var(--text-secondary);font-weight:700}
.ozon123-input-field input,.ozon123-input-field select{padding:7px 10px;font-size:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);color:var(--text)}
.ozon123-input-field input:focus,.ozon123-input-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}
.ozon123-input-hint{font-size:.65rem;color:var(--text-muted)}
.ozon123-input-badge{font-size:.7rem;font-weight:800;padding:2px 7px;border-radius:5px;background:color-mix(in srgb,var(--accent) 15%,var(--bg));color:var(--accent)}
.ozon123-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ozon123-kpi-card{padding:14px 16px;border-radius:12px;background:var(--card);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:4px}
.ozon123-kpi-value{font-size:1.2rem;font-weight:950}
.ozon123-kpi-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.ozon123-kpi-sub{font-size:.68rem;color:var(--text-muted)}
.ozon123-kpi-card.good{border-left:3px solid var(--green)}
.ozon123-kpi-card.warn{border-left:3px solid #ca8a04}
.ozon123-kpi-card.bad{border-left:3px solid var(--danger)}
.ozon123-cost-table{width:100%;border-collapse:collapse;font-size:.78rem}
.ozon123-cost-table th,.ozon123-cost-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-subtle)}
.ozon123-cost-table th{font-size:.68rem;text-transform:uppercase;color:var(--text-muted);font-weight:800}
.ozon123-cost-table td.amount{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.ozon123-cost-table tr.total td{border-top:2px solid var(--border);font-weight:900}
.ozon123-cost-table tr.profit td{font-weight:900;color:var(--green)}
.ozon123-footer{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--border);justify-content:space-between;align-items:center}
.ozon123-warning-strip{padding:8px 12px;border-radius:8px;background:color-mix(in srgb,#ca8a04 15%,var(--bg));border:1px solid color-mix(in srgb,#ca8a04 30%,var(--border));font-size:.74rem;display:flex;align-items:center;gap:8px}
.ozon123-warning-strip.danger{background:color-mix(in srgb,var(--danger) 15%,var(--bg));border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}
.ozon123-volume-info{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#ca8a04 12%,var(--bg));border:1px solid color-mix(in srgb,#ca8a04 25%,var(--border));font-size:.72rem}
.ozon123-volume-info strong{color:#ca8a04}
@media(max-width:760px){.ozon123-body{flex-direction:column}.ozon123-sidebar{flex:none;max-height:none;border-right:none;border-bottom:1px solid var(--border-subtle)}.ozon123-results{max-height:none}.ozon123-kpi-grid{grid-template-columns:1fr 1fr}.ozon123-input-row{grid-template-columns:1fr}}


/* === Image Lightbox === */
.source-lightbox-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;animation:lbIn .2s ease}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.source-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}
.source-lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px;background:var(--bg-subtle)}
.source-lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;padding:4px 8px;opacity:.7;transition:opacity .15s}
.source-lightbox-close:hover{opacity:1}
.source-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;font-size:2.5rem;width:48px;height:80px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s;line-height:1;user-select:none}
.source-lightbox-nav:hover{background:rgba(255,255,255,.22)}
.source-lightbox-prev{left:-56px}.source-lightbox-next{right:-56px}
.source-lightbox-info{display:flex;justify-content:space-between;margin-top:12px;color:rgba(255,255,255,.7);font-size:.78rem;width:100%}
@media(max-width:768px){.source-lightbox-prev{left:8px;width:40px;height:60px;font-size:2rem}.source-lightbox-next{right:8px;width:40px;height:60px;font-size:2rem}.source-lightbox-content{max-width:96vw}.source-lightbox-img{max-width:96vw;max-height:75vh}}

/* === Refine CTA Button === */
.source-refine-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;font-size:.82rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#7c3aed));color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.source-refine-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 45%,transparent)}
.source-refine-cta:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 25%,transparent)}
.source-refine-cta-icon{font-size:1rem}
