:root {
  --nav:#0b4f86;
  --nav-dark:#073b67;
  --text:#17283b;
  --muted:#66758a;
  --line:#dbe4ee;
  --soft-line:#edf2f7;
  --bg:#f3f6fa;
  --card:#fff;
  --blue:#0f609e;
  --blue-2:#1b75b8;
  --warn:#d63f32;
  --candidate:#d88300;
  --scale:#138a54;
  --shadow:0 12px 32px rgba(13,45,76,.08);
}
* { box-sizing:border-box; }
body {
  margin:0;
  font-family:"Microsoft YaHei", Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  letter-spacing:0;
}
button, input, select { font:inherit; }
button { cursor:pointer; }
.hidden { display:none !important; }
.session-gate {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 70% 20%, rgba(27,117,184,.13), transparent 36%),
    linear-gradient(145deg, #f7fbff 0%, #edf4fa 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .18s ease, visibility .18s ease;
}
.session-gate.is-ready { opacity:0; visibility:hidden; pointer-events:none; }
.session-gate-card {
  display:flex;
  align-items:center;
  gap:18px;
  min-width:330px;
  padding:24px 28px;
  border:1px solid rgba(15,96,158,.14);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 56px rgba(13,45,76,.12);
}
.session-gate-card img { width:58px; height:58px; border-radius:14px; object-fit:contain; }
.session-gate-copy { display:grid; gap:5px; min-width:0; }
.session-gate-copy strong { color:#0b4f86; font-size:24px; letter-spacing:.04em; }
.session-gate-copy span { color:#66758a; font-size:14px; }
.session-gate-progress {
  width:160px;
  height:4px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#dbe8f2;
}
.session-gate-progress::after {
  content:"";
  display:block;
  width:45%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, #0f609e, #26a9d4);
  animation:session-gate-slide 1s ease-in-out infinite;
}
@keyframes session-gate-slide {
  from { transform:translateX(-110%); }
  to { transform:translateX(330%); }
}
.login-page {
  min-height:100vh;
  background:#090715 url("/assets/login-bg.svg") center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:44px;
  overflow:hidden;
}
.login-shell {
  width:min(1680px, 100%);
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(560px, 1fr) 560px;
  align-items:center;
  gap:76px;
}
.login-hero {
  min-height:680px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  padding:18px 0 24px;
  position:relative;
  z-index:1;
}
.login-brand {
  display:flex;
  align-items:center;
  gap:18px;
  color:#fff;
  text-shadow:0 10px 34px rgba(0,0,0,.28);
}
.login-brand img {
  width:106px;
  height:106px;
  object-fit:contain;
  background:rgba(255,255,255,.96);
  border-radius:22px;
  padding:10px;
  box-shadow:0 18px 54px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.12);
}
.login-brand strong {
  display:block;
  font-size:46px;
  line-height:1;
  letter-spacing:0;
}
.login-brand span {
  display:block;
  margin-top:12px;
  color:#c6daf4;
  font-size:18px;
  font-weight:800;
  line-height:1.38;
}
.login-copy {
  margin-top:72px;
  max-width:720px;
}
.login-copy h2 {
  margin:0 0 18px;
  color:#f7f8ff;
  font-size:58px;
  line-height:1.08;
  font-weight:950;
  text-shadow:0 18px 40px rgba(0,0,0,.34);
}
.login-copy p {
  margin:0;
  color:#f448b9;
  font-size:48px;
  line-height:1.08;
  font-weight:950;
  text-shadow:0 16px 42px rgba(244,72,185,.28);
}
.login-showcase {
  width:min(740px, 100%);
  padding:28px;
  border:1px solid rgba(113,214,255,.25);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(12,105,187,.36),rgba(75,31,119,.24));
  box-shadow:0 24px 80px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.04);
}
.showcase-frame {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  position:relative;
  padding-top:36px;
}
.showcase-tag {
  position:absolute;
  top:-6px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 24px;
  border-radius:999px;
  background:linear-gradient(90deg,#25d4f2,#8a5cff);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 28px rgba(37,212,242,.24);
}
.showcase-card {
  min-height:146px;
  display:grid;
  gap:10px;
  align-content:center;
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  color:#142236;
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}
.showcase-card.active {
  transform:translateY(-10px);
  box-shadow:0 28px 58px rgba(54,144,255,.34);
}
.showcase-card b { font-size:22px; }
.showcase-card span { color:#607286; font-weight:800; }
.showcase-card strong { color:#0f609e; font-size:34px; }
.login-card {
  min-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,rgba(27,18,45,.94),rgba(17,12,31,.92));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(20px);
  box-shadow:0 30px 100px rgba(0,0,0,.46), 0 0 70px rgba(167,66,255,.18);
  border-radius:34px;
  padding:58px 50px;
  color:#fff;
  position:relative;
  z-index:2;
}
.login-card h1 {
  margin:0;
  font-size:38px;
  line-height:1.15;
  text-align:center;
}
.login-kicker {
  margin:0 auto 18px;
  width:max-content;
  max-width:100%;
  padding:8px 18px;
  border:1px solid rgba(83,207,245,.26);
  border-radius:999px;
  background:rgba(83,207,245,.08);
  color:#74ddff;
  font-size:15px;
  font-weight:900;
}
.login-value {
  margin:14px auto 18px;
  max-width:360px;
  color:#dce8ff;
  text-align:center;
  font-size:18px;
  line-height:1.45;
  font-weight:900;
}
.login-modules {
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 34px;
}
.login-modules span {
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#aeb8c9;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.login-card label {
  display:grid;
  gap:12px;
  margin:22px 0;
  color:#f4f7ff;
  font-weight:900;
}
.login-password-field {
  display:grid;
  gap:12px;
  margin:22px 0;
  color:#f4f7ff;
  font-weight:900;
}
.login-password-field > label {
  display:block;
  margin:0;
}
.login-card input {
  height:56px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0 22px;
  outline:none;
}
.login-card input::placeholder { color:#8d879e; }
.login-card input:focus {
  border-color:#a85eff;
  box-shadow:0 0 0 4px rgba(168,94,255,.15);
  background:rgba(255,255,255,.1);
}
.login-card > button[type="submit"] {
  width:100%;
  height:56px;
  margin-top:28px;
  border:0;
  border-radius:28px;
  background:linear-gradient(90deg,#e945a6,#a74fff);
  color:#fff;
  font-size:18px;
  font-weight:900;
  box-shadow:0 18px 42px rgba(233,69,166,.32);
}
.login-card > button[type="submit"]:disabled {
  cursor:wait;
  opacity:.72;
  box-shadow:none;
}
.login-password-wrap {
  position:relative;
  display:block;
}
.login-password-wrap input {
  width:100%;
  padding-right:78px;
}
.login-password-wrap button {
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:38px;
  margin:0;
  padding:0 14px;
  border:0;
  border-radius:19px;
  background:rgba(255,255,255,.12);
  color:#e9e5f2;
  font-size:14px;
  font-weight:900;
  box-shadow:none;
  cursor:pointer;
}
.login-password-wrap button:hover,
.login-password-wrap button:focus-visible {
  background:rgba(168,94,255,.35);
  outline:2px solid rgba(255,255,255,.45);
}
.login-caps-lock {
  margin:-4px 10px -10px;
  color:#ffc86a;
  font-size:13px;
  font-weight:800;
}
.form-error { min-height:24px; margin-top:12px; color:#ff7b7b; font-weight:800; text-align:center; }
.form-success { color:#43e9a2; }
.toast {
  position:fixed;
  left:50%;
  top:36px;
  transform:translateX(-50%);
  z-index:200;
  padding:12px 24px;
  border-radius:14px;
  background:rgba(23,40,59,.94);
  color:#fff;
  font-weight:900;
  box-shadow:0 18px 48px rgba(0,0,0,.24);
  max-width:min(760px, calc(100vw - 48px));
  max-height:180px;
  overflow:auto;
  white-space:normal;
  line-height:1.45;
  word-break:break-word;
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.toast > span { flex:1; min-width:0; }
.toast.success {
  background:linear-gradient(90deg,#138a54,#1da7df);
}
.toast.error { background:#a43131; }
.toast-dismiss {
  flex:0 0 auto;
  width:30px;
  height:30px;
  margin:-4px -10px -4px 0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.toast-dismiss:hover,
.toast-dismiss:focus-visible { background:rgba(255,255,255,.28); outline:2px solid #fff; outline-offset:2px; }
.app-page {
  min-height:100vh;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
}
.sidebar {
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  background:linear-gradient(180deg,var(--nav),var(--nav-dark));
  color:#fff;
  padding:24px 18px;
  box-shadow:8px 0 24px rgba(7,60,104,.14);
}
.brand {
  display:flex;
  align-items:center;
  gap:14px;
  padding:8px 6px 28px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.brand img {
  width:78px;
  height:78px;
  object-fit:contain;
  background:#fff;
  border-radius:8px;
  padding:7px;
}
.brand strong { display:block; font-size:24px; }
.brand span { display:block; color:#b9d3e8; font-size:13px; margin-top:6px; }
.brand span { line-height:1.45; }
.nav { margin-top:24px; display:grid; gap:10px; }
.nav button {
  position:relative;
  width:100%;
  min-height:50px;
  border:0;
  background:transparent;
  color:#dcecf7;
  padding:13px 38px 13px 16px;
  text-align:left;
  border-radius:8px;
  font-size:15px;
  font-weight:800;
}
.nav button.has-subnav::after {
  content:"";
  position:absolute;
  right:17px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-65%) rotate(45deg);
  opacity:.85;
  transition:transform .18s ease;
}
.nav button.has-subnav.expanded::after {
  transform:translateY(-35%) rotate(225deg);
}
.nav button:hover,
.nav button.active {
  background:rgba(255,255,255,.16);
  color:#fff;
}
.nav button.active { box-shadow:inset 4px 0 0 #fff; }
.nav button.nav-quick-entry {
  min-height:42px;
  margin-left:14px;
  width:calc(100% - 14px);
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#eaf6ff;
  font-size:14px;
}
.nav button.nav-quick-entry.active {
  background:rgba(255,255,255,.2);
  box-shadow:inset 3px 0 0 #fff;
}
.business-subnav,
.jiuzhou-subnav,
.soms-subnav,
.jumia-subnav,
.product-selection-subnav,
.logistics-subnav {
  /*
   * The business menu already has eleven entries.  Collapsing an expanded
   * menu with max-height/overflow:hidden silently cut off the lower entries
   * (for example “处理闭环” and “经营日报”) instead of letting the sidebar
   * itself scroll.  Do not animate an artificial height here: the sidebar is
   * the single vertical scroll container and must always be able to reach all
   * enabled modules.
   */
  display:none;
  gap:6px;
  margin:0 0 0 12px;
  padding-left:12px;
  border-left:1px solid rgba(255,255,255,.22);
}
.business-subnav.active,
.jiuzhou-subnav.active,
.soms-subnav.active,
.jumia-subnav.active,
.product-selection-subnav.active,
.logistics-subnav.active {
  display:grid;
  margin:-4px 0 6px 12px;
}
.business-subnav button,
.jiuzhou-subnav button,
.soms-subnav button,
.jumia-subnav button,
.product-selection-subnav button,
.logistics-subnav button {
  width:100%;
  border:0;
  background:transparent;
  color:#c9deee;
  padding:9px 12px;
  text-align:left;
  border-radius:6px;
  font-size:13px;
  font-weight:800;
}
.business-subnav button:hover,
.business-subnav button.active,
.jiuzhou-subnav button:hover,
.soms-subnav button:hover,
.jiuzhou-subnav button.active,
.soms-subnav button.active,
.jumia-subnav button:hover,
.jumia-subnav button.active,
.product-selection-subnav button:hover,
.product-selection-subnav button.active,
.logistics-subnav button:hover,
.logistics-subnav button.active {
  background:rgba(255,255,255,.14);
  color:#fff;
}
.business-subnav button.active,
.jiuzhou-subnav button.active,
.soms-subnav button.active,
.jumia-subnav button.active,
.product-selection-subnav button.active,
.logistics-subnav button.active {
  box-shadow:inset 3px 0 0 #fff;
}
.main { min-width:0; padding:28px 32px 42px; }
.top-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.top-header h1 { margin:0; font-size:28px; line-height:1.2; }
.top-header p { margin:8px 0 0; color:var(--muted); line-height:1.65; }
.monitor-data-control {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:12px 15px;
  border:1px solid #d9e8ef;
  border-radius:12px;
  background:#f7fbfd;
}
.monitor-data-control span { display:grid; gap:3px; color:#25465b; }
.monitor-data-control small { color:var(--muted); }
.monitor-data-control .btn { flex:0 0 auto; }
.monitor-source-panel {
  display:grid;
  grid-template-columns:1.35fr 1fr 1.35fr 1fr 1fr;
  gap:10px;
  margin:-2px 0 14px;
  padding:11px 13px;
  border:1px solid #b9e3d3;
  border-radius:12px;
  background:#f3fbf7;
}
.monitor-source-panel.is-alert { border-color:#f2c7a2; background:#fff8f0; }
.monitor-source-panel>span { display:grid; gap:4px; min-width:0; padding:8px 10px; border-radius:8px; background:rgba(255,255,255,.78); }
.monitor-source-panel small { color:var(--muted); font-size:11px; }
.monitor-source-panel b { overflow:hidden; color:#173d54; font-size:12px; line-height:1.45; text-overflow:ellipsis; }
.monitor-sla-panel {
  margin:-2px 0 14px;
  padding:14px 16px;
  border:1px solid #d7e5eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,58,84,.05);
}
.monitor-sla-panel.is-pass { border-color:#b9e3d3; background:#f3fbf7; }
.monitor-sla-panel.is-warn { border-color:#f2d28a; background:#fffaf0; }
.monitor-sla-panel.is-fail { border-color:#f1bdb7; background:#fff5f3; }
.monitor-sla-panel.is-unknown { border-color:#d7e5eb; background:#f8fbfc; }
.monitor-sla-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.monitor-sla-head span { display:grid; gap:3px; }
.monitor-sla-head b { color:#163b52; font-size:14px; }
.monitor-sla-head small,.monitor-sla-head em { color:var(--muted); font-size:12px; font-style:normal; }
.monitor-sla-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.monitor-sla-grid>span { display:grid; gap:4px; min-width:0; padding:10px 12px; border:1px solid rgba(123,158,174,.22); border-radius:10px; background:rgba(255,255,255,.72); }
.monitor-sla-grid small { color:var(--muted); }
.monitor-sla-grid b { overflow:hidden; color:#173d54; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.monitor-sla-grid em { color:#587184; font-size:11px; font-style:normal; line-height:1.45; }
.monitor-sla-details { margin-top:10px; border-top:1px solid rgba(123,158,174,.2); padding-top:9px; }
.monitor-sla-details summary { color:#31566d; cursor:pointer; font-size:12px; font-weight:800; }
.monitor-stage-list,.monitor-run-history { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:9px; }
.monitor-stage-list span,.monitor-run-history span { display:grid; gap:2px; padding:8px 10px; border-radius:8px; background:rgba(255,255,255,.8); }
.monitor-stage-list b,.monitor-run-history b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.monitor-stage-list em,.monitor-run-history em { color:var(--muted); font-size:10px; font-style:normal; }
.monitor-stage-list .failed { color:#a23f35; background:#fff0ed; }
@media(max-width:1000px){.monitor-source-panel,.monitor-sla-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-stage-list,.monitor-run-history{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.monitor-sla-head{align-items:flex-start;flex-direction:column;gap:5px}.monitor-source-panel,.monitor-sla-grid,.monitor-stage-list,.monitor-run-history{grid-template-columns:1fr}}
.account { position:relative; }
.account-btn {
  border:1px solid var(--line);
  background:#fff;
  color:#1b334d;
  border-radius:8px;
  padding:10px 14px;
  min-width:150px;
  text-align:left;
  font-weight:900;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.account-btn::after { content:"▼"; float:right; font-size:12px; margin-top:3px; color:var(--muted); }
.account-btn[aria-expanded="true"]::after { transform:rotate(180deg); }
.account-btn:focus-visible,
.account-menu button:focus-visible { outline:3px solid rgba(29,167,223,.35); outline-offset:2px; }
.account-menu {
  position:absolute;
  right:0;
  top:48px;
  width:230px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 22px 50px rgba(13,45,76,.18);
  overflow:hidden;
  z-index:20;
}
.account-info {
  padding:16px;
  border-bottom:1px solid var(--soft-line);
  display:grid;
  gap:4px;
}
.account-info span { color:var(--muted); }
.account-info small { color:var(--muted); }
.account-menu button {
  width:100%;
  border:0;
  background:#fff;
  padding:14px 16px;
  text-align:left;
  font-weight:800;
}
.account-menu button:hover { background:#f4f8fc; }
.account-menu button.danger { color:#df3c35; background:#fff2f2; }
.notice {
  border:1px solid #f0c8c3;
  background:#fff4f2;
  color:#9b2d23;
  border-radius:8px;
  padding:12px 14px;
  margin:12px 0 16px;
  line-height:1.6;
  font-weight:800;
}
.cards {
  display:grid;
  grid-template-columns:repeat(6,minmax(130px,1fr));
  gap:14px;
  margin:18px 0 18px;
}
.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:16px 18px;
  min-height:94px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.card label { color:var(--muted); font-size:13px; margin-bottom:8px; }
.card b { font-size:25px; line-height:1.15; }
.health-summary {
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.health-card {
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  background:#fff;
}
.health-card label,
.health-files label {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
}
.health-card b {
  display:block;
  color:#142234;
  font-size:22px;
  line-height:1.2;
}
.health-card.ok b { color:#08753f; }
.health-card.warn b { color:#a76000; }
.health-card.bad b { color:#c42626; }
.health-table td small {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:4px;
}
.health-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  height:26px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.health-badge.ok { background:#e6f8ef; color:#08753f; }
.health-badge.warn { background:#fff3da; color:#a76000; }
.health-badge.bad { background:#ffe8e8; color:#c42626; }
.health-files {
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:12px;
  padding:14px 16px;
  border-top:1px solid var(--soft-line);
  background:#fbfdff;
}
.health-files div {
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  background:#fff;
}
.health-files b {
  display:block;
  font-size:15px;
  margin-bottom:5px;
}
.health-files small {
  display:block;
  color:var(--muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tabs {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0;
}
.tabs button {
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  min-height:38px;
  padding:6px 13px;
  font-weight:900;
  color:#20354c;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 4px 12px rgba(13,45,76,.04);
}
.tabs button.active { background:var(--blue); color:#fff; border-color:var(--blue); }
.pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:2px 8px;
  border-radius:6px;
  background:#eef3f8;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.tabs button.active .pill { background:#fff; color:var(--blue); }
.review-filter-result { background:#eaf4ff; color:var(--blue); }
.review-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-top:1px solid var(--soft-line);
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.review-pagination > div { display:flex; align-items:center; gap:9px; }
.review-pagination .btn { min-width:76px; }
.review-pagination .btn:disabled { opacity:.45; cursor:default; }
.review-empty { display:flex; align-items:center; justify-content:center; gap:10px; }
@media (max-width:760px) {
  .review-pagination { align-items:flex-start; flex-direction:column; }
  .review-pagination > div { width:100%; justify-content:space-between; }
}
.pill.warn { color:var(--warn); background:#fff0ee; }
.pill.candidate { color:var(--candidate); background:#fff6e6; }
.pill.scale { color:var(--scale); background:#eaf8f1; }
.section {
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  margin-top:14px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.section h2 {
  margin:0;
  padding:17px 20px;
  font-size:18px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.toolbar {
  padding:14px 16px;
  border-bottom:1px solid var(--soft-line);
  display:grid;
  grid-template-columns:repeat(5,minmax(140px,1fr)) auto;
  gap:12px;
  align-items:end;
  background:#fbfdff;
}
.daily-filter-total {
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:12px 16px 0;
  background:#fbfdff;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.daily-filter-total strong {
  color:#0d6ca8;
  font-size:24px;
  line-height:1;
}
.daily-filter-total em {
  color:#0d6ca8;
  font-size:13px;
  font-style:normal;
}
.daily-filter-total + .toolbar { padding-top:8px; }
.field {
  display:grid;
  gap:5px;
  min-width:0;
}
.field label {
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.field input,
.field select,
.modal input,
.modal select,
.modal textarea {
  height:36px;
  border:1px solid #c9d4df;
  border-radius:6px;
  padding:0 10px;
  background:#fff;
  outline:none;
  box-sizing:border-box;
  min-width:0;
}
.field input,
.field select {
  width:100%;
}
.modal textarea {
  min-height:96px;
  height:auto;
  padding:10px;
  resize:vertical;
  line-height:1.55;
}
.field select { min-width:0; }
.field input:focus,
.field select:focus,
.modal input:focus,
.modal select:focus,
.modal textarea:focus {
  border-color:#7aa9cf;
  box-shadow:0 0 0 3px rgba(15,96,158,.12);
}
.btn {
  min-height:36px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  padding:0 13px;
  font-weight:900;
  color:#20354c;
  white-space:nowrap;
}
.btn.primary { background:var(--blue); color:#fff; border-color:var(--blue); }
.btn.green { background:#31a653; color:#fff; border-color:#31a653; }
.btn.danger { background:#f14f55; color:#fff; border-color:#f14f55; }
.btn.red { background:#f05252; color:#fff; border-color:#f05252; }
.btn.orange { background:#f28a16; color:#fff; border-color:#f28a16; }
.business-toolbar {
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.business-toolbar .btn {
  align-self:end;
}
.business-custom-date[hidden] {
  display:none;
}
.jumia-toolbar {
  grid-template-columns:minmax(140px,180px) minmax(160px,220px) minmax(220px,1fr) auto auto auto minmax(170px,220px) auto;
}
.jumia-sign-filter {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 16px;
  align-items:end;
  padding:14px 16px 16px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.jumia-sign-fields {
  display:grid;
  grid-template-columns:minmax(140px,170px) minmax(140px,170px) minmax(150px,1fr) minmax(145px,1fr) minmax(150px,1fr) minmax(260px,1.4fr);
  gap:10px 12px;
  align-items:end;
  min-width:0;
}
.jumia-sign-fields .field {
  min-width:0;
}
.jumia-sign-fields input,
.jumia-sign-fields select {
  width:100%;
  min-width:0;
}
.jumia-sign-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-end;
  gap:10px;
  min-width:260px;
}
.jumia-sign-actions .btn {
  height:40px;
  min-width:96px;
  padding:0 18px;
  white-space:nowrap;
}
.jumia-sign-actions #jumiaSignSearchBtn {
  min-width:136px;
}
.jumia-sign-actions #jumiaOrderSyncBtn {
  min-width:128px;
}
.jumia-sign-filter {
  grid-template-columns:1fr;
}
.jumia-sign-fields {
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
}
.jumia-sign-fields .keyword {
  grid-column:span 2;
}
.jumia-sign-actions {
  justify-content:flex-start;
  min-width:0;
}
@media (max-width:1700px) {
  .jumia-sign-filter {
    grid-template-columns:1fr;
  }
  .jumia-sign-fields {
    grid-template-columns:repeat(3,minmax(180px,1fr));
  }
  .jumia-sign-actions {
    justify-content:flex-start;
    min-width:0;
  }
}
@media (max-width:1100px) {
  .jumia-sign-fields {
    grid-template-columns:repeat(2,minmax(170px,1fr));
  }
}
@media (max-width:720px) {
  .jumia-sign-fields {
    grid-template-columns:1fr;
  }
  .jumia-sign-fields .keyword {
    grid-column:auto;
  }
  .jumia-sign-actions .btn {
    flex:1 1 120px;
  }
}
.jumia-order-toolbar {
  grid-template-columns:repeat(2,minmax(130px,150px)) repeat(4,minmax(130px,1fr)) minmax(240px,1.4fr) auto auto auto;
}
.jumia-order-filter {
  display:grid;
  gap:12px;
  padding:14px 16px 16px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.jumia-order-fields {
  display:grid;
  grid-template-columns:repeat(6,minmax(128px,1fr));
  gap:10px 12px;
  align-items:end;
}
.jumia-order-fields .field {
  min-width:0;
}
.jumia-order-fields .keyword {
  grid-column:span 2;
}
.jumia-order-fields input,
.jumia-order-fields select {
  width:100%;
  min-width:0;
}
.jumia-order-actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.jumia-order-actions .btn {
  min-width:86px;
}
.jumia-file {
  height:40px;
  max-width:220px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:#fff;
}
.jumia-cards {
  margin:14px 0;
}
.jumia-table {
  table-layout:fixed;
}
.jumia-table th,
.jumia-table td {
  padding:9px 10px;
}
.jumia-table th.sortable {
  padding:4px 6px;
}
.table-sort-btn {
  width:100%;
  min-height:34px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  cursor:pointer;
}
.table-sort-btn:hover,
.table-sort-btn.active {
  background:#eef5fb;
  color:var(--primary);
}
.table-sort-btn .sort-icon {
  font-size:15px;
  line-height:1;
  color:var(--muted);
}
.table-sort-btn.active .sort-icon {
  color:var(--primary);
}
.jumia-table th:nth-child(1),
.jumia-table td:nth-child(1) { width:90px; }
.jumia-table th:nth-child(2),
.jumia-table td:nth-child(2) { width:150px; }
.jumia-table th:nth-child(3),
.jumia-table td:nth-child(3) { width:120px; }
.jumia-table th:nth-child(5),
.jumia-table td:nth-child(5),
.jumia-table th:nth-child(6),
.jumia-table td:nth-child(6) { width:88px; }
.jumia-table th:nth-child(7),
.jumia-table td:nth-child(7),
.jumia-table th:nth-child(8),
.jumia-table td:nth-child(8) { width:92px; }
.jumia-table th:nth-child(9),
.jumia-table td:nth-child(9) { width:150px; }
.jumia-table .long {
  white-space:normal;
  line-height:1.35;
}
.jiuzhou-filter {
  display:grid;
  gap:12px;
  padding:14px 16px 16px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.jiuzhou-filter-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px 12px;
  align-items:end;
}
.jiuzhou-inventory-fields {
  grid-template-columns:minmax(160px,220px) minmax(260px,1fr);
}
.jiuzhou-filter-fields .keyword {
  grid-column:span 2;
}
.jiuzhou-inventory-fields .keyword {
  grid-column:auto;
}
.jiuzhou-filter-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.jiuzhou-filter-actions .btn {
  min-width:96px;
}
.jiuzhou-table {
  width:100%;
  table-layout:fixed;
}
.jiuzhou-table th,
.jiuzhou-table td {
  padding:9px 10px;
  vertical-align:middle;
}
.jiuzhou-table td.long {
  min-width:0;
  max-width:none;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.45;
}
.jiuzhou-table small,
.jiuzhou-order-id,
.jiuzhou-date-cell,
.jiuzhou-sign-summary-table td:first-child,
.jiuzhou-sign-detail-table td:first-child {
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.4;
}
.jiuzhou-table .link-btn {
  max-width:100%;
}
.jiuzhou-sku-cell .sku {
  white-space:normal;
  overflow-wrap:anywhere;
}
.jiuzhou-inventory-table { min-width:1220px; }
.jiuzhou-inventory-table th:nth-child(1),
.jiuzhou-inventory-table td:nth-child(1) { width:100px; }
.jiuzhou-inventory-table th:nth-child(2),
.jiuzhou-inventory-table td:nth-child(2) { width:105px; }
.jiuzhou-inventory-table th:nth-child(3),
.jiuzhou-inventory-table td:nth-child(3) { width:130px; }
.jiuzhou-inventory-table th:nth-child(4),
.jiuzhou-inventory-table td:nth-child(4) { width:260px; }
.jiuzhou-inventory-table th:nth-child(n+5):nth-child(-n+9),
.jiuzhou-inventory-table td:nth-child(n+5):nth-child(-n+9) { width:82px; }
.jiuzhou-inventory-table th:nth-child(10),
.jiuzhou-inventory-table td:nth-child(10) { width:170px; }
.jiuzhou-orders-table { min-width:1192px; }
.jiuzhou-orders-table th:nth-child(1),
.jiuzhou-orders-table td:nth-child(1) { width:180px; }
.jiuzhou-orders-table th:nth-child(2),
.jiuzhou-orders-table td:nth-child(2) { width:160px; }
.jiuzhou-orders-table th:nth-child(3),
.jiuzhou-orders-table td:nth-child(3) { width:120px; }
.jiuzhou-orders-table th:nth-child(4),
.jiuzhou-orders-table td:nth-child(4) { width:110px; }
.jiuzhou-orders-table th:nth-child(5),
.jiuzhou-orders-table td:nth-child(5) { width:260px; }
.jiuzhou-orders-table th:nth-child(6),
.jiuzhou-orders-table td:nth-child(6) { width:72px; }
.jiuzhou-orders-table th:nth-child(7),
.jiuzhou-orders-table td:nth-child(7) { width:110px; }
.jiuzhou-orders-table th:nth-child(8),
.jiuzhou-orders-table td:nth-child(8) { width:180px; }
.jiuzhou-sign-summary-table { min-width:880px; }
.jiuzhou-sign-summary-table th:first-child,
.jiuzhou-sign-summary-table td:first-child { width:240px; }
.jiuzhou-sign-summary-table th:not(:first-child),
.jiuzhou-sign-summary-table td:not(:first-child) { width:100px; }
.jiuzhou-sign-detail-table { min-width:980px; }
.jiuzhou-sign-detail-table th:nth-child(1),
.jiuzhou-sign-detail-table td:nth-child(1) { width:200px; }
.jiuzhou-sign-detail-table th:nth-child(2),
.jiuzhou-sign-detail-table td:nth-child(2) { width:100px; }
.jiuzhou-sign-detail-table th:nth-child(3),
.jiuzhou-sign-detail-table td:nth-child(3) { width:120px; }
.jiuzhou-sign-detail-table th:nth-child(4),
.jiuzhou-sign-detail-table td:nth-child(4) { width:300px; }
.jiuzhou-sign-detail-table th:nth-child(5),
.jiuzhou-sign-detail-table td:nth-child(5) { width:80px; }
.jiuzhou-sign-detail-table th:nth-child(6),
.jiuzhou-sign-detail-table td:nth-child(6) { width:140px; }
@media (min-width:1600px) {
  .jiuzhou-filter-fields:not(.jiuzhou-inventory-fields) {
    grid-template-columns:repeat(6,minmax(150px,1fr));
  }
}
@media (max-width:980px) {
  .jiuzhou-filter-fields,
  .jiuzhou-inventory-fields {
    grid-template-columns:repeat(2,minmax(140px,1fr));
  }
}
@media (max-width:620px) {
  .jiuzhou-filter-fields,
  .jiuzhou-inventory-fields {
    grid-template-columns:1fr;
  }
  .jiuzhou-filter-fields .keyword {
    grid-column:auto;
  }
  .jiuzhou-filter-actions .btn {
    flex:1 1 120px;
  }
}
.jumia-sign-table {
  min-width:1060px;
  table-layout:fixed;
}
.jumia-sign-table th,
.jumia-sign-table td {
  padding:9px 10px;
  white-space:normal;
  vertical-align:middle;
  line-height:1.35;
}
.jumia-sign-table th:nth-child(1),
.jumia-sign-table td:nth-child(1) { width:120px; }
.jumia-sign-table th:nth-child(2),
.jumia-sign-table td:nth-child(2) { width:250px; }
.jumia-sign-table th:nth-child(3),
.jumia-sign-table td:nth-child(3) { width:180px; }
.jumia-sign-table th:nth-child(4),
.jumia-sign-table td:nth-child(4) { width:310px; }
.jumia-sign-table th:nth-child(5),
.jumia-sign-table td:nth-child(5) { width:130px; }
.jumia-sign-table th:nth-child(6),
.jumia-sign-table td:nth-child(6) { width:150px; }
.jumia-sign-table .person-cell {
  font-weight:800;
  color:#20354c;
}
.jumia-product-cell .product-name {
  color:#21364d;
  font-weight:800;
  line-height:1.35;
  margin-bottom:7px;
  overflow-wrap:anywhere;
}
.jumia-owner-cell {
  line-height:1.45;
}
.jumia-owner-cell .owner-country {
  font-weight:900;
  color:#18304a;
}
.jumia-owner-cell .owner-shop {
  margin-top:3px;
  color:#64758a;
  font-weight:700;
  overflow-wrap:anywhere;
}
.jumia-status-cell {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.jumia-status-cell span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:28px;
  padding:4px 8px;
  border-radius:6px;
  background:#f3f7fb;
  color:#5f7085;
  font-weight:800;
  line-height:1.2;
}
.jumia-status-cell b {
  color:#10243a;
  font-variant-numeric:tabular-nums;
}
.jumia-rate-cell {
  line-height:1.6;
}
.jumia-rate-cell strong {
  display:block;
  margin-bottom:6px;
  color:#10243a;
}
.jumia-date-cell {
  color:#53667d;
  font-weight:800;
  line-height:1.35;
}
.jumia-sign-view-tabs {
  margin:12px 16px;
}
.jumia-sign-rollup-table {
  min-width:1060px;
  table-layout:fixed;
}
.jumia-sign-rollup-table th,
.jumia-sign-rollup-table td {
  padding:9px 10px;
  white-space:normal;
  vertical-align:middle;
  line-height:1.35;
}
.jumia-sign-rollup-table th:nth-child(1),
.jumia-sign-rollup-table td:nth-child(1) { width:230px; }
.jumia-sign-rollup-table th:nth-child(2),
.jumia-sign-rollup-table td:nth-child(2) { width:170px; }
.jumia-sign-rollup-table th:nth-child(3),
.jumia-sign-rollup-table td:nth-child(3) { width:170px; }
.jumia-sign-rollup-table th:nth-child(4),
.jumia-sign-rollup-table td:nth-child(4) { width:310px; }
.jumia-sign-rollup-table th:nth-child(5),
.jumia-sign-rollup-table td:nth-child(5) { width:130px; }
.jumia-sign-rollup-table th:nth-child(6),
.jumia-sign-rollup-table td:nth-child(6) { width:150px; }
.jumia-salesperson-sign-table th:nth-child(1),
.jumia-salesperson-sign-table td:nth-child(1) { width:150px; }
.jumia-salesperson-sign-table th:nth-child(2),
.jumia-salesperson-sign-table td:nth-child(2) { width:250px; }
.jumia-salesperson-sign-table th:nth-child(3),
.jumia-salesperson-sign-table td:nth-child(3) { width:140px; }
.jumia-scope-cell strong,
.jumia-scope-cell small,
.jumia-sku-count-cell strong,
.jumia-sku-count-cell small {
  display:block;
}
.jumia-scope-cell strong,
.jumia-sku-count-cell strong {
  color:#18304a;
  font-weight:900;
}
.jumia-scope-cell small,
.jumia-sku-count-cell small {
  margin-top:5px;
  color:#64758a;
  font-weight:700;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.jumia-order-table {
  min-width:1260px;
  table-layout:fixed;
}
.jumia-order-table th,
.jumia-order-table td {
  padding:9px 10px;
  white-space:normal;
  vertical-align:middle;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.jumia-order-table th:nth-child(1),
.jumia-order-table td:nth-child(1) { width:130px; }
.jumia-order-table th:nth-child(2),
.jumia-order-table td:nth-child(2) { width:170px; }
.jumia-order-table th:nth-child(3),
.jumia-order-table td:nth-child(3) { width:165px; }
.jumia-order-table th:nth-child(4),
.jumia-order-table td:nth-child(4) { width:85px; }
.jumia-order-table th:nth-child(5),
.jumia-order-table td:nth-child(5) { width:230px; }
.jumia-order-table th:nth-child(6),
.jumia-order-table td:nth-child(6) { width:115px; }
.jumia-order-table th:nth-child(7),
.jumia-order-table td:nth-child(7) { width:110px; }
.jumia-order-table th:nth-child(8),
.jumia-order-table td:nth-child(8) { width:155px; }
.jumia-order-table th:nth-child(9),
.jumia-order-table td:nth-child(9) { width:140px; }
.jumia-order-table .order-no {
  font-weight:800;
  color:#20354c;
  overflow-wrap:anywhere;
}
.jumia-order-status .pill {
  display:inline-flex;
  max-width:100%;
  white-space:normal;
  line-height:1.25;
  padding:6px 9px;
}
.jumia-order-date {
  color:#20354c;
  font-weight:800;
  line-height:1.35;
}
.jumia-order-table .num {
  white-space:nowrap;
}
.jumia-salesperson-cell {
  display:grid;
  gap:6px;
  min-width:0;
}
.jumia-salesperson-cell strong {
  font-weight:800;
  color:#20354c;
  line-height:1.2;
}
.jumia-salesperson-cell label {
  display:grid;
  gap:4px;
  color:#667992;
  font-size:12px;
  font-weight:800;
}
.jumia-salesperson-cell select {
  width:100%;
  min-width:128px;
  height:32px;
  border:1px solid var(--border);
  border-radius:6px;
  padding:3px 7px;
  background:#fff;
  color:#20354c;
  font-weight:800;
}
.track-link {
  border:0;
  padding:0;
  background:transparent;
  color:#14853f;
  font:inherit;
  font-weight:900;
  text-decoration:underline;
  cursor:pointer;
  overflow-wrap:anywhere;
  text-align:left;
}
.track-link:hover {
  color:#0d6b31;
}
.jumia-track-modal h2 {
  margin-bottom:16px;
}
.track-summary {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.track-summary div {
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px 12px;
  background:#f8fbfe;
  min-width:0;
}
.track-summary label {
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.track-summary b {
  display:block;
  color:#12263d;
  overflow-wrap:anywhere;
  line-height:1.3;
}
.track-timeline {
  position:relative;
  display:grid;
  gap:0;
  padding:4px 0 4px 18px;
}
.track-event {
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:12px;
  padding:0 0 18px;
}
.track-event::before {
  content:"";
  position:absolute;
  left:13px;
  top:24px;
  bottom:-4px;
  width:2px;
  background:#dce7f1;
}
.track-event:last-child::before {
  display:none;
}
.track-dot {
  width:24px;
  height:24px;
  border:4px solid #4aa3ff;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px #e9f4ff;
  margin-top:4px;
  z-index:1;
}
.track-body {
  min-width:0;
  border:1px solid #e6edf4;
  border-radius:8px;
  background:#fff;
  padding:11px 13px;
}
.track-body time {
  display:block;
  color:#74849a;
  font-weight:800;
  margin-bottom:4px;
}
.track-body strong {
  display:block;
  color:#1b2f46;
  font-size:16px;
  margin-bottom:4px;
}
.track-body p {
  margin:0;
  color:#53667d;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.business-cards .card small {
  margin-top:7px;
  color:var(--muted);
  font-weight:700;
  line-height:1.4;
}
.business-chart-section {
  overflow:visible;
}
.business-funnel-section,
.business-actions-section {
  overflow:visible;
}
.business-funnel {
  padding:16px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  background:#fbfdff;
}
.funnel-step {
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fff;
  padding:12px;
  min-width:0;
}
.funnel-step-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:900;
  margin-bottom:8px;
}
.funnel-step-head strong,
.funnel-step-head span {
  color:#172c42;
}
.funnel-track {
  height:12px;
  background:#eef3f8;
  border-radius:999px;
  overflow:hidden;
}
.funnel-track span {
  display:block;
  height:100%;
  background:linear-gradient(90deg,#0f609e,#31a653);
  border-radius:999px;
}
.funnel-step small {
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-weight:800;
  line-height:1.4;
}
.business-action-list {
  padding:16px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
  background:#fbfdff;
}
.business-action-card {
  border:1px solid var(--soft-line);
  border-left:5px solid #9eb1c4;
  border-radius:8px;
  background:#fff;
  padding:12px 14px;
  min-width:0;
}
.business-action-card.priority-高 {
  border-left-color:#d33a3a;
}
.business-action-card.priority-中 {
  border-left-color:#d4861f;
}
.business-action-card.priority-低 {
  border-left-color:#2f85c2;
}
.business-action-card div {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.business-action-card span {
  border-radius:6px;
  background:#eef3f8;
  color:#4d657c;
  padding:3px 7px;
  font-size:12px;
  font-weight:900;
}
.business-action-card strong {
  color:#142b42;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.business-action-card p {
  margin:8px 0 6px;
  color:#243a51;
  font-weight:800;
  line-height:1.5;
}
.business-action-card small {
  color:var(--muted);
  font-weight:800;
}
.business-chart-grid {
  padding:16px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  background:#fbfdff;
}
.chart-panel {
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fff;
  padding:14px;
  min-width:0;
}
.chart-wide {
  min-height:292px;
}
.chart-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.chart-head strong {
  font-size:15px;
  color:#172c42;
}
.chart-head span {
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-align:right;
}
.trend-chart svg {
  width:100%;
  height:auto;
  display:block;
}
.trend-chart .axis {
  stroke:#d9e3ec;
  stroke-width:2;
}
.trend-bars rect {
  fill:#2f85c2;
  opacity:.78;
}
.trend-line {
  stroke:#31a653;
  stroke-width:3;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.trend-dot {
  fill:#fff;
  stroke:#31a653;
  stroke-width:2;
}
.chart-label {
  fill:#6b7d90;
  font-size:12px;
  font-weight:800;
}
.chart-legend {
  display:flex;
  gap:16px;
  color:#5e7186;
  font-size:12px;
  font-weight:900;
  margin-top:4px;
}
.chart-legend span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.legend-bar,
.legend-line {
  display:inline-block;
  width:18px;
  height:8px;
  border-radius:4px;
  background:#2f85c2;
}
.legend-line {
  height:3px;
  background:#31a653;
}
.bar-list {
  display:grid;
  gap:10px;
}
.bar-row {
  display:grid;
  gap:5px;
}
.bar-row-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:900;
}
.bar-row-head strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.bar-row-head span,
.bar-row small {
  color:var(--muted);
  font-weight:900;
}
.bar-row small {
  font-size:12px;
}
.bar-track {
  height:9px;
  background:#eef3f8;
  border-radius:999px;
  overflow:hidden;
}
.bar-track span {
  display:block;
  height:100%;
  background:linear-gradient(90deg,#0f609e,#31a653);
  border-radius:999px;
}
.sku-radar-list {
  display:grid;
  gap:9px;
}
.sku-radar-list div {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:5px 10px;
  align-items:center;
  padding-bottom:9px;
  border-bottom:1px solid var(--soft-line);
}
.sku-radar-list div:last-child {
  border-bottom:0;
  padding-bottom:0;
}
.sku-radar-list strong {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sku-radar-list small {
  grid-column:2;
  color:var(--muted);
  font-weight:800;
  line-height:1.45;
}
.chart-empty {
  padding:24px 0;
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.outbound-monitor {
  overflow:visible;
}
.outbound-cards {
  padding:16px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:12px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.outbound-cards div {
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fff;
  padding:12px 14px;
}
.outbound-cards label {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  margin-bottom:6px;
}
.outbound-cards b {
  font-size:24px;
  color:#10263d;
}
.outbound-grid {
  padding:16px;
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  gap:14px;
  background:#fbfdff;
}
.outbound-page-tabs {
  padding:14px 16px 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  background:#fbfdff;
}
.outbound-page-tabs button {
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fff;
  color:#1c344d;
  font-weight:900;
  font-size:15px;
  min-height:42px;
  padding:8px 14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
}
.outbound-page-tabs button.active {
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}
.outbound-page-tabs button.active .pill {
  background:#fff;
  color:var(--blue);
}
.outbound-page-panel {
  margin:16px;
  padding:16px;
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fff;
  min-height:420px;
}
.unshipped-card-list {
  display:grid;
  gap:12px;
  max-height:720px;
  overflow:auto;
  padding-right:4px;
}
.unshipped-card {
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fbfdff;
  padding:14px;
}
.unshipped-card-head {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--soft-line);
}
.unshipped-card-head strong {
  font-size:18px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.unshipped-card-head span {
  font-weight:900;
  color:#b24b00;
}
.unshipped-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding-top:12px;
}
.unshipped-fields div,
.unshipped-action {
  min-width:0;
}
.unshipped-fields label,
.unshipped-action label {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  margin-bottom:5px;
}
.unshipped-fields b,
.unshipped-action p {
  margin:0;
  color:#142b42;
  font-weight:900;
  line-height:1.45;
}
.sku-text {
  display:block;
  overflow-wrap:anywhere;
}
.oms-status-badge {
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  border-radius:7px;
  background:#fff3da;
  color:#8b4b00;
  padding:6px 9px;
  font-weight:900;
  line-height:1.2;
}
.oms-status-badge small {
  color:#6f7f91;
  font-size:11px;
}
.unshipped-action {
  margin-top:12px;
  padding:11px 12px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--soft-line);
}
.inventory-alert-list {
  display:grid;
  gap:10px;
}
.inventory-list-note {
  margin-bottom:10px;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
}
.inventory-alert-row {
  border:1px solid var(--soft-line);
  border-radius:8px;
  padding:11px 12px;
  background:#fff;
}
.inventory-alert-head {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
}
.inventory-alert-head strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inventory-alert-head span {
  font-weight:900;
  color:#172c42;
}
.inventory-alert-meta,
.inventory-alert-row small {
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-weight:800;
  line-height:1.45;
}
.stock-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  min-height:28px;
  padding:3px 8px;
  border-radius:6px;
  font-weight:900;
  white-space:nowrap;
  background:#eef3f8;
  color:#50667d;
}
.stock-badge.stockout,
.stock-badge.critical {
  background:#ffe8e8;
  color:#c42626;
}
.stock-badge.low {
  background:#fff0e6;
  color:#b24b00;
}
.stock-badge.warning {
  background:#fff0e6;
  color:#b24b00;
}
.stock-badge.watch,
.stock-badge.unknown {
  background:#fff3da;
  color:#a76000;
}
.stock-badge.overstock {
  background:#eaf3ff;
  color:#0d5c9c;
}
.stock-badge.normal {
  background:#e6f8ef;
  color:#08753f;
}
.compact-table {
  max-height:520px;
}
.daily-monitor-table {
  table-layout:fixed;
  width:100%;
  min-width:940px;
}
.daily-monitor-table th,
.daily-monitor-table td {
  padding:8px 10px;
  line-height:1.35;
}
.daily-monitor-table .daily-col-country { width:88px; }
.daily-monitor-table .daily-col-person { width:110px; }
.daily-monitor-table .daily-col-product { width:290px; }
.daily-monitor-table .daily-col-sku { width:130px; }
.daily-monitor-table .daily-col-new { width:100px; }
.daily-monitor-table .daily-col-window { width:210px; }
.daily-monitor-table .daily-product-name {
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.daily-monitor-table .daily-window {
  color:#60758a;
  font-size:13px;
  white-space:normal;
}
.daily-monitor-table .sku {
  max-width:112px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.regular-sku-table {
  table-layout:fixed;
  min-width:1120px;
}
.regular-sku-table th,
.regular-sku-table td {
  padding:8px 10px;
  line-height:1.35;
}
.regular-sku-table .col-risk { width:92px; }
.regular-sku-table .col-country { width:86px; }
.regular-sku-table .col-person { width:140px; }
.regular-sku-table .col-sku { width:118px; }
.regular-sku-table .col-product { width:240px; }
.regular-sku-table .col-num { width:78px; }
.regular-sku-table .col-days { width:92px; }
.regular-sku-table .col-rate { width:96px; }
.regular-sku-table .col-money { width:98px; }
.regular-sku-table .col-action { width:116px; }
.regular-sku-table td.long {
  min-width:0;
  max-width:none;
  white-space:normal;
  line-height:1.35;
}
.regular-sku-table .sku {
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.business-rule-list {
  display:grid;
  gap:10px;
}
.business-rule-list div {
  border-left:4px solid var(--blue);
  background:#f6faff;
  border-radius:6px;
  padding:11px 12px;
  color:#1f344a;
  font-weight:800;
  line-height:1.55;
}
.business-sku-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.business-sku-filter-btn {
  min-height:32px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#20354c;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:900;
  cursor:pointer;
}
.business-sku-filter-btn b {
  min-width:24px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef3f8;
  color:#66788d;
  font-size:12px;
}
.business-sku-filter-btn.active {
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}
.business-sku-filter-btn.active b {
  background:#fff;
  color:var(--blue);
}
.business-sku-filter-note {
  margin-left:auto;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.action-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  min-height:30px;
  padding:4px 10px;
  border-radius:6px;
  font-weight:900;
  white-space:nowrap;
}
.action-badge.scale { background:#e6f8ef; color:#08753f; }
.action-badge.candidate { background:#fff3da; color:#a76000; }
.action-badge.stable { background:#eaf3ff; color:#0d5c9c; }
.action-badge.watch { background:#eef3f8; color:#50667d; }
.action-badge.down { background:#fff0e6; color:#b24b00; }
.action-badge.stop { background:#ffe8e8; color:#c42626; }
.stage-badge,
.budget-badge,
.severity-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  border-radius:6px;
  padding:2px 7px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.stage-badge.growth { background:#e6f8ef; color:#08753f; }
.stage-badge.stable { background:#eaf3ff; color:#0d5c9c; }
.stage-badge.new { background:#fff3da; color:#a76000; }
.stage-badge.observe { background:#eef3f8; color:#50667d; }
.stage-badge.decline { background:#fff0e6; color:#b24b00; }
.stage-badge.stop { background:#ffe8e8; color:#c42626; }
.budget-badge {
  width:92px;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  background:#eef3f8;
  color:#50667d;
  line-height:1.15;
}
.budget-badge small {
  font-size:10px;
  opacity:.82;
}
.budget-badge.up { background:#e6f8ef; color:#08753f; }
.budget-badge.down { background:#ffe8e8; color:#c42626; }
.budget-badge.hold { background:#eaf3ff; color:#0d5c9c; }
.severity-badge.high { background:#ffe8e8; color:#c42626; }
.severity-badge.medium { background:#fff0e6; color:#b24b00; }
.severity-badge.low { background:#eef3f8; color:#50667d; }
.business-table td {
  vertical-align:top;
}
.sku-decision-table {
  table-layout:fixed;
  font-size:12px;
  min-width:1940px;
}
.sku-decision-table th,
.sku-decision-table td {
  padding:7px 8px;
  line-height:1.3;
  overflow:hidden;
}
.sku-decision-table .col-action { width:74px; }
.sku-decision-table .col-stage { width:94px; }
.sku-decision-table .col-budget { width:104px; }
.sku-decision-table .col-score { width:58px; }
.sku-decision-table .col-confidence { width:98px; }
.sku-decision-table .col-country { width:84px; }
.sku-decision-table .col-person { width:96px; }
.sku-decision-table .col-sku { width:92px; }
.sku-decision-table .col-product { width:172px; }
.sku-decision-table .col-num { width:64px; }
.sku-decision-table .col-rate { width:74px; }
.sku-decision-table .col-money { width:80px; }
.sku-decision-table .col-history { width:72px; }
.sku-decision-table .col-status { width:88px; }
.sku-decision-table .col-reason { width:240px; }
.sku-decision-table .compact-product {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
  max-width:none;
}
.sku-decision-table .compact-reason {
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.45;
  min-width:0;
  max-width:none;
}
.sku-decision-table .sku {
  padding:2px 6px;
  max-width:86px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sku-decision-table .action-badge {
  min-width:52px;
  min-height:24px;
  padding:2px 7px;
  font-size:12px;
}
.sku-decision-table .pill {
  min-height:22px;
  padding:1px 6px;
  font-size:12px;
}
.sku-decision-table td:nth-child(6),
.sku-decision-table td:nth-child(7) {
  white-space:nowrap;
  text-overflow:ellipsis;
}
.confidence-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:82px;
  min-height:24px;
  padding:2px 5px;
  border-radius:6px;
  font-weight:900;
  white-space:nowrap;
  background:#eef3f8;
  color:#50667d;
  box-sizing:border-box;
  font-size:12px;
}
.confidence-badge small {
  font-size:11px;
  opacity:.82;
  min-width:25px;
  text-align:right;
}
.confidence-badge.high {
  background:#e6f8ef;
  color:#08753f;
}
.confidence-badge.medium {
  background:#fff3da;
  color:#a76000;
}
.confidence-badge.low {
  background:#ffe8e8;
  color:#c42626;
}
.money-value {
  color:#0d5c9c;
  font-weight:900;
}
.money-negative {
  color:#c42626;
  font-weight:900;
}
.money-muted {
  color:#7a8da1;
  font-weight:900;
  white-space:nowrap;
}
.money-factor {
  display:block;
  margin-top:2px;
  color:#7a8da1;
  font-size:10px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
}
.sku-decision-wrap {
  max-height:calc(100vh - 300px);
  overflow:auto;
}
.lifecycle-summary-grid,
.exception-summary-grid,
.daily-report-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
  padding:12px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.sku-lifecycle-detail {
  overflow:hidden;
}
.lifecycle-empty-state {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border:1px dashed #9fc4dc;
  background:linear-gradient(135deg,#f4fbff,#fff);
}
.lifecycle-empty-state h2,
.lifecycle-empty-state p {
  margin:4px 0 0;
}
.lifecycle-empty-state small,
.sku-lifecycle-hero small {
  color:#1488ac;
  font-weight:900;
  letter-spacing:.08em;
}
.lifecycle-empty-state>span {
  max-width:380px;
  color:#50667d;
  font-weight:800;
  text-align:right;
}
.lifecycle-candidate-list {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.sku-lifecycle-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px;
  color:#fff;
  background:linear-gradient(125deg,#0e416a 0%,#0b7899 66%,#0e9f91 100%);
}
.sku-lifecycle-hero h2 {
  margin:5px 0;
  color:#fff;
  font-size:28px;
}
.sku-lifecycle-hero h2 span {
  margin-left:8px;
  font-size:15px;
  font-weight:700;
  opacity:.82;
}
.sku-lifecycle-hero p {
  margin:0;
  color:rgba(255,255,255,.78);
  font-weight:700;
}
.sku-lifecycle-hero small {
  color:#bdeef5;
}
.sku-lifecycle-recommendation {
  min-width:210px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:12px;
  padding:12px 16px;
  background:rgba(255,255,255,.12);
  text-align:right;
}
.sku-lifecycle-recommendation small,
.sku-lifecycle-recommendation span {
  display:block;
}
.sku-lifecycle-recommendation b {
  display:block;
  margin:2px 0;
  font-size:30px;
}
.sku-lifecycle-kpis {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  padding:14px;
  background:#f5f9fc;
  border-bottom:1px solid var(--soft-line);
}
.sku-lifecycle-kpis article {
  min-width:0;
  border:1px solid var(--soft-line);
  border-radius:9px;
  padding:12px;
  background:#fff;
}
.sku-lifecycle-kpis article.recommend {
  border-color:#efb64a;
  background:#fff9ec;
}
.sku-lifecycle-kpis label,
.sku-lifecycle-kpis small {
  display:block;
  color:#60758a;
  font-weight:800;
}
.sku-lifecycle-kpis b {
  display:block;
  margin:4px 0;
  color:#11263b;
  font-size:23px;
}
.sku-lifecycle-analysis-grid {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);
  gap:12px;
  padding:14px;
}
.sku-lifecycle-guidance {
  border:1px solid #cfe5ef;
  border-radius:10px;
  padding:14px 16px;
  background:#f3fbfd;
}
.sku-lifecycle-guidance h3 {
  margin:0 0 8px;
  color:#123653;
}
.sku-lifecycle-guidance ol {
  margin:0;
  padding-left:20px;
  color:#38546c;
  font-weight:800;
  line-height:1.7;
}
.sku-lifecycle-guidance p {
  margin:9px 0 0;
  color:#71879a;
  font-size:12px;
  line-height:1.5;
}
.sku-lifecycle-country-table {
  min-width:1460px;
  table-layout:fixed;
}
.sku-lifecycle-country-table th,
.sku-lifecycle-country-table td {
  padding:9px 10px;
  vertical-align:top;
}
.lifecycle-trend {
  display:inline-flex;
  border-radius:99px;
  padding:3px 7px;
  font-weight:900;
  white-space:nowrap;
}
.lifecycle-trend.up { color:#08753f; background:#e6f8ef; }
.lifecycle-trend.down { color:#c42626; background:#ffe8e8; }
.lifecycle-trend.flat { color:#50667d; background:#eef3f8; }
.lifecycle-recommended-qty {
  color:#c96c00;
  font-size:16px;
}
.sku-lifecycle-month-detail {
  margin:12px 14px 14px;
  border:1px solid var(--soft-line);
  border-radius:9px;
  overflow:hidden;
}
.sku-lifecycle-month-detail summary {
  padding:11px 13px;
  color:#23445f;
  background:#f8fbfd;
  cursor:pointer;
  font-weight:900;
}
.sku-lifecycle-month-table {
  min-width:820px;
}
.replenishment-decision {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:14px;
  padding:16px 18px;
  border:1px solid #d5e2eb;
  border-left:5px solid #327eaa;
  border-radius:12px;
  background:#f7fbfe;
}
.replenishment-decision.tone-approve { border-left-color:#14905b; background:#effaf5; }
.replenishment-decision.tone-conservative { border-left-color:#e49b22; background:#fff8eb; }
.replenishment-decision.tone-pause { border-left-color:#cf3f3f; background:#fff1f1; }
.replenishment-decision.tone-data_gap { border-left-color:#6e7f90; background:#f5f7f9; }
.replenishment-decision h3,
.replenishment-decision p { margin:3px 0 0; }
.replenishment-decision p { color:#546a7e; font-size:12px; font-weight:700; line-height:1.55; }
.replenishment-decision>div:last-child { min-width:190px; text-align:right; }
.replenishment-decision span,
.replenishment-decision small { display:block; color:#6b7f91; font-weight:800; }
.replenishment-decision b { display:block; color:#102d45; font-size:28px; }
.replenishment-factor-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:0 14px 14px;
}
.replenishment-factor {
  min-width:0;
  border:1px solid #dce6ed;
  border-radius:12px;
  padding:13px;
  background:#fff;
  box-shadow:0 3px 12px rgba(24,62,88,.05);
}
.replenishment-factor.tone-risk { border-color:#f1bcbc; background:#fff8f8; }
.replenishment-factor.tone-watch,
.replenishment-factor.tone-partial,
.replenishment-factor.tone-insufficient { border-color:#edd4a5; background:#fffbf3; }
.replenishment-factor.tone-missing { border-style:dashed; background:#f8fafb; }
.replenishment-factor.tone-healthy,
.replenishment-factor.tone-configured { border-color:#b9dfcf; background:#f7fcf9; }
.replenishment-factor header { display:flex; align-items:center; gap:8px; }
.replenishment-factor header>span {
  display:grid;
  width:29px;
  height:29px;
  place-items:center;
  border-radius:8px;
  color:#fff;
  background:#176f9d;
  font-size:11px;
  font-weight:900;
}
.replenishment-factor header>div { min-width:0; flex:1; }
.replenishment-factor header small { display:block; color:#8295a6; font-size:10px; font-weight:900; letter-spacing:.07em; }
.replenishment-factor h3 { margin:1px 0 0; color:#173650; font-size:15px; }
.replenishment-factor header i {
  border-radius:99px;
  padding:3px 7px;
  color:#3d566b;
  background:#eaf1f5;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.replenishment-factor>strong { display:block; margin:13px 0 4px; color:#102d45; font-size:19px; }
.replenishment-factor>strong em { color:#2681a9; font-size:12px; font-style:normal; }
.replenishment-factor p { margin:7px 0 0; color:#687d90; font-size:11px; font-weight:700; line-height:1.5; }
.replenishment-factor ul { margin:10px 0 0; padding:0; list-style:none; }
.replenishment-factor li { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px; padding:5px 0; border-bottom:1px dashed #e3e9ee; font-size:11px; }
.replenishment-factor li b { min-width:0; overflow:hidden; color:#173650; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.replenishment-factor .link-btn { padding:0; font-size:11px; }
.customer-feedback-lazy { margin-top:8px; padding:8px; border-radius:8px; color:#526a7d; background:rgba(229,238,244,.65); font-size:11px; line-height:1.5; }
.customer-feedback-lazy b,
.customer-feedback-lazy span { display:block; }
.replenishment-evidence { margin:0 14px 14px; border:1px solid #dce6ed; border-radius:12px; overflow:hidden; }
.replenishment-evidence .chart-head { padding:13px 15px 8px; }
.replenishment-evidence .chart-head small { display:block; margin-top:3px; color:#74889a; }
.replenishment-source-note { padding:0 15px 10px; color:#708497; font-size:11px; font-weight:700; }
.replenishment-evidence table { min-width:980px; }
@media (max-width:1200px) {
  .sku-lifecycle-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sku-lifecycle-analysis-grid { grid-template-columns:1fr; }
  .replenishment-factor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .lifecycle-empty-state,
  .sku-lifecycle-hero { align-items:flex-start; flex-direction:column; }
  .lifecycle-empty-state>span { text-align:left; }
  .sku-lifecycle-recommendation { min-width:0; width:100%; text-align:left; }
  .sku-lifecycle-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .replenishment-decision { align-items:flex-start; flex-direction:column; }
  .replenishment-decision>div:last-child { min-width:0; text-align:left; }
  .replenishment-factor-grid { grid-template-columns:1fr; }
}
.lifecycle-card,
.exception-summary-grid article,
.daily-report-grid article {
  border:1px solid var(--soft-line);
  border-radius:7px;
  background:#fff;
  padding:10px 12px;
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.lifecycle-card strong,
.exception-summary-grid label,
.daily-report-grid label {
  color:#60758a;
  font-weight:900;
  font-size:13px;
}
.lifecycle-card b,
.exception-summary-grid b,
.daily-report-grid b {
  color:#11263b;
  font-size:24px;
  line-height:1.1;
}
.lifecycle-card small,
.exception-summary-grid small,
.daily-report-grid small {
  color:#60758a;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}
.lifecycle-table,
.replenishment-table,
.sales-funnel-table {
  table-layout:fixed;
  min-width:1180px;
}
.lifecycle-table th,
.lifecycle-table td,
.replenishment-table th,
.replenishment-table td,
.sales-funnel-table th,
.sales-funnel-table td {
  padding:8px 10px;
  line-height:1.35;
}
.lifecycle-table .long,
.replenishment-table .long {
  white-space:normal;
  overflow-wrap:anywhere;
}
.subtle-block {
  display:block;
  margin-top:2px;
  color:#7a8da1;
  font-size:11px;
  font-weight:800;
}
.mini-progress {
  height:7px;
  min-width:78px;
  border-radius:999px;
  overflow:hidden;
  background:#e8eef5;
}
.mini-progress span {
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2b86c5,#2fa866);
}
.sales-funnel-table small {
  display:block;
  margin-top:3px;
  color:#60758a;
  font-weight:900;
}
.exception-card-list {
  display:grid;
  gap:9px;
  padding:12px;
}
.exception-card {
  border:1px solid var(--soft-line);
  border-radius:7px;
  background:#fff;
  padding:10px 12px;
}
.exception-card-head {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
}
.exception-card-head strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.exception-card-head span {
  color:#60758a;
  font-size:12px;
  font-weight:900;
}
.exception-card p {
  margin:7px 0;
  color:#1f344a;
  font-weight:800;
  line-height:1.45;
}
.exception-card small {
  display:block;
  margin-top:7px;
  color:#0d5c9c;
  font-weight:900;
  line-height:1.4;
}
.exception-meta {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.exception-meta span {
  background:#f3f7fb;
  border-radius:6px;
  color:#60758a;
  font-size:12px;
  font-weight:900;
  padding:3px 7px;
}
.dispatch-badges {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
.dispatch-badges span,
.dispatch-badges b {
  border-radius:6px;
  background:#eef5fb;
  color:#526b82;
  font-size:12px;
  font-weight:900;
  padding:3px 7px;
}
.dispatch-badges b.open {
  background:#eaf4ff;
  color:#17639b;
}
.dispatch-badges b.due_soon {
  background:#fff1cc;
  color:#8a6400;
}
.dispatch-badges b.overdue {
  background:#ffe1e1;
  color:#b42318;
}
.dispatch-badges b.closed {
  background:#e5f7ed;
  color:#157045;
}
.closure-badge {
  border:1px solid #d9e4ef;
  border-radius:999px;
  background:#f3f7fb;
  color:#526b82;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:2px 9px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.closure-badge.handled,
.closure-badge.fixed {
  background:#e5f7ed;
  border-color:#bfe8d0;
  color:#157045;
}
.closure-badge.notified,
.closure-badge.rerun {
  background:#eaf4ff;
  border-color:#c9dff6;
  color:#17639b;
}
.closure-badge.ignored {
  background:#f5f0e7;
  border-color:#e5d9c4;
  color:#8a641f;
}
.exception-actions {
  display:flex;
  justify-content:flex-end;
  margin-top:9px;
}
.btn.small {
  min-height:30px;
  padding:5px 10px;
  font-size:12px;
}
.closure-form {
  display:grid;
  gap:12px;
}
.closure-target {
  border:1px solid var(--soft-line);
  border-radius:7px;
  background:#f7fafc;
  display:grid;
  gap:4px;
  padding:10px;
}
.closure-target strong {
  color:#10263b;
}
.closure-target small {
  color:#60758a;
  font-weight:800;
}
.closure-form textarea {
  min-height:92px;
  resize:vertical;
}
.tracking-board-section h2 {
  margin-bottom:12px;
}
.tracking-grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:12px;
  padding:0 12px 12px;
}
.tracking-panel {
  border:1px solid var(--soft-line);
  border-radius:7px;
  background:#fff;
  padding:12px;
}
.tracking-wide {
  grid-row:span 2;
}
.tracking-panel h3 {
  margin:0 0 10px;
  color:#11263b;
  font-size:16px;
}
.tracking-table small {
  display:block;
  margin-top:3px;
  color:#60758a;
  font-weight:900;
}
.danger-text {
  color:#c82323;
}
.tracking-item-list {
  display:grid;
  gap:8px;
}
.tracking-item-list div {
  border:1px solid #edf2f7;
  border-radius:7px;
  background:#f8fbfe;
  display:grid;
  gap:5px;
  padding:9px;
}
.tracking-item-list strong {
  color:#11263b;
  line-height:1.35;
}
.tracking-item-list small,
.tracking-item-list span {
  color:#60758a;
  font-weight:800;
  line-height:1.35;
}
@media (max-width: 980px) {
  .tracking-grid {
    grid-template-columns:1fr;
  }
  .tracking-wide {
    grid-row:auto;
  }
}
.regional-risk-panel {
  margin:0 12px 12px;
  border:1px solid var(--soft-line);
  border-radius:7px;
  background:#fff;
  padding:12px;
}
.regional-risk-panel h3 {
  margin:0 0 10px;
  font-size:16px;
  color:#11263b;
}
.regional-risk-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:8px;
}
.regional-risk-grid article {
  border-radius:7px;
  background:#f7fafc;
  padding:9px 10px;
  display:grid;
  gap:3px;
}
.regional-risk-grid strong {
  color:#11263b;
}
.regional-risk-grid span,
.regional-risk-grid small {
  color:#60758a;
  font-weight:800;
  line-height:1.35;
}
.daily-section-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:10px;
  padding:12px;
}
.report-section {
  border:1px solid var(--soft-line);
  border-radius:7px;
  background:#fff;
  padding:12px;
}
.report-section h3 {
  margin:0 0 8px;
  font-size:16px;
  color:#11263b;
}
.report-section ul {
  margin:0;
  padding-left:18px;
  color:#1f344a;
  font-weight:800;
  line-height:1.55;
}
.report-section p {
  margin:0;
  color:#7a8da1;
  font-weight:800;
}
.compact-rules {
  margin:0 12px 12px;
}
.business-insights {
  padding-bottom:18px;
}
.boss-daily-section h2 {
  align-items:center;
}
.boss-daily-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.boss-daily-sub {
  padding:12px 20px;
  border-bottom:1px solid var(--soft-line);
  color:#62758a;
  font-weight:800;
  background:#fbfdff;
}
.boss-daily-metrics,
.boss-daily-card-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--soft-line);
  background:#fbfdff;
}
.boss-daily-card-grid {
  grid-template-columns:repeat(5,minmax(170px,1fr));
  background:#fff;
}
.boss-daily-metrics article,
.boss-daily-card-grid article,
.boss-daily-panel {
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:12px 14px;
  min-width:0;
}
.boss-daily-metrics label,
.boss-daily-card-grid label {
  display:block;
  color:#687d92;
  font-size:12px;
  font-weight:900;
  margin-bottom:6px;
}
.boss-daily-metrics b,
.boss-daily-card-grid b {
  display:block;
  color:#10243a;
  font-size:24px;
  line-height:1.15;
  margin-bottom:6px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.boss-daily-metrics small,
.boss-daily-card-grid small,
.boss-daily-panel small {
  color:#6c7f93;
  font-weight:800;
  line-height:1.45;
}
.boss-daily-main-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:12px;
  padding:14px 16px;
}
.boss-daily-wide {
  grid-row:span 2;
}
.boss-daily-panel h3 {
  margin:0 0 10px;
  font-size:16px;
  color:#142234;
}
.boss-daily-section-block {
  border-top:1px solid var(--soft-line);
  padding:10px 0;
}
.boss-daily-section-block:first-of-type {
  border-top:0;
  padding-top:0;
}
.boss-daily-section-block strong {
  display:block;
  margin-bottom:7px;
  color:#20354c;
}
.boss-daily-section-block ul {
  margin:0;
  padding-left:18px;
  display:grid;
  gap:7px;
}
.boss-daily-section-block li,
.boss-daily-panel p {
  color:#1f344a;
  font-weight:800;
  line-height:1.55;
}
.boss-daily-list {
  display:grid;
  gap:9px;
}
.boss-daily-list div {
  display:grid;
  gap:5px;
  border-top:1px solid var(--soft-line);
  padding-top:9px;
}
.boss-daily-list div:first-child {
  border-top:0;
  padding-top:0;
}
.boss-daily-list strong {
  color:#1f344a;
  line-height:1.45;
}
.insight-list {
  padding:16px 20px 20px;
  display:grid;
  gap:10px;
}
.insight-list div {
  border-left:4px solid var(--blue);
  background:#f6faff;
  border-radius:6px;
  padding:12px 14px;
  line-height:1.65;
  font-weight:800;
  color:#1f344a;
}
.review-toolbar {
  grid-template-columns:repeat(3,minmax(180px,1fr)) repeat(2,minmax(160px,1fr));
}

.review-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
}
.review-section-heading h2 { margin:0; }
.review-store-modal .form-note { margin-top:-6px; }
.review-store-modal form { margin-top:16px; }

.review-sync-notice {
  display:grid;
  grid-template-columns:36px minmax(0, 1fr);
  gap:12px;
  align-items:center;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #f2cf9c;
  border-radius:12px;
  background:#fff8ea;
  color:#7a4d12;
}
.review-sync-notice.ok { border-color:#bfe6d8; background:#effaf6; color:#176b56; }
.review-sync-notice b { display:block; font-size:13px; color:inherit; }
.review-sync-notice p { margin:3px 0 0; font-size:12px; line-height:1.55; }
.review-sync-icon {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#e08b18;
  color:#fff;
  font-size:18px;
  font-weight:800;
}
.review-sync-notice.ok .review-sync-icon { background:#0c9677; }
.review-time-field input {
  min-width:210px;
  font-variant-numeric:tabular-nums;
}
.review-actions-bar {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding-top:2px;
}
.review-actions-bar .btn {
  min-width:88px;
}
.review-actions-bar .pill {
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
}
.table-wrap {
  overflow:auto;
  max-height:680px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  transition:box-shadow .16s ease;
}
.table-wrap.is-horizontally-scrollable { touch-action:pan-x pan-y; }
.table-wrap.has-scroll-right { box-shadow:inset -18px 0 16px -18px rgba(18,52,77,.62); }
.table-wrap.has-scroll-left { box-shadow:inset 18px 0 16px -18px rgba(18,52,77,.62); }
.table-wrap.has-scroll-left.has-scroll-right { box-shadow:inset 18px 0 16px -18px rgba(18,52,77,.62), inset -18px 0 16px -18px rgba(18,52,77,.62); }
.table-wrap:focus-visible { outline:3px solid rgba(29,167,223,.34); outline-offset:2px; }
.table-scroll-hint {
  display:none;
  align-items:center;
  gap:6px;
  margin:0 0 7px;
  color:#587184;
  font-size:12px;
  font-weight:800;
}
.table-scroll-hint::before { content:"↔"; color:#0f759e; font-size:16px; }
table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:14px;
}
th, td {
  border-bottom:1px solid var(--soft-line);
  padding:10px 12px;
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
  line-height:1.4;
}
th {
  background:#f8fbfd;
  color:#34495e;
  position:sticky;
  top:0;
  z-index:1;
  font-weight:900;
}
tbody tr:nth-child(even) { background:#fbfdff; }
tbody tr:hover { background:#f2f7fc; }
td.num, th.num { text-align:center; font-variant-numeric:tabular-nums; }
td.long { white-space:normal; min-width:320px; max-width:720px; line-height:1.6; }
.select-col {
  width:46px;
  min-width:46px;
  text-align:center;
}
.review-table .select-col {
  position:sticky;
  left:0;
  z-index:2;
  background:inherit;
}
.review-table th.select-col {
  z-index:3;
  background:#f8fbfd;
}
.review-table input[type="checkbox"] {
  width:18px;
  height:18px;
  accent-color:var(--blue);
  cursor:pointer;
  vertical-align:middle;
}
.strong {
  font-weight:900;
  color:var(--ink);
}
.mini-tag {
  display:inline-flex;
  width:max-content;
  align-items:center;
  border-radius:999px;
  padding:3px 8px;
  background:#edf5fc;
  color:#416075;
  font-size:12px;
  font-weight:800;
}
.mini-tag.late-arrival { margin-top:5px; background:#fff1df; color:#b45309; }
.mini-tag.review-sla { margin-top:5px; background:#fff6d9; color:#9a6500; }
.mini-tag.review-sla.critical { background:#ffebec; color:#b4232b; }
.review-compact-table {
  width:100%;
  table-layout:fixed;
  min-width:1720px;
}
.review-compact-table .review-col-select { width:54px; }
.review-compact-table .review-col-order { width:250px; }
.review-compact-table .review-col-owner { width:170px; }
.review-compact-table .review-col-product { width:360px; }
.review-compact-table .review-col-contact { width:390px; }
.review-compact-table .review-col-quality { width:150px; }
.review-compact-table .review-col-notes { width:240px; }
.review-compact-table .review-col-actions { width:230px; }
.review-compact-table th {
  height:54px;
  vertical-align:middle;
  white-space:nowrap;
  text-align:left;
}
.review-compact-table td {
  vertical-align:top;
  white-space:normal;
  text-align:left;
}
.review-compact-table .select-col,
.review-quality-cell {
  text-align:center;
}
.review-order-info,
.review-owner-info {
  display:grid;
  gap:6px;
  min-width:0;
  line-height:1.45;
  align-content:start;
}
.review-owner-inline {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  padding-top:4px;
}
.review-owner-inline span {
  display:inline-flex;
  align-items:center;
  max-width:100%;
  border-radius:999px;
  padding:2px 7px;
  background:#f1f6fb;
  color:#60758a;
  font-size:13px;
  font-weight:800;
}
.review-note-inline {
  min-width:0;
  padding-top:4px;
  color:#60758a;
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.review-buyer-message {
  margin-top:6px;
  padding:6px 8px;
  border-radius:7px;
  background:#fff7ed;
  color:#9a3412;
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.review-buyer-message span,
.review-notes-cell span {
  font-weight:900;
}
.review-card-cell,
.review-product-cell,
.review-contact-cell {
  white-space:normal;
  min-width:0;
}
.review-product-cell {
  width:auto;
}
.review-product-cell .sku {
  margin-left:4px;
}
.review-contact-cell {
  width:auto;
}
.review-quality-cell {
  min-width:0;
  vertical-align:top;
}
.review-notes-cell {
  min-width:0;
  color:#334155;
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.review-notes-head {
  display:flex;
  justify-content:flex-end;
  min-height:28px;
  margin-bottom:6px;
}
.note-edit-btn {
  border:1px solid #c9d4df;
  border-radius:999px;
  background:#fff;
  color:#416075;
  min-height:28px;
  padding:0 10px;
  font-size:12px;
  font-weight:900;
}
.note-edit-btn:hover {
  border-color:#7aa9cf;
  color:#0f609e;
  background:#f4f9fd;
}
.review-notes-cell div + div {
  margin-top:6px;
}
.review-notes-cell span {
  color:#64748b;
}
.review-compact-table td.long {
  min-width:0;
  max-width:none;
  white-space:normal;
  line-height:1.55;
}
.review-compact-table .actions {
  white-space:normal;
  align-content:start;
}
.review-grid-table {
  min-width:1780px;
  font-size:14px;
}
.review-grid-row {
  --sticky-bg:#fff;
  display:grid;
  grid-template-columns:54px 240px 150px 140px 320px 370px 220px 286px;
  align-items:stretch;
  border-bottom:1px solid var(--soft-line);
  background:#fff;
}
.review-grid-body .review-grid-row:nth-child(even) {
  --sticky-bg:#fbfdff;
  background:#fbfdff;
}
.review-grid-body .review-grid-row:hover {
  --sticky-bg:#f2f7fc;
  background:#f2f7fc;
}
.review-grid-header {
  --sticky-bg:#f8fbfd;
  position:sticky;
  top:0;
  z-index:30;
  min-height:54px;
  align-items:center;
  background:#f8fbfd;
  color:#34495e;
  font-weight:900;
}
.review-grid-cell {
  min-width:0;
  padding:10px 12px;
  white-space:normal;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
.review-grid-header .review-grid-cell {
  white-space:nowrap;
}
.review-grid-table .select-col {
  width:auto;
  min-width:0;
  text-align:center;
}
.review-grid-table input[type="checkbox"] {
  width:18px;
  height:18px;
  accent-color:var(--blue);
  cursor:pointer;
  vertical-align:middle;
}
.review-grid-table .review-quality-cell {
  text-align:center;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.quality-stack {
  display:grid;
  justify-items:center;
  gap:8px;
  max-width:150px;
}
.quality-prev-status {
  color:#ef4444;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.review-grid-header .review-grid-cell:last-child,
.review-grid-table .actions {
  position:sticky;
  right:0;
  z-index:10;
  background:var(--sticky-bg);
  border-left:1px solid #e2eaf3;
  box-shadow:-10px 0 18px -18px rgba(13,45,76,.45);
}
.review-grid-header .review-grid-cell:last-child::before,
.review-grid-table .actions::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-24px;
  width:24px;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(243,246,250,0), var(--sticky-bg));
}
.review-grid-header .review-grid-cell:last-child {
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
}
.review-grid-table .actions {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  align-items:flex-start;
  justify-content:center;
  align-self:stretch;
  min-height:100%;
  padding:14px 12px;
}
.review-grid-table .actions .btn {
  width:100%;
  min-width:0;
  min-height:34px;
  padding:0 10px;
  white-space:nowrap;
}
.review-grid-table .actions .btn.red {
  min-width:0;
}
.review-mini-card {
  display:grid;
  gap:6px;
  min-width:0;
  max-width:none;
  width:100%;
  box-sizing:border-box;
  padding:9px 10px;
  border:1px solid var(--soft-line);
  border-radius:8px;
  background:#fff;
  line-height:1.55;
}
.review-mini-card.product {
  background:#fbfdff;
}
.review-mini-card.contact {
  background:#fffdf8;
}
.review-address {
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.55;
}
.quality-badge {
  border:0;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.quality-badge.effective {
  color:#0d7f4f;
  background:#eaf8f1;
}
.quality-badge.duplicate {
  color:#b55d00;
  background:#fff4df;
}
.quality-badge.invalid {
  color:#c23a3a;
  background:#ffecec;
}
.quality-modal-content {
  width:min(1280px, calc(96vw - 48px));
  max-height:calc(90vh - 72px);
  overflow:auto;
  padding-right:4px;
}
.quality-summary {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.quality-summary span {
  background:#f1f6fb;
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
  color:#34495e;
}
.quality-detail-table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.quality-detail-table th,
.quality-detail-table td {
  white-space:normal;
  vertical-align:top;
  padding:12px 14px;
  border-bottom:1px solid var(--soft-line);
  line-height:1.55;
}
.quality-detail-table th {
  position:sticky;
  top:0;
  z-index:1;
  background:#f7fafd;
  color:#25364a;
  font-weight:900;
}
.quality-detail-table .time {
  min-width:130px;
}
.quality-detail-table .order-no {
  min-width:150px;
}
.quality-detail-table .status {
  min-width:88px;
}
.delivery-tag {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  padding:5px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.delivery-tag.signed {
  color:#0d7f4f;
  background:#eaf8f1;
}
.delivery-tag.returned {
  color:#c23a3a;
  background:#ffecec;
}
.delivery-tag.unknown {
  color:#617086;
  background:#eef3f8;
}
.quality-detail-table .long {
  min-width:260px;
  max-width:420px;
}
.quality-detail-wrap {
  max-height:calc(90vh - 230px);
  overflow:auto;
  border:1px solid var(--soft-line);
  border-radius:8px;
  scrollbar-gutter:stable;
}
.sku {
  color:#e94f4f;
  font-weight:900;
  background:#f7f7f7;
  border-radius:5px;
  padding:3px 8px;
  display:inline-block;
  line-height:1.4;
}
.rate-good { color:var(--scale); background:#eaf8f1; }
.rate-bad { color:var(--warn); background:#fff0ee; }
.empty { padding:24px; color:var(--muted); }
.loading-section {
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-weight:900;
  gap:14px;
  text-align:left;
}
.loading-section div { display:grid; gap:4px; }
.loading-section small { color:#7890a1; font-weight:600; }
.loading-spinner {
  width:28px;
  height:28px;
  border:3px solid #d6e6ef;
  border-top-color:var(--blue);
  border-radius:50%;
  animation:portal-loading-spin .8s linear infinite;
}
@keyframes portal-loading-spin { to { transform:rotate(360deg); } }
.data-error {
  display:grid;
  justify-items:start;
  gap:10px;
  padding:28px;
  border-color:#f0c8c3;
}
.data-error h2,
.data-error p { margin:0; }
.data-error p { color:#9b2d23; font-weight:800; }
.data-error small { color:var(--muted); line-height:1.55; }
.data-error .btn { margin-top:4px; }
.raw {
  white-space:pre-wrap;
  margin:0;
  padding:18px;
  background:#fbfcfe;
  color:#25364a;
  line-height:1.65;
  min-height:0;
  max-height:none;
  overflow:visible;
  overscroll-behavior:auto;
  word-break:break-word;
  font-size:13px;
}
.raw-section {
  overflow:visible;
}
.raw-section h2 {
  background:#fff;
}
.modal {
  position:fixed;
  inset:0;
  background:rgba(8,25,43,.42);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  z-index:100;
}
.modal[data-locked="1"] {
  background:rgba(5,23,40,.68);
  backdrop-filter:blur(3px);
}
.modal[data-locked="1"] .modal-panel {
  border-top:5px solid var(--blue);
  box-shadow:0 30px 100px rgba(4,19,34,.42);
}
.modal-panel {
  position:relative;
  width:min(560px, 100%);
  max-height:90vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:10px;
  box-shadow:0 26px 80px rgba(8,25,43,.28);
}
.modal-panel.modal-wide {
  width:min(1360px, calc(98vw - 32px));
}
.modal-panel.modal-task-drawer {
  position:absolute;
  top:0;
  right:0;
  width:min(820px, 96vw);
  height:100vh;
  max-height:100vh;
  border-radius:16px 0 0 16px;
  box-shadow:-24px 0 70px rgba(8,25,43,.26);
  animation:competitor-drawer-enter .2s ease-out;
}
.modal-panel.modal-task-drawer #modalContent { padding:24px 28px 34px; }
.modal-panel.modal-task-drawer .competitor-package-grid { grid-template-columns:1fr; }
@keyframes competitor-drawer-enter {
  from { opacity:.7; transform:translateX(28px); }
  to { opacity:1; transform:translateX(0); }
}
.modal-panel.modal-archive { width:min(1040px, calc(100vw - 48px)); }
.modal-panel.modal-compact-result {
  width:min(720px, calc(100vw - 32px));
  max-height:calc(100vh - 32px);
}
#modalContent {
  width:100%;
  max-width:100%;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:26px;
}
#modalContent > * {
  min-width:0;
  max-width:100%;
}
.modal-panel.modal-wide #modalContent { padding:28px; }
.modal-close {
  position:absolute;
  right:14px;
  top:12px;
  z-index:4;
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border:0;
  background:#fff;
  border-radius:6px;
  box-shadow:0 2px 10px rgba(8,25,43,.12);
  font-size:24px;
  color:var(--muted);
  cursor:pointer;
}
.modal-close:hover { color:#0f5e8d; background:#f2f7fa; }
.modal-close:focus-visible { outline:3px solid rgba(29,167,223,.38); outline-offset:2px; }
.modal h2 { margin:0 0 18px; }
.modal form { display:grid; gap:14px; }
.modal label { display:grid; gap:6px; font-weight:800; color:#34495e; }
.form-note {
  margin:0;
  padding:12px 14px;
  border:1px solid #cfe3ef;
  border-radius:10px;
  background:#f1f8fc;
  color:#45677d;
  line-height:1.55;
}
.confirm-dialog { display:grid; gap:14px; }
.confirm-dialog h2,
.confirm-dialog p { margin:0; }
.confirm-dialog p { color:#526b7d; line-height:1.65; }
.confirm-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }

@media (max-width:820px) {
  .table-scroll-hint { display:flex; }
  .table-wrap { max-width:100%; max-height:min(68vh,680px); }
  .modal { align-items:flex-end; padding:12px; }
  .modal-panel { width:100%; max-height:calc(100vh - 24px); border-radius:14px; }
  .confirm-actions { display:grid; grid-template-columns:1fr 1fr; }
  .confirm-actions .btn { min-height:44px; }
}
.temporary-password-card { display:grid; gap:14px; }
.temporary-password-card p {
  margin:0;
  padding:12px 14px;
  border-left:4px solid #f2b632;
  border-radius:8px;
  background:#fff8e8;
  color:#5f5134;
  line-height:1.55;
}
.temporary-password-card input[readonly] {
  background:#f7fafc;
  color:#173247;
  font-family:ui-monospace, SFMono-Regular, Consolas, monospace;
}
.actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.user-toolbar {
  display:flex;
  gap:12px;
  align-items:end;
  flex-wrap:wrap;
  margin:14px 0;
}
.product-selection-cards .card small,
.product-selection-table small,
.ps-video-body small,
.ps-workflow p {
  color:var(--muted);
  line-height:1.45;
}
.product-selection-toolbar {
  grid-template-columns:minmax(150px,220px) minmax(220px,1fr) auto auto auto auto;
}
.product-selection-section h2 span {
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.product-selection-table th:nth-child(1) { width:110px; }
.product-selection-table th:nth-child(2) { min-width:260px; }
.product-selection-table th:nth-child(3),
.product-selection-table th:nth-child(4) { min-width:160px; }
.product-selection-table th:nth-child(5) { min-width:160px; }
.product-selection-table th:nth-child(6) { min-width:260px; }
.ps-score {
  display:block;
  margin-top:8px;
  color:#142234;
  font-size:20px;
  line-height:1.1;
}
.ps-keywords {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ps-keywords span {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border-radius:6px;
  background:#eef6ff;
  color:#1b5d91;
  font-size:12px;
  font-weight:900;
}
.ps-keywords small {
  flex-basis:100%;
  margin-top:2px;
}
.ps-mini-creatives {
  display:grid;
  gap:5px;
  margin-top:8px;
}
.ps-mini-creatives div {
  padding:7px 8px;
  border:1px solid var(--soft-line);
  border-radius:6px;
  background:#fbfdff;
}
.ps-mini-creatives a {
  color:#0f609e;
  font-weight:900;
  text-decoration:none;
}
.ps-mini-creatives small {
  display:block;
  margin-top:3px;
}
.ps-ad-toolbar {
  grid-template-columns:minmax(150px,220px) minmax(260px,1fr) auto auto auto auto;
}
.ps-source-status {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  margin:14px 0;
}
.ps-source-status article {
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 12px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:14px 16px;
  box-shadow:var(--shadow);
}
.ps-source-status b {
  font-size:16px;
}
.ps-source-status span {
  justify-self:end;
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.ps-source-status small {
  grid-column:1 / -1;
  color:var(--muted);
  line-height:1.45;
}
.ps-source-status article.ready span {
  background:#e6f8ef;
  color:#08753f;
}
.ps-source-status article.pending span {
  background:#fff3da;
  color:#a76000;
}
.ps-inspiration-section {
  padding:0;
  overflow:hidden;
}
.ps-inspiration-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--line);
}
.ps-inspiration-head h2,
.ps-inspiration-head p { margin:0; }
.ps-inspiration-head p {
  margin-top:6px;
  color:var(--muted);
  line-height:1.45;
}
.ps-inspiration-head-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.ps-share-flow {
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 24px 0;
  padding:13px 16px;
  border:1px solid #b9d9ef;
  border-radius:8px;
  background:#eef8ff;
  color:#244d6c;
  font-weight:800;
  overflow-x:auto;
  white-space:nowrap;
}
.ps-share-flow i { color:#7696ab; font-style:normal; }
.ps-share-flow strong { color:#08753f; }
.ps-inspiration-controls {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:16px 24px 0;
}
.ps-inspiration-status-filter {
  display:inline-flex;
  align-items:center;
  padding:3px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f3f6f8;
}
.ps-inspiration-status-filter button {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#4a6579;
  padding:7px 12px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.ps-inspiration-status-filter button b {
  min-width:22px;
  padding:2px 6px;
  border-radius:999px;
  background:#dfe8ee;
  color:#36566d;
  font-size:12px;
  text-align:center;
}
.ps-inspiration-status-filter button.active {
  background:#fff;
  color:#075b91;
  box-shadow:0 1px 5px rgba(20,55,78,.12);
}
.ps-inspiration-status-filter button.active b {
  background:#e7f3fb;
  color:#075b91;
}
.ps-inspiration-owner-filter {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.ps-inspiration-owner-filter select {
  width:auto;
  min-width:130px;
  min-height:42px;
}
.ps-inspiration-quick-find {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.ps-inspiration-quick-find>label:first-child {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.ps-inspiration-quick-find input {
  width:190px;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
}
.ps-inspiration-result-summary {
  margin:12px 24px -4px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-align:right;
}
.ps-inspiration-more {
  display:flex;
  margin:16px auto 4px;
  min-width:180px;
  justify-content:center;
}
.ps-inspiration-note {
  margin:12px 24px 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.ps-radar-status {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:14px 24px 0;
  padding:11px 14px;
  border-left:4px solid #168451;
  background:#eff9f4;
  color:#3b5f51;
  font-size:13px;
}
.ps-radar-status span {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  min-width:0;
}
.ps-radar-status b { color:#106d45; }
.ps-radar-status em {
  color:#547064;
  font-style:normal;
  white-space:nowrap;
}
.ps-inspiration-status-filter { flex-wrap:wrap; }
.ps-readonly-notice {
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0;
  padding:12px 14px;
  border:1px solid #bed9ea;
  border-radius:8px;
  background:#eef7fc;
  color:#3c6076;
  font-size:13px;
}
.ps-readonly-notice b { color:#075b91; white-space:nowrap; }
.ps-ios-shortcut-inline {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px 14px;
  margin:12px 24px 0;
  padding:12px 14px;
  border:1px solid #d7dce1;
  border-radius:8px;
  background:#f8fafc;
  color:#425d72;
}
.ps-ios-shortcut-inline > strong { color:#142234; }
.ios-shortcut-guide {
  display:grid;
  gap:14px;
  color:#34495e;
  line-height:1.55;
}
.ios-shortcut-guide > p,
.ios-shortcut-guide > small { margin:0; }
.ios-shortcut-guide ol {
  display:grid;
  gap:10px;
  margin:0;
  padding-left:24px;
}
.ios-shortcut-guide li { padding-left:4px; }
.ios-shortcut-guide li b,
.ios-shortcut-guide li span { display:block; }
.ios-shortcut-guide li span { color:var(--muted); font-size:13px; }
.ios-shortcut-guide code {
  display:block;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f4f7f9;
  color:#0f5b8f;
  overflow-wrap:anywhere;
}
.ios-shortcut-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ps-inspiration-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(560px,1fr));
  gap:18px;
  padding:20px 24px 24px;
}
.ps-inspiration-card {
  display:grid;
  grid-template-columns:minmax(190px,34%) minmax(0,1fr);
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(15,67,105,.08);
}
.ps-inspiration-media {
  position:relative;
  display:block;
  min-height:390px;
  background:#edf3f7;
  overflow:hidden;
}
.ps-inspiration-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.ps-inspiration-media > span {
  position:absolute;
  right:10px;
  bottom:10px;
  padding:7px 10px;
  border-radius:6px;
  background:rgba(6,31,49,.86);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.ps-inspiration-placeholder {
  height:100%;
  display:grid;
  place-content:center;
  gap:6px;
  text-align:center;
  color:#55758d;
}
.ps-inspiration-placeholder b { color:#142234; font-size:28px; }
.ps-inspiration-content {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:11px;
  padding:16px 17px;
}
.ps-radar-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.ps-radar-card-head > div {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.ps-radar-card-head small {
  overflow:hidden;
  color:var(--muted);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-radar-card-head > b {
  color:#123f5c;
  font-size:20px;
  white-space:nowrap;
}
.ps-radar-score-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(62px,1fr));
  gap:6px;
  flex:0 0 auto;
}
.ps-radar-score-pair > span {
  display:grid;
  gap:1px;
  padding:5px 8px;
  border:1px solid #d9e5ec;
  border-radius:6px;
  background:#f7fafc;
  text-align:center;
}
.ps-radar-score-pair small {
  color:#6f8798;
  font-size:9px;
}
.ps-radar-score-pair b {
  color:#123f5c;
  font-size:17px;
  line-height:1.1;
}
.ps-radar-tier {
  padding:5px 8px;
  border-radius:6px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.ps-radar-tier.quality { background:#e8f8ef; color:#087544; }
.ps-radar-tier.potential { background:#fff3dc; color:#9a6100; }
.ps-radar-tier.verified_quality { background:#e4f7ed; color:#087544; }
.ps-radar-tier.high_potential { background:#fff2d8; color:#956000; }
.ps-radar-tier.explore { background:#e9f2fb; color:#175f8f; }
.ps-radar-product {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 10px;
  min-width:0;
}
.ps-radar-product small {
  grid-column:1 / -1;
  color:#70889a;
  font-size:11px;
  font-weight:800;
}
.ps-radar-product strong {
  overflow:hidden;
  color:#142234;
  font-size:22px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-radar-product > span {
  align-self:center;
  padding:4px 7px;
  border:1px solid #d4e4ee;
  border-radius:6px;
  color:#35657f;
  font-size:11px;
  white-space:nowrap;
}
.ps-radar-reason {
  margin:0;
  padding:9px 10px;
  border-left:3px solid #78a8c4;
  background:#f4f8fa;
  color:#435f72;
  font-size:13px;
  line-height:1.45;
}
.ps-radar-query {
  display:grid;
  gap:5px;
}
.ps-radar-query > small {
  color:#6b8293;
  font-size:11px;
  font-weight:800;
}
.ps-radar-query > b {
  overflow:hidden;
  color:#075b91;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-radar-query > div {
  display:flex;
  gap:5px;
  overflow:hidden;
}
.ps-radar-query > div span {
  padding:3px 6px;
  border-radius:5px;
  background:#edf4f8;
  color:#4b697b;
  font-size:10px;
  white-space:nowrap;
}
.ps-radar-query details {
  min-width:0;
  color:#5c7484;
  font-size:11px;
}
.ps-radar-query summary {
  width:max-content;
  cursor:pointer;
  font-weight:700;
}
.ps-radar-query details > div {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}
.ps-radar-query details span {
  padding:3px 6px;
  border-radius:5px;
  background:#edf4f8;
  color:#4b697b;
  font-size:10px;
}
.ps-radar-source {
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  color:#637d8e;
  font-size:11px;
}
.ps-radar-source b { color:#284f66; }
.ps-radar-metrics { margin-top:1px; }
.ps-radar-meta {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.ps-radar-meta span {
  display:grid;
  gap:2px;
  min-width:0;
}
.ps-radar-meta small { color:#78909f; font-size:10px; }
.ps-radar-meta b {
  overflow:hidden;
  color:#38576b;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-inspiration-content footer.ps-radar-actions {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ps-radar-verify-modal {
  display:grid;
  gap:14px;
}
.ps-radar-verify-modal h2,
.ps-radar-verify-modal p { margin:0; }
.ps-radar-verify-modal > p {
  color:var(--muted);
  line-height:1.5;
}
.ps-radar-verify-target {
  display:grid;
  gap:5px;
  padding:12px 14px;
  border:1px solid #d7e4ec;
  border-radius:8px;
  background:#f6f9fb;
}
.ps-radar-verify-target b { color:#142234; font-size:18px; }
.ps-radar-verify-target span {
  overflow:hidden;
  color:#527084;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-radar-verify-target a { color:#08679f; font-weight:800; }
.ps-radar-verify-modal form { display:grid; gap:12px; }
.ps-radar-verify-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ps-curator-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.ps-curator-identity {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.ps-curator-identity > span {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
  background:#e6f1f8;
  color:#075b91;
  font-size:13px;
  font-weight:900;
}
.ps-curator-identity div {
  display:grid;
  min-width:0;
  gap:1px;
}
.ps-curator-identity b {
  overflow:hidden;
  color:#1c3447;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-curator-identity small {
  color:var(--muted);
  font-size:11px;
}
.ps-review-status {
  padding:4px 8px;
  border-radius:6px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.ps-review-status.pending { background:#fff2d8; color:#9a5b00; }
.ps-review-status.kept { background:#e5f7ed; color:#08753f; }
.ps-review-status.watch { background:#e9f2fb; color:#235f8e; }
.ps-inspiration-title-row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-top:2px;
}
.ps-inspiration-title-row > div {
  display:grid;
  gap:2px;
  min-width:0;
}
.ps-inspiration-title-row small {
  color:#7890a2;
  font-size:11px;
  font-weight:800;
}
.ps-inspiration-title-row strong {
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#142234;
  font-size:18px;
  line-height:1.4;
}
.ps-inspiration-title-row em {
  color:#0b6c9f;
  font-size:11px;
  font-style:normal;
  font-weight:800;
}
.ps-inspiration-title-row > span {
  flex:0 0 auto;
  max-width:130px;
  overflow:hidden;
  border:1px solid #cde0ec;
  border-radius:6px;
  background:#f2f8fc;
  color:#315e7d;
  padding:4px 7px;
  font-size:11px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-tiktok-caption {
  margin:0;
  color:var(--muted);
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  min-height:2.9em;
  font-size:12px;
  line-height:1.45;
}
.ps-curator-tags {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.ps-curator-tags span {
  padding:3px 7px;
  border-radius:5px;
  background:#edf5fb;
  color:#185f8e;
  font-size:11px;
  font-weight:800;
}
.ps-curator-tags span.empty-tag {
  background:#f3f5f7;
  color:#7d8d98;
}
.ps-curator-reason {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:8px;
  padding:9px 0;
  border-top:1px solid #e9eef2;
  border-bottom:1px solid #e9eef2;
}
.ps-curator-reason b {
  color:#31556e;
  font-size:12px;
}
.ps-curator-reason p {
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#344c5e;
  font-size:12px;
  line-height:1.5;
}
.ps-inspiration-validation {
  display:grid;
  gap:0;
  margin:0;
}
.ps-inspiration-validation > div {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:9px;
  padding:7px 0;
  border-bottom:1px solid #edf1f4;
}
.ps-inspiration-validation > div:last-child { border-bottom:0; }
.ps-inspiration-validation dt {
  color:#647b8c;
  font-size:11px;
  font-weight:900;
}
.ps-inspiration-validation dd {
  display:grid;
  gap:2px;
  margin:0;
  color:#203d52;
  font-size:12px;
  font-weight:800;
}
.ps-inspiration-validation dd small {
  overflow:hidden;
  color:#758a99;
  font-size:11px;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-inspiration-validation .pending dd { color:#9a640d; }
.ps-inspiration-validation .ready dd { color:#176344; }
.ps-inspiration-validation > .ps-tiktok-evidence {
  grid-template-columns:88px minmax(0,1fr);
  padding:9px 0 11px;
}
.ps-tiktok-evidence > dd {
  gap:8px;
  color:#203d52 !important;
}
.ps-tiktok-evidence-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.ps-tiktok-evidence-head strong {
  overflow:hidden;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-tiktok-evidence-head span {
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:5px;
  background:#edf5fb;
  color:#185f8e;
  font-size:10px;
  font-weight:900;
}
.ps-tiktok-evidence.pending .ps-tiktok-evidence-head span {
  background:#fff3da;
  color:#9a640d;
}
.ps-tiktok-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid #dce7ee;
  border-radius:7px;
  background:#f7fafc;
  overflow:hidden;
}
.ps-tiktok-metrics > span {
  display:grid;
  gap:1px;
  min-width:0;
  padding:7px 5px;
  border-right:1px solid #e2eaf0;
  text-align:center;
}
.ps-tiktok-metrics > span:last-child { border-right:0; }
.ps-tiktok-metrics b {
  color:#142234;
  font-size:14px;
  line-height:1.2;
}
.ps-tiktok-metrics small,
.ps-tiktok-times small {
  overflow:visible !important;
  color:#758a99 !important;
  font-size:9px !important;
  font-weight:700 !important;
  text-overflow:clip !important;
  white-space:normal !important;
}
.ps-tiktok-times {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 12px;
}
.ps-tiktok-times > span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-width:0;
}
.ps-tiktok-times time {
  overflow:hidden;
  color:#4b6577;
  font-size:10px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-batch-import-form {
  display:grid;
  gap:14px;
}
.ps-batch-import-form > p {
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.ps-batch-import-form label {
  display:grid;
  gap:7px;
  color:#31556e;
  font-size:13px;
  font-weight:800;
}
.ps-batch-import-form textarea {
  width:100%;
  min-height:220px;
  resize:vertical;
  font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.ps-batch-import-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
}
.ps-batch-import-summary span {
  color:#075b91;
  font-weight:900;
}
.ps-inspiration-content footer {
  display:grid;
  grid-template-columns:1.05fr 1.2fr 1fr .85fr;
  gap:6px;
  margin-top:auto;
}
.ps-inspiration-content footer .btn {
  min-width:0;
  padding:8px 5px;
  font-size:12px;
}
.ps-inspiration-content footer .btn:disabled {
  opacity:.68;
  cursor:default;
}
.ps-inspiration-content footer.ps-card-readonly {
  display:block;
  padding:9px 11px;
  border:1px solid #d8e3ea;
  border-radius:6px;
  background:#f7f9fb;
  color:#627a8c;
  font-size:12px;
  text-align:center;
}
.ps-stock-material-section {
  overflow:hidden;
}
.ps-stock-material-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line);
}
.ps-stock-material-head h2,
.ps-stock-material-head p { margin:0; }
.ps-stock-material-head h2 { color:#142234; }
.ps-stock-material-head p {
  margin-top:5px;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.ps-stock-material-kpis {
  display:grid;
  grid-template-columns:repeat(4,minmax(74px,1fr));
  min-width:390px;
  border:1px solid #dce7ee;
  border-radius:8px;
  background:#f7fafc;
  overflow:hidden;
}
.ps-stock-material-kpis span {
  display:grid;
  gap:2px;
  padding:9px 10px;
  border-right:1px solid #e2eaf0;
  text-align:center;
}
.ps-stock-material-kpis span:last-child { border-right:0; }
.ps-stock-material-kpis b { color:#075b91; font-size:18px; }
.ps-stock-material-kpis small { color:#6f8493; font-size:10px; font-weight:800; }
.ps-stock-material-source {
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 24px 0;
  padding:10px 12px;
  border-left:4px solid #ca8614;
  background:#fff8ea;
  color:#72521c;
  font-size:12px;
}
.ps-stock-material-source.ready {
  border-color:#18945d;
  background:#eef9f3;
  color:#176344;
}
.ps-stock-material-source b { flex:0 0 auto; }
.ps-stock-material-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 24px;
}
.ps-stock-material-toolbar > div {
  display:flex;
  gap:6px;
  padding:4px;
  border:1px solid #d9e4eb;
  border-radius:8px;
  background:#f0f5f8;
}
.ps-stock-material-toolbar button,
.ps-stock-pagination button {
  min-height:34px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#38566c;
  padding:6px 10px;
  font-weight:900;
  cursor:pointer;
}
.ps-stock-material-toolbar button b {
  margin-left:6px;
  color:#6f8493;
}
.ps-stock-material-toolbar button.active,
.ps-stock-pagination button.active {
  background:#fff;
  color:#075b91;
  box-shadow:0 1px 4px rgba(22,63,91,.12);
}
.ps-stock-material-toolbar > span { color:var(--muted); font-size:12px; }
.ps-stock-material-list {
  display:grid;
  gap:14px;
  padding:0 24px 22px;
}
.ps-stock-product-card {
  display:grid;
  grid-template-columns:minmax(400px,44%) minmax(0,1fr);
  min-width:0;
  border:1px solid var(--line);
  border-left:5px solid #d39a3c;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.ps-stock-product-card.matched { border-left-color:#15935b; }
.ps-stock-product-summary {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  min-width:0;
  padding:14px;
  background:#f8fafb;
}
.ps-stock-product-image {
  width:112px;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid #dce6ec;
  border-radius:7px;
  background:#edf3f7;
}
.ps-stock-product-image img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.ps-stock-image-placeholder {
  display:grid;
  height:100%;
  place-content:center;
  gap:5px;
  color:#748998;
  text-align:center;
}
.ps-stock-image-placeholder b { color:#075b91; font-size:28px; }
.ps-stock-image-placeholder span { font-size:10px; font-weight:800; }
.ps-stock-product-copy {
  display:grid;
  align-content:start;
  gap:10px;
  min-width:0;
}
.ps-stock-product-title {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.ps-stock-product-title div { min-width:0; }
.ps-stock-product-title small { color:#668093; font-size:11px; font-weight:800; }
.ps-stock-product-title h3 {
  overflow:hidden;
  margin:3px 0 0;
  color:#142234;
  font-size:17px;
  letter-spacing:0;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-stock-product-title > span {
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:5px;
  background:#fff1d7;
  color:#995f08;
  font-size:10px;
  font-weight:900;
}
.matched .ps-stock-product-title > span { background:#e4f7ec; color:#08753f; }
.ps-stock-product-copy dl {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  border:1px solid #dce7ee;
  border-radius:7px;
  background:#fff;
  overflow:hidden;
}
.ps-stock-product-copy dl div {
  display:grid;
  gap:2px;
  padding:7px 5px;
  border-right:1px solid #e4ebf0;
  text-align:center;
}
.ps-stock-product-copy dl div:last-child { border-right:0; }
.ps-stock-product-copy dt { color:#718595; font-size:9px; font-weight:800; }
.ps-stock-product-copy dd { margin:0; color:#1a3b52; font-size:13px; font-weight:900; }
.ps-stock-product-copy > p {
  margin:0;
  color:#6d8190;
  font-size:10px;
  line-height:1.45;
}
.ps-stock-material-results {
  min-width:0;
  padding:13px 14px;
}
.ps-stock-material-results > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 2px 8px;
  color:#31556e;
  font-size:12px;
}
.ps-stock-material-results > header span { color:#718595; font-size:10px; }
.ps-stock-material-row {
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:8px 2px;
  border-top:1px solid #edf1f4;
  color:inherit;
  text-decoration:none;
}
.ps-stock-material-row:hover { background:#f7fafc; }
.ps-stock-material-row.status-pending { border-left:3px solid #d99319; }
.ps-stock-material-row.status-verified { border-left:3px solid #1f9d61; }
.ps-stock-material-cover {
  width:52px;
  height:52px;
  overflow:hidden;
  border-radius:6px;
  background:#edf3f7;
}
.ps-stock-material-cover img { width:100%; height:100%; object-fit:cover; }
.ps-stock-video-placeholder { display:grid; height:100%; place-content:center; color:#075b91; font-size:9px; font-weight:900; }
.ps-stock-material-copy {
  display:grid;
  gap:2px;
  min-width:0;
}
.ps-stock-material-copy b,
.ps-stock-material-copy small,
.ps-stock-material-copy em {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-stock-material-copy b { color:#18364b; font-size:12px; }
.ps-stock-material-copy small { color:#627b8d; font-size:10px; }
.ps-stock-material-copy em { color:#718595; font-size:10px; font-style:normal; }
.ps-stock-match-meta {
  display:grid;
  gap:4px;
  justify-items:end;
}
.ps-stock-match-meta b {
  padding:3px 6px;
  border-radius:5px;
  background:#e8f4fb;
  color:#075b91;
  font-size:9px;
}
.ps-stock-match-meta small { color:#758a99; font-size:9px; }
.ps-stock-material-empty {
  display:grid;
  gap:4px;
  padding:18px 2px;
  border-top:1px solid #edf1f4;
}
.ps-stock-material-empty b { color:#9a640d; font-size:12px; }
.ps-stock-material-empty span { color:#748998; font-size:11px; line-height:1.5; }
.ps-stock-pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 24px 22px;
}
.ps-stock-pagination button { border:1px solid #d5e1e9; background:#fff; }
.ps-stock-pagination button:disabled { opacity:.45; cursor:default; }
.ps-stock-pagination span { color:#8295a2; }
.ps-curator-form {
  display:grid;
  gap:14px;
}
.ps-curator-tag-picker {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
}
.ps-curator-tag-picker legend {
  padding:0 6px;
  color:#536c7d;
  font-size:12px;
  font-weight:800;
}
.ps-curator-tag-picker label {
  display:block;
  margin:0;
  cursor:pointer;
}
.ps-curator-tag-picker input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ps-curator-tag-picker span {
  display:block;
  border:1px solid #ccdbe5;
  border-radius:6px;
  background:#f7fafc;
  color:#49657a;
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
}
.ps-curator-tag-picker input:checked + span {
  border-color:#0d71ad;
  background:#e8f4fb;
  color:#075b91;
}
.ps-curator-form-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.pwa-install-help {
  display:grid;
  gap:12px;
  color:#34495e;
  line-height:1.6;
}
.pwa-install-help p { margin:0; }
.ps-validation-empty {
  display:grid;
  gap:12px;
  padding:26px;
  border-left:5px solid #d58a16;
  background:#fffaf0;
}
.ps-validation-empty > strong {
  color:#172b40;
  font-size:20px;
}
.ps-validation-empty p,
.ps-validation-empty small {
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.ps-validation-empty > div {
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:8px 18px;
}
.ps-validation-empty > div span {
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:#34495e;
  line-height:1.45;
}
.ps-validation-empty > div b {
  flex:0 0 24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#145f91;
  color:#fff;
  font-size:12px;
}
.ps-decision-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(360px,1fr));
  gap:16px;
  padding:16px;
  background:#f7fafc;
}
.ps-decision-card {
  min-width:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  border:1px solid var(--line);
  border-top:4px solid #d58a16;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(13,45,76,.08);
}
.ps-decision-card.tone-recommend { border-top-color:#1c9a58; }
.ps-decision-card.tone-reject { border-top-color:#d33e3e; }
.ps-decision-media {
  min-height:280px;
  background:#e9f0f6;
}
.ps-decision-media a,
.ps-decision-media img,
.ps-decision-placeholder {
  width:100%;
  height:100%;
}
.ps-decision-media a {
  position:relative;
  display:block;
  color:#fff;
  text-decoration:none;
}
.ps-decision-media img { display:block; object-fit:cover; }
.ps-decision-media a span {
  position:absolute;
  left:10px;
  bottom:10px;
  padding:5px 8px;
  border-radius:6px;
  background:rgba(0,0,0,.72);
  font-size:12px;
  font-weight:900;
}
.ps-decision-placeholder {
  display:grid;
  place-items:center;
  background:#145f91;
  color:#fff;
  font-weight:900;
}
.ps-decision-body {
  min-width:0;
  display:grid;
  gap:12px;
  padding:16px;
}
.ps-decision-body header,
.ps-decision-body footer {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.ps-decision-body header div { min-width:0; display:grid; gap:4px; }
.ps-decision-body header small,
.ps-decision-body footer,
.ps-decision-body dd small { color:var(--muted); }
.ps-decision-body header strong { font-size:18px; }
.ps-decision-body header > span {
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:6px;
  background:#fff3da;
  color:#995d00;
  font-weight:900;
}
.ps-decision-card.tone-recommend header > span { background:#e6f8ef; color:#08753f; }
.ps-decision-card.tone-reject header > span { background:#fff0f0; color:#b32424; }
.ps-decision-body dl { margin:0; display:grid; }
.ps-decision-body dl > div {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:10px;
  padding:8px 0;
  border-top:1px solid var(--soft-line);
}
.ps-decision-body dt { color:#445b73; font-weight:900; }
.ps-decision-body dd { margin:0; color:#172b40; font-weight:800; }
.ps-decision-body dd small { display:block; margin-top:3px; font-weight:500; line-height:1.4; }
.ps-decision-body > p { margin:0; color:#34495e; line-height:1.5; }
.ps-raw-warning {
  display:flex;
  gap:12px;
  align-items:center;
  margin:14px 16px 0;
  padding:12px 14px;
  border-left:4px solid #d58a16;
  background:#fffaf0;
  color:#6f4a09;
}
.ps-raw-warning span { color:#6f6047; line-height:1.45; }
.ps-affiliate-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:14px;
  padding:16px;
  background:#f7fafc;
}
.ps-affiliate-card {
  min-width:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:12px;
}
.ps-affiliate-card > a,
.ps-affiliate-card > img,
.ps-affiliate-placeholder { width:110px; height:110px; }
.ps-affiliate-card img { display:block; width:100%; height:100%; object-fit:cover; }
.ps-affiliate-placeholder { display:grid; place-items:center; background:#e9f0f6; color:#456078; font-weight:900; }
.ps-affiliate-card > div { min-width:0; display:grid; align-content:start; gap:7px; }
.ps-affiliate-card small { color:var(--muted); }
.ps-affiliate-card strong { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ps-affiliate-card p { margin:0; color:#21384f; font-weight:800; }
.ps-ad-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(250px,1fr));
  gap:14px;
  padding:16px;
  background:#f7fafc;
}
.ps-ad-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(13,45,76,.08);
}
.ps-ad-visual {
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:linear-gradient(135deg,#0f609e,#33a6d9);
  color:#fff;
}
.ps-ad-media {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#111;
}
.ps-ad-card.tone-fashion .ps-ad-visual { background:linear-gradient(135deg,#182b4d,#d8529c); }
.ps-ad-card.tone-health .ps-ad-visual { background:linear-gradient(135deg,#0a6b5d,#55b675); }
.ps-ad-card.tone-tool .ps-ad-visual { background:linear-gradient(135deg,#26384f,#d78828); }
.ps-ad-card.tone-outdoor .ps-ad-visual { background:linear-gradient(135deg,#155a7a,#8dbb36); }
.ps-ad-bg-word {
  position:absolute;
  left:18px;
  right:18px;
  top:22px;
  font-size:30px;
  line-height:1.08;
  font-weight:950;
  text-transform:uppercase;
}
.ps-ad-bg-word::after {
  content:"";
  display:block;
  width:72px;
  height:5px;
  margin-top:14px;
  border-radius:99px;
  background:rgba(255,255,255,.78);
}
.ps-ad-play {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border:5px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:rgba(0,0,0,.18);
  color:#fff;
  font-size:28px;
  padding-left:4px;
}
.ps-ad-time,
.ps-ad-speed {
  position:absolute;
  bottom:12px;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  border-radius:6px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.ps-ad-time { left:12px; }
.ps-ad-speed { right:12px; }
.ps-ad-meta {
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:11px 14px 0;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.ps-ad-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:12px 14px;
  border-bottom:1px solid var(--soft-line);
}
.ps-ad-metrics div {
  min-width:0;
  text-align:center;
}
.ps-ad-metrics b {
  display:block;
  color:#142234;
  font-size:20px;
  line-height:1.1;
}
.ps-ad-metrics span {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.ps-ad-copy {
  display:grid;
  gap:6px;
  padding:0 14px 12px;
}
.ps-ad-copy strong {
  min-height:44px;
  line-height:1.35;
  font-size:16px;
}
.ps-ad-copy small,
.ps-ad-footer small {
  color:var(--muted);
  line-height:1.4;
}
.ps-ad-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 14px 12px;
}
.ps-ad-tags span {
  padding:4px 8px;
  border-radius:6px;
  background:#eef6ff;
  color:#1b5d91;
  font-size:12px;
  font-weight:900;
}
.ps-ad-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-top:1px solid var(--soft-line);
}
.ps-ad-footer b {
  display:block;
}
.ps-ad-actions {
  display:flex;
  gap:6px;
}
.ps-ad-cta {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#20354c;
  padding:0 12px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.ps-ad-cta:disabled {
  color:#7a8797;
  background:#f5f8fb;
  cursor:default;
}
.ps-creative-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(230px,1fr));
  gap:16px;
  padding:16px;
  background:#f7fafc;
}
.ps-creative-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(13,45,76,.08);
}
.ps-creative-media {
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#e9f0f6;
}
.ps-creative-cover {
  display:block;
  width:100%;
  height:100%;
  color:#fff;
  text-decoration:none;
}
.ps-creative-cover img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .2s ease;
}
.ps-creative-card:hover .ps-creative-cover img { transform:scale(1.025); }
.ps-creative-placeholder {
  width:100%;
  height:100%;
  display:grid;
  place-content:center;
  gap:8px;
  padding:20px;
  text-align:center;
  background:#155a8a;
  color:#fff;
}
.ps-creative-placeholder b { font-size:26px; }
.ps-creative-placeholder span { font-size:14px; }
.ps-creative-play {
  position:absolute;
  left:50%;
  top:50%;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  border:4px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:rgba(0,0,0,.34);
  color:#fff;
  font-size:22px;
  padding-left:3px;
}
.ps-creative-metric {
  position:absolute;
  left:10px;
  bottom:10px;
  padding:5px 8px;
  border-radius:6px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.ps-creative-body {
  display:grid;
  gap:10px;
  padding:13px;
}
.ps-creative-source {
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#0d6a98;
  font-size:13px;
  font-weight:900;
}
.ps-creative-source small { color:var(--muted); }
.ps-creative-body > strong {
  min-height:44px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-height:1.35;
}
.ps-creative-tags {
  min-height:28px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ps-creative-tags span {
  max-width:100%;
  overflow:hidden;
  padding:4px 7px;
  border-radius:6px;
  background:#eef6ff;
  color:#1b5d91;
  font-size:12px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ps-creative-footer {
  min-height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:10px;
  border-top:1px solid var(--soft-line);
}
.ps-creative-footer time {
  margin-left:auto;
  color:var(--muted);
  font-size:12px;
}
.ps-creative-download {
  color:#176a9e;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
}
.ps-video-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:14px;
  padding:16px;
}
.ps-video-card {
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.ps-video-thumb {
  display:block;
  aspect-ratio:16/9;
  background:#edf4fb;
  color:#0f609e;
  text-decoration:none;
  overflow:hidden;
}
.ps-video-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ps-video-placeholder {
  height:100%;
  display:grid;
  place-items:center;
  font-size:24px;
  font-weight:950;
}
.ps-video-body {
  display:grid;
  gap:9px;
  padding:14px;
}
.ps-video-body strong {
  line-height:1.35;
}
.ps-video-body p {
  margin:0;
  color:#34495e;
  line-height:1.5;
}
.ps-video-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.ps-video-actions a.btn {
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.ps-workflow {
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:14px;
  padding:16px;
}
.ps-workflow article {
  border:1px solid var(--line);
  border-radius:8px;
  padding:15px;
  background:#fbfdff;
}
.ps-workflow b {
  display:inline-flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  margin-bottom:10px;
}
.ps-workflow strong {
  display:block;
  margin-bottom:8px;
}
.platter-scope-note {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:14px 0;
  padding:14px 16px;
  border-left:4px solid var(--blue);
  background:#eef7fc;
  color:#45657a;
}
.platter-scope-note > div:first-child { display:grid; gap:4px; }
.platter-scope-note b { color:#103b58; }
.platter-section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.platter-section-head h2,
.platter-section-head p { margin:0; }
.platter-section-head p { margin-top:5px; color:var(--muted); }
.platter-section-head > span {
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:6px;
  background:#eef5f9;
  color:#315e7d;
  font-weight:900;
}
.platter-task-list { display:grid; gap:14px; padding-top:16px; }
.platter-task-card {
  display:grid;
  grid-template-columns:150px minmax(330px,1fr) minmax(360px,46%);
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-left:5px solid #2c9e5d;
  border-radius:8px;
  background:#fff;
}
.platter-task-card.tone-material_refresh { border-left-color:#1684bd; }
.platter-task-card.tone-rotation { border-left-color:#d99119; }
.platter-product-image {
  min-height:190px;
  background:#eef3f6;
}
.platter-product-image img { width:100%; height:100%; object-fit:contain; }
.platter-image-placeholder {
  display:grid;
  width:100%;
  height:100%;
  min-height:190px;
  place-content:center;
  color:#0d6398;
  font-size:44px;
  font-weight:900;
}
.platter-product-main { min-width:0; padding:16px; border-right:1px solid var(--line); }
.platter-product-main > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.platter-product-main h3 { margin:4px 0 0; font-size:20px; }
.platter-product-main > header > span {
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:6px;
  background:#e7f7ee;
  color:#08753f;
  font-size:12px;
  font-weight:900;
}
.tone-material_refresh .platter-product-main > header > span { background:#e9f5fc; color:#12658f; }
.tone-rotation .platter-product-main > header > span { background:#fff2dc; color:#995c00; }
.platter-product-main dl {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:14px 0 12px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f8fbfd;
}
.platter-product-main dl div { padding:9px; text-align:center; border-right:1px solid var(--line); }
.platter-product-main dl div:last-child { border-right:0; }
.platter-product-main dt { color:var(--muted); font-size:11px; }
.platter-product-main dd { margin:3px 0 0; color:#142234; font-size:16px; font-weight:900; }
.platter-product-main p { margin:7px 0; color:#496579; font-size:13px; line-height:1.45; }
.platter-product-main p b { color:#173d57; }
.platter-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.platter-badges span { padding:4px 7px; border-radius:5px; background:#eef5f9; color:#315e7d; font-size:11px; font-weight:800; }
.platter-badges span.pending { background:#fff2dc; color:#8b590b; }
.platter-task-material { min-width:0; padding:14px 16px; }
.platter-task-material > header { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; }
.platter-task-material > header span { color:var(--muted); font-size:12px; }
.platter-materials { display:grid; gap:8px; }
.platter-material-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
  padding-bottom:8px;
  border-bottom:1px solid #e6eef3;
}
.platter-material-row:last-child { padding-bottom:0; border-bottom:0; }
.platter-material-row.status-pending { background:#fffaf0; }
.platter-material-row.status-verified { background:#f3fbf7; }
.material-verification { display:inline-flex; align-items:center; padding:2px 6px; border-radius:4px; font-size:11px; font-style:normal; font-weight:800; margin-right:5px; }
.material-verification.verified { color:#087a43; background:#e4f7ed; }
.material-verification.pending { color:#9a5c00; background:#fff0cc; }
.platter-material-review.needs-metrics { display:grid; grid-template-columns:minmax(112px,140px) minmax(0,1fr); gap:6px; align-items:end; }
.platter-material-review.needs-metrics > small { grid-column:1 / -1; color:#8a620c; font-size:10px; }
.material-like-check { display:grid; gap:3px; color:#6f581e; font-size:10px; font-weight:800; }
.material-like-check input { width:100%; min-height:30px; padding:5px 7px; border:1px solid #dfc277; border-radius:5px; background:#fff; color:#173247; font:inherit; }
.material-relation-buttons { display:flex; gap:4px; flex-wrap:wrap; }
.platter-material-row > a {
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.platter-material-row > a > span {
  display:grid;
  width:50px;
  height:50px;
  place-content:center;
  overflow:hidden;
  border-radius:6px;
  background:#e8f2f8;
  color:#17628e;
  font-size:10px;
  font-weight:900;
}
.platter-materials img { width:100%; height:100%; object-fit:cover; }
.platter-materials b,
.platter-materials small,
.platter-materials em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.platter-materials b { font-size:13px; }
.platter-materials small { margin-top:3px; color:var(--muted); font-size:11px; }
.platter-materials em { margin-top:3px; color:#17628e; font-size:11px; font-style:normal; font-weight:800; }
.platter-materials em i { display:inline-block; margin-right:4px; padding:2px 5px; border-radius:4px; background:#eaf4fa; color:#17628e; font-style:normal; }
.platter-materials em i.tier-ai_exact { background:#e9f6ee; color:#147a43; }
.platter-materials em i.tier-upgrade { background:#fff2dc; color:#956000; }
.platter-materials em i.tier-category_hot { background:#f1effa; color:#5c4a91; }
.platter-material-review {
  display:grid;
  grid-template-columns:repeat(2,58px);
  gap:4px;
}
.platter-material-review button {
  min-height:27px;
  padding:4px 6px;
  border:1px solid #c9d9e3;
  border-radius:5px;
  background:#fff;
  color:#355a70;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.platter-material-review button:hover { border-color:#1670a8; color:#12658f; }
.platter-material-review button.active { border-color:#1670a8; background:#e8f4fb; color:#0d6398; }
.platter-material-review button[data-material-review="irrelevant"].active { border-color:#d74a4a; background:#fff0f0; color:#b42727; }
.platter-material-review button:disabled { cursor:wait; opacity:.6; }
.platter-material-readonly {
  padding:5px 7px;
  border-radius:5px;
  background:#eef5f9;
  color:#496579;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.platter-material-empty { padding:18px 12px; border:1px dashed #cbd9e2; color:var(--muted); text-align:center; }
.platter-archive-toolbar {
  display:grid;
  grid-template-columns:minmax(170px,220px) minmax(260px,1fr) auto auto;
  gap:10px;
  align-items:end;
  margin:16px 0;
}
.platter-archive-toolbar label { display:grid; gap:5px; color:var(--muted); font-size:12px; font-weight:800; }
.platter-archive-table small { display:block; margin-top:4px; color:var(--muted); }
.platter-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0 2px; color:var(--muted); font-size:13px; font-weight:700; }
.platter-pagination-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.platter-pagination-controls label { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.platter-pagination-controls input {
  width:72px;
  height:36px;
  padding:6px 8px;
  border:1px solid #c9d9e3;
  border-radius:6px;
  background:#fff;
  color:#173247;
  text-align:center;
  font:inherit;
}
.platter-pagination-controls #platterJumpPage { width:64px; }
.platter-detail-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.platter-detail-grid > div { display:grid; gap:5px; padding:12px; border:1px solid var(--line); background:#f8fbfd; }
.platter-detail-grid small { color:var(--muted); }
.platter-detail-note { display:grid; gap:5px; margin-top:16px; }
.platter-detail-note p { margin:0 0 8px; color:#496579; }
.platter-archive-modal > h2 { padding-right:46px; }
.platter-modal-materials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.platter-modal-material-head { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.platter-modal-material-head h3 { margin:0; }
.platter-modal-material-head span { color:var(--muted); font-size:12px; font-weight:800; }
.platter-modal-material {
  display:block;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  color:#173247;
  text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.platter-modal-material:hover { border-color:#7db6d5; box-shadow:0 5px 14px rgba(26,86,121,.1); }
.platter-modal-material-link { display:grid; grid-template-columns:68px minmax(0,1fr); gap:10px; color:#173247; text-decoration:none; }
.platter-modal-material .platter-material-review { margin-top:9px; padding-top:8px; border-top:1px solid var(--line); }
.platter-modal-cover {
  display:grid;
  width:68px;
  height:68px;
  place-items:center;
  overflow:hidden;
  border-radius:5px;
  background:#e8f2f8;
  color:#17628e;
  font-size:11px;
  font-weight:900;
}
.platter-modal-cover img { width:100%; height:100%; object-fit:cover; }
.platter-modal-copy { display:block; min-width:0; }
.platter-modal-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.platter-modal-top i { padding:2px 6px; border-radius:4px; background:#eaf4fa; color:#17628e; font-size:10px; font-style:normal; font-weight:900; }
.platter-modal-top time { color:var(--muted); font-size:10px; white-space:nowrap; }
.platter-modal-copy b {
  display:-webkit-box;
  overflow:hidden;
  margin-top:5px;
  color:#15364d;
  font-size:13px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.platter-modal-meta,
.platter-modal-copy em { display:block; overflow:hidden; margin-top:4px; text-overflow:ellipsis; white-space:nowrap; }
.platter-modal-meta { color:var(--muted); font-size:11px; }
.platter-modal-copy em { color:#17628e; font-size:11px; font-style:normal; font-weight:800; }
.modal-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
@media (max-width:1100px) {
  .login-page { padding:28px; }
  .login-shell {
    grid-template-columns:1fr;
    min-height:auto;
    gap:28px;
  }
  .login-hero { min-height:auto; gap:42px; }
  .login-copy { margin-top:20px; }
  .login-copy h2 { font-size:46px; }
  .login-copy p { font-size:36px; }
  .login-card { min-height:auto; }
  .cards { grid-template-columns:repeat(2,minmax(130px,1fr)); }
  .boss-daily-metrics { grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .boss-daily-card-grid { grid-template-columns:repeat(2,minmax(160px,1fr)); }
  .boss-daily-main-grid { grid-template-columns:1fr; }
  .boss-daily-wide { grid-row:auto; }
  .toolbar { grid-template-columns:repeat(2,minmax(140px,1fr)); }
  .product-selection-toolbar { grid-template-columns:repeat(2,minmax(140px,1fr)); }
  .ps-source-status { grid-template-columns:1fr; }
  .ps-ad-toolbar { grid-template-columns:repeat(2,minmax(140px,1fr)); }
  .ps-ad-grid { grid-template-columns:repeat(2,minmax(240px,1fr)); }
  .ps-creative-grid { grid-template-columns:repeat(2,minmax(230px,1fr)); }
  .ps-decision-grid { grid-template-columns:1fr; }
  .ps-affiliate-grid { grid-template-columns:repeat(2,minmax(240px,1fr)); }
  .ps-video-grid { grid-template-columns:repeat(2,minmax(240px,1fr)); }
  .ps-workflow { grid-template-columns:repeat(2,minmax(180px,1fr)); }
  .ps-stock-material-head { flex-direction:column; }
  .ps-stock-material-kpis { width:100%; min-width:0; }
  .ps-stock-product-card { grid-template-columns:1fr; }
  .platter-task-card { grid-template-columns:130px minmax(0,1fr); }
  .platter-task-material { grid-column:1 / -1; border-top:1px solid var(--line); }
  .platter-product-main { border-right:0; }
  .platter-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .business-chart-grid { grid-template-columns:1fr; }
  .outbound-cards { grid-template-columns:repeat(2,minmax(130px,1fr)); }
  .outbound-grid { grid-template-columns:1fr; }
  .unshipped-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .login-page { padding:18px; }
  .login-brand img { width:78px; height:78px; }
  .login-brand strong { font-size:34px; }
  .login-brand span { font-size:15px; }
  .login-copy h2 { font-size:34px; }
  .login-copy p { font-size:28px; }
  .login-showcase { display:none; }
  .login-card { padding:34px 24px; border-radius:24px; }
  .app-page { display:block; }
  .sidebar {
    position:relative;
    height:auto;
    padding:10px 12px;
    overflow:visible;
  }
  .sidebar .brand {
    gap:10px;
    padding:2px 2px 10px;
  }
  .sidebar .brand img { width:48px; height:48px; padding:4px; }
  .sidebar .brand strong { font-size:20px; }
  .sidebar .brand span { margin-top:2px; font-size:11px; }
  .sidebar .nav {
    display:flex;
    gap:7px;
    margin-top:10px;
    padding-bottom:2px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
  }
  .sidebar .nav button,
  .sidebar .nav button.nav-quick-entry {
    flex:0 0 auto;
    width:auto;
    min-height:40px;
    margin:0;
    padding:8px 13px;
    white-space:nowrap;
  }
  .sidebar .nav button.has-subnav { padding-right:30px; }
  .main { padding:14px; }
  .top-header { flex-direction:column; }
  .account-menu { left:0; right:auto; }
  .boss-daily-actions { justify-content:flex-start; }
  .boss-daily-metrics,
  .boss-daily-card-grid { grid-template-columns:1fr; padding:12px; }
  .boss-daily-main-grid { padding:12px; }
  .business-chart-grid { padding:12px; gap:12px; }
  .chart-panel { padding:12px; }
  .chart-head { align-items:flex-start; flex-direction:column; }
  .sku-radar-list div { grid-template-columns:1fr; }
  .sku-radar-list small { grid-column:1; }
  .outbound-cards { grid-template-columns:1fr; padding:12px; }
  .outbound-grid { padding:12px; gap:12px; }
  .outbound-page-tabs { padding:12px 12px 0; }
  .outbound-page-tabs button { width:100%; justify-content:space-between; }
  .outbound-page-panel { margin:12px; padding:12px; }
  .unshipped-card-head { grid-template-columns:1fr; align-items:start; }
  .unshipped-fields { grid-template-columns:1fr; }
  .inventory-alert-head { grid-template-columns:1fr; align-items:flex-start; }
  .ps-video-grid,
  .ps-ad-grid,
  .ps-creative-grid,
  .ps-decision-grid,
  .ps-affiliate-grid,
  .ps-workflow { grid-template-columns:1fr; padding:12px; }
  .ps-validation-empty > div { grid-template-columns:1fr; }
  .ps-inspiration-head { align-items:flex-start; padding:18px 16px 14px; }
  .ps-inspiration-head { flex-direction:column; }
  .ps-inspiration-head-actions { width:100%; justify-content:flex-start; }
  .ps-inspiration-head-actions .btn { flex:1 1 145px; }
  .ps-share-flow { margin:14px 16px 0; }
  .ps-inspiration-controls { align-items:stretch; flex-direction:column; margin:12px 16px 0; }
  .ps-inspiration-status-filter { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ps-inspiration-status-filter button { justify-content:space-between; }
  .ps-inspiration-owner-filter { justify-content:space-between; }
  .ps-inspiration-owner-filter select { min-width:160px; }
  .ps-inspiration-quick-find { align-items:stretch; flex-direction:column; }
  .ps-inspiration-quick-find>label:first-child { justify-content:space-between; }
  .ps-inspiration-quick-find input { width:min(220px,60vw); }
  .ps-ios-shortcut-inline { grid-template-columns:1fr; margin:10px 16px 0; }
  .ps-ios-shortcut-inline .btn { justify-self:start; }
  .ps-inspiration-note { margin:10px 16px 0; }
  .ps-inspiration-grid { grid-template-columns:1fr; padding:16px; }
  .ps-inspiration-card { grid-template-columns:1fr; }
  .ps-inspiration-media { min-height:0; aspect-ratio:9 / 12; }
  .ps-inspiration-validation > .ps-tiktok-evidence { grid-template-columns:1fr; gap:6px; }
  .ps-tiktok-times { grid-template-columns:1fr; }
  .ps-batch-import-summary { align-items:flex-start; flex-direction:column; }
  .ps-inspiration-content footer { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ps-radar-card-head { align-items:flex-start; flex-wrap:wrap; }
  .ps-radar-score-pair { width:100%; }
  .ps-inspiration-content footer.ps-radar-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ps-stock-material-head { padding:18px 16px 14px; }
  .ps-stock-material-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ps-stock-material-kpis span:nth-child(2) { border-right:0; }
  .ps-stock-material-kpis span:nth-child(-n+2) { border-bottom:1px solid #e2eaf0; }
  .ps-stock-material-source { align-items:flex-start; flex-direction:column; margin:12px 16px 0; }
  .ps-radar-status { align-items:flex-start; flex-direction:column; margin:12px 16px 0; }
  .ps-radar-status span { align-items:flex-start; }
  .ps-radar-status em { white-space:normal; }
  .ps-radar-product { grid-template-columns:1fr; }
  .ps-radar-product small { grid-column:auto; }
  .ps-radar-product > span { justify-self:start; }
  .ps-radar-meta { grid-template-columns:1fr; }
  .ps-stock-material-toolbar { align-items:stretch; flex-direction:column; padding:12px 16px; }
  .ps-stock-material-toolbar > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ps-stock-material-toolbar button { padding:6px; }
  .ps-stock-material-list { padding:0 16px 18px; }
  .ps-stock-product-summary { grid-template-columns:86px minmax(0,1fr); padding:12px; }
  .ps-stock-product-image { width:78px; }
  .ps-stock-product-copy dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ps-stock-product-copy dl div:nth-child(2) { border-right:0; }
  .ps-stock-product-copy dl div:nth-child(-n+2) { border-bottom:1px solid #e4ebf0; }
  .ps-stock-material-row { grid-template-columns:46px minmax(0,1fr); }
  .ps-stock-material-cover { width:46px; height:46px; }
  .ps-stock-match-meta { grid-column:2; grid-row:2; justify-items:start; grid-auto-flow:column; justify-content:start; }
  .ps-stock-pagination { padding:0 16px 18px; }
  .ps-decision-card { grid-template-columns:1fr; }
  .ps-decision-media { min-height:240px; max-height:420px; }
  .ps-decision-body dl > div { grid-template-columns:1fr; gap:4px; }
  .ps-raw-warning { align-items:flex-start; flex-direction:column; }
  .platter-scope-note,
  .platter-section-head { align-items:flex-start; flex-direction:column; }
  .platter-scope-note .actions { width:100%; }
  .platter-scope-note .btn { flex:1; }
  .platter-task-card { grid-template-columns:1fr; }
  .platter-product-image { min-height:0; aspect-ratio:16 / 9; }
  .platter-product-main dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .platter-product-main dl div:nth-child(2) { border-right:0; }
  .platter-product-main dl div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .platter-archive-toolbar { grid-template-columns:1fr; }
  .platter-detail-grid { grid-template-columns:1fr; }
  .platter-pagination { align-items:flex-start; flex-direction:column; }
  .platter-pagination-controls { justify-content:flex-start; }
  .platter-modal-materials { grid-template-columns:1fr; }
  .modal-panel.modal-archive { width:min(760px, calc(100vw - 28px)); }
  .modal-grid { grid-template-columns:1fr; }
}

/* Executive operations dashboards */
.executive-kpis {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  margin:0 0 14px;
}
.executive-kpis article {
  position:relative;
  min-width:0;
  min-height:142px;
  overflow:hidden;
  padding:22px 20px 18px;
  border:1px solid #dce7ee;
  border-radius:14px;
  background:linear-gradient(145deg,#fff 54%,#f5f9fb);
  box-shadow:0 10px 28px rgba(24,69,96,.07);
}
.executive-kpis article::before {
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:4px;
  background:var(--metric-accent,#137db5);
  content:"";
}
.executive-kpis article::after {
  position:absolute;
  top:-46px;
  right:-48px;
  width:128px;
  height:128px;
  border-radius:50%;
  background:color-mix(in srgb,var(--metric-accent,#137db5) 9%,transparent);
  content:"";
}
.executive-kpis .tone-blue { --metric-accent:#137db5; }
.executive-kpis .tone-green { --metric-accent:#20a270; }
.executive-kpis .tone-teal { --metric-accent:#23a9aa; }
.executive-kpis .tone-red { --metric-accent:#e66752; }
.executive-kpis .tone-gold { --metric-accent:#efb53d; }
.executive-kpis .tone-slate { --metric-accent:#657f91; }
.executive-kpis label {
  display:block;
  position:relative;
  z-index:1;
  color:#698093;
  font-size:13px;
  font-weight:800;
}
.executive-kpis b {
  display:block;
  position:relative;
  z-index:1;
  margin-top:9px;
  color:#113650;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.7px;
  overflow-wrap:anywhere;
}
.executive-kpis small {
  display:block;
  position:relative;
  z-index:1;
  margin-top:11px;
  color:#7d8f9e;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
}
.executive-context-strip {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin-bottom:14px;
  overflow:hidden;
  border:1px solid #dde7ed;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(24,69,96,.05);
}
.executive-context-strip > span {
  min-width:0;
  padding:14px 17px;
  border-right:1px solid #e6edf2;
}
.executive-context-strip > span:last-child { border-right:0; }
.executive-context-strip small,
.executive-context-strip b,
.executive-context-strip em { display:block; }
.executive-context-strip small {
  color:#7a8c9c;
  font-size:11px;
  font-weight:800;
}
.executive-context-strip b {
  margin-top:5px;
  color:#153b55;
  font-size:20px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.executive-context-strip em {
  margin-top:4px;
  color:#8796a3;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}
.ops-dashboard-section,
.monitor-dashboard-section,
.decision-detail-section {
  overflow:visible;
  border-color:#dbe6ec;
  background:linear-gradient(180deg,#f8fbfc,#f2f7f9);
  box-shadow:0 12px 36px rgba(23,63,88,.06);
}
.ops-section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:22px 22px 18px;
  border-bottom:1px solid #dfe9ee;
}
.ops-section-head > div { min-width:0; }
.ops-section-head small {
  display:block;
  margin-bottom:5px;
  color:#e4a92e;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.2px;
}
.ops-section-head h2 {
  margin:0;
  color:#102f47;
  font-size:22px;
}
.ops-section-head p {
  margin:6px 0 0;
  color:#708597;
  font-size:12px;
  line-height:1.5;
}
.ops-section-head > span {
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid #c8e0e8;
  border-radius:999px;
  background:#fff;
  color:#137e9b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.4px;
}
.ops-section-head.compact {
  padding:4px 2px 18px;
  border-bottom:0;
}
.ops-section-head.compact h2 { font-size:24px; }
.overview-primary-grid {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.72fr);
  gap:14px;
  padding:16px;
}
.ops-visual-card {
  min-width:0;
  padding:18px;
  border:1px solid #dce7ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 28px rgba(30,69,92,.055);
}

.prediction-backtest-section { display:grid; gap:16px; }
.prediction-backtest-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.prediction-backtest-kpis article { min-height:118px; }
.prediction-backtest-collecting {
  padding:16px 18px;
  border:1px solid #d8e7ef;
  border-radius:14px;
  background:linear-gradient(135deg,#f6fbfe,#fffaf0);
  color:#345267;
}
.prediction-backtest-collecting strong { display:block; margin-bottom:5px; color:#173b53; }
.prediction-backtest-collecting p { margin:0; line-height:1.7; }
.prediction-backtest-alert { padding:12px 16px; border-radius:12px; font-weight:700; }
.prediction-backtest-alert.tone-warning { background:#fff5d8; color:#875d00; }
.prediction-backtest-alert.tone-critical { background:#fff0ed; color:#ad3d2c; }
.prediction-backtest-table table { min-width:780px; }
.ops-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:15px;
}
.ops-card-head > span { min-width:0; }
.ops-card-head small,
.ops-card-head strong { display:block; }
.ops-card-head small {
  margin-bottom:4px;
  color:#8aa0af;
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}
.ops-card-head strong {
  color:#14354e;
  font-size:16px;
}
.ops-card-head > b {
  flex:0 0 auto;
  color:#6f8494;
  font-size:11px;
  font-weight:800;
}
.ops-donut-layout {
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-height:180px;
}
.ops-donut {
  width:136px;
  height:136px;
  display:grid;
  place-items:center;
  border-radius:50%;
  box-shadow:0 10px 26px rgba(31,90,118,.1);
}
.ops-donut > span {
  display:grid;
  justify-items:center;
}
.ops-donut b {
  color:#14364f;
  font-size:27px;
  line-height:1;
}
.ops-donut small {
  margin-top:6px;
  color:#8394a2;
  font-size:9px;
  font-weight:900;
  letter-spacing:.8px;
}
.ops-donut-legend { display:grid; gap:11px; }
.ops-donut-legend > div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#5c7182;
  font-size:12px;
}
.ops-donut-legend span {
  display:flex;
  min-width:0;
  align-items:center;
  gap:7px;
}
.ops-donut-legend i {
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:3px;
}
.ops-donut-legend b { color:#19384f; }
.boss-health-banner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:16px;
  padding:20px 22px;
  border:1px solid #d6e8eb;
  border-left:5px solid var(--health-accent,#1fa371);
  border-radius:13px;
  background:linear-gradient(100deg,#fff,#f3faf9);
}
.boss-health-banner.tone-danger { --health-accent:#e76853; background:linear-gradient(100deg,#fff,#fff6f3); }
.boss-health-banner.tone-watch { --health-accent:#e5aa32; background:linear-gradient(100deg,#fff,#fffbf1); }
.boss-health-banner.tone-good { --health-accent:#1fa371; }
.boss-health-banner > div:first-child { min-width:0; }
.boss-health-banner > div:first-child small {
  color:var(--health-accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}
.boss-health-banner > div:first-child strong {
  display:block;
  margin-top:5px;
  color:#15364e;
  font-size:22px;
}
.boss-health-banner p {
  margin:5px 0 0;
  color:#6f8190;
  font-size:12px;
}
.boss-health-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(86px,1fr));
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid #e1e9ee;
  border-radius:10px;
  background:#fff;
}
.boss-health-stats span {
  padding:10px 15px;
  border-right:1px solid #e6edf1;
  text-align:center;
}
.boss-health-stats span:last-child { border-right:0; }
.boss-health-stats small,
.boss-health-stats b { display:block; }
.boss-health-stats small { color:#8393a0; font-size:10px; font-weight:800; }
.boss-health-stats b { margin-top:3px; color:#16364d; font-size:20px; }
.boss-daily-section > .executive-kpis { padding:0 16px; }
.boss-daily-visual-grid {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(250px,.72fr));
  gap:14px;
  padding:2px 16px 16px;
}
.decision-overview-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.decision-kpi-card .ops-donut-layout { margin-top:6px; }
.decision-pulse-metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:16px;
  overflow:hidden;
  border:1px solid #e1eaef;
  border-radius:10px;
  background:#f8fbfc;
}
.decision-pulse-metrics > span {
  padding:13px;
  border-right:1px solid #e2eaf0;
}
.decision-pulse-metrics > span:last-child { border-right:0; }
.decision-pulse-metrics small,
.decision-pulse-metrics b { display:block; }
.decision-pulse-metrics small { color:#7f919e; font-size:10px; font-weight:800; }
.decision-pulse-metrics b { margin-top:4px; font-size:24px; }
.good { color:#169466 !important; }
.watch { color:#cf8e17 !important; }
.danger { color:#dc5e4b !important; }
.rate-bullet-list { display:grid; gap:13px; }
.rate-bullet-row { min-width:0; }
.rate-bullet-row > div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.rate-bullet-row strong {
  overflow:hidden;
  color:#254258;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rate-bullet-row b { font-size:12px; }
.rate-bullet-row > span {
  display:block;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eff3;
}
.rate-bullet-row > span i {
  display:block;
  height:100%;
  border-radius:inherit;
  background:#d4a23a;
}
.rate-bullet-row > span i.good { background:#25a874; }
.rate-bullet-row > span i.watch { background:#e4ab36; }
.rate-bullet-row > span i.danger { background:#e46b58; }
.rate-bullet-row small {
  display:block;
  margin-top:5px;
  overflow:hidden;
  color:#8796a2;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ops-card-note {
  margin:12px 0 0;
  color:#7d919f;
  font-size:10px;
  line-height:1.45;
}
.decision-detail-section { padding:20px; }
.decision-detail-table {
  margin-top:18px;
  border:1px solid #dce7ed;
  border-radius:12px;
  background:#fff;
}
.decision-detail-table > .salesperson-funnel-view,
.decision-detail-table > div:first-child { border-radius:inherit; }
.monitor-dashboard-section { margin-top:14px; }
.monitor-visual-grid {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:14px;
  padding:16px;
}
.monitor-column-chart { min-height:230px; }
.monitor-column-plot {
  height:198px;
  display:flex;
  align-items:stretch;
  gap:9px;
  padding:8px 4px 0;
  border-bottom:1px solid #dfe8ed;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 48px,#edf2f5 49px);
}
.monitor-column-item {
  min-width:22px;
  flex:1;
  display:grid;
  grid-template-rows:22px minmax(0,1fr) 22px;
  align-items:end;
  justify-items:center;
}
.monitor-column-item b {
  color:#426276;
  font-size:10px;
}
.monitor-column-item > span {
  width:min(30px,72%);
  height:100%;
  display:flex;
  align-items:flex-end;
}
.monitor-column-item i {
  width:100%;
  display:block;
  border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,#32b6c7,#137db5);
  box-shadow:0 7px 14px rgba(19,125,181,.16);
}
.monitor-column-item small {
  align-self:center;
  color:#81929e;
  font-size:9px;
  font-weight:800;
}
.monitor-column-chart .chart-legend {
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
}
.monitor-column-chart .chart-legend em {
  color:#93a0aa;
  font-size:10px;
  font-style:normal;
}
.monitor-month-chart { min-width:0; }
.monitor-month-chart-canvas {
  width:100%;
  min-height:260px;
  overflow:hidden;
  border-bottom:1px solid #e4ebef;
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.monitor-month-chart-canvas canvas {
  width:100%;
  height:260px;
  display:block;
}
.monitor-month-legend {
  display:flex;
  align-items:center;
  gap:17px;
  margin-top:10px;
  color:#617687;
  font-size:11px;
  font-weight:800;
}
.monitor-month-legend span {
  display:flex;
  align-items:center;
  gap:6px;
}
.monitor-month-legend i.daily {
  width:18px;
  height:7px;
  border-radius:3px;
  background:linear-gradient(90deg,#137db5,#31b8c7);
}
.monitor-month-legend i.cumulative {
  width:18px;
  height:3px;
  border-radius:999px;
  background:#e8ad36;
  box-shadow:6px 0 0 -1px #fff,6px 0 0 1px #e8ad36;
}
.monitor-month-legend em {
  margin-left:auto;
  color:#97a4ad;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}
.monitor-month-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:13px;
  overflow:hidden;
  border:1px solid #e4ebef;
  border-radius:10px;
  background:#f8fbfc;
}
.monitor-month-stats > span {
  padding:10px 13px;
  border-right:1px solid #e3ebef;
}
.monitor-month-stats > span:last-child { border-right:0; }
.monitor-month-stats small,
.monitor-month-stats b { display:block; }
.monitor-month-stats small {
  color:#81929f;
  font-size:9px;
  font-weight:800;
}
.monitor-month-stats b {
  margin-top:3px;
  color:#173a52;
  font-size:18px;
}
.monitor-month-stats b i {
  color:#82939f;
  font-size:10px;
  font-style:normal;
}
.monitor-daily-values {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(36px,1fr));
  gap:4px;
  margin-top:10px;
}
.monitor-daily-values > span {
  min-width:34px;
  padding:5px 3px;
  border:1px solid #e5ecef;
  border-radius:6px;
  background:#fff;
  text-align:center;
}
.monitor-daily-values > span.today {
  border-color:#83c8d4;
  background:#eefafb;
  box-shadow:inset 0 0 0 1px rgba(49,184,199,.12);
}
.monitor-daily-values small,
.monitor-daily-values b { display:block; }
.monitor-daily-values small {
  color:#8a9aa6;
  font-size:8px;
  font-weight:800;
}
.monitor-daily-values b {
  margin-top:2px;
  color:#24475d;
  font-size:11px;
}
.monitor-funnel { display:grid; gap:17px; padding:4px 0 0; }
.monitor-funnel-step > div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.monitor-funnel-step strong { color:#28475c; font-size:12px; }
.monitor-funnel-step b { color:#14374f; font-size:18px; }
.monitor-funnel-step > span {
  display:block;
  height:13px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e8eff3;
}
.monitor-funnel-step i {
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--funnel-color,#137db5);
}
.monitor-funnel-step.tone-blue { --funnel-color:#137db5; }
.monitor-funnel-step.tone-green { --funnel-color:#25a874; }
.monitor-funnel-step.tone-gold { --funnel-color:#efb53d; }
.monitor-funnel-step small {
  display:block;
  margin-top:5px;
  color:#8796a2;
  font-size:10px;
}
.business-funnel-section > h2,
.business-actions-section > h2,
.business-chart-section > .ops-section-head {
  border-bottom:1px solid #e1e9ee;
}
.business-funnel {
  padding:18px;
  gap:14px;
  background:linear-gradient(180deg,#f9fcfd,#f3f8fa);
}
.funnel-step {
  border-radius:12px;
  box-shadow:0 7px 18px rgba(25,65,89,.045);
}
.business-chart-grid { padding:18px; gap:14px; background:linear-gradient(180deg,#f9fcfd,#f3f8fa); }
.chart-panel { border-radius:12px; box-shadow:0 7px 18px rgba(25,65,89,.045); }

.competitor-region-tabs {
  margin:0 0 12px;
  padding:6px;
  width:max-content;
  max-width:100%;
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#edf5f8;
}
.competitor-region-tabs button {
  min-width:145px;
  justify-content:center;
  cursor:pointer;
}

.competitor-filter-controls { margin-bottom:14px; }
.competitor-filter-controls .competitor-toolbar { margin-bottom:0; }
.competitor-workspace-nav {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 12px;
  padding:6px;
  border:1px solid #dbe7ec;
  border-radius:15px;
  background:#f1f6f8;
}
.competitor-workspace-nav.competitor-source-aware { grid-template-columns:repeat(4,minmax(0,1fr)); }
.competitor-workspace-nav button {
  position:relative;
  display:grid;
  min-width:0;
  gap:3px;
  min-height:70px;
  padding:13px 48px 12px 14px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#234a60;
  text-align:left;
  cursor:pointer;
}
.competitor-workspace-nav button span { font-size:14px; font-weight:900; }
.competitor-workspace-nav button small {
  overflow:hidden;
  color:#78909c;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-workspace-nav button b {
  position:absolute;
  top:50%;
  right:14px;
  min-width:28px;
  padding:5px 7px;
  border-radius:999px;
  background:#e0ecef;
  color:#4b6d7a;
  font-size:10px;
  text-align:center;
  transform:translateY(-50%);
}
.competitor-workspace-nav button:hover { background:#fff; }
.competitor-workspace-nav button.active {
  border-color:#b9d8df;
  background:#fff;
  box-shadow:0 6px 18px rgba(25,75,97,.08);
}
.competitor-workspace-nav button.active span { color:#087c91; }
.competitor-workspace-nav.admin button.active span { color:#155c87; }
.competitor-radar-brief,
.competitor-operations-brief {
  display:grid;
  grid-template-columns:minmax(280px,1.4fr) auto auto;
  align-items:center;
  gap:18px;
  margin:0 0 14px;
  padding:16px 18px;
  border:1px solid #c9e2e6;
  border-radius:13px;
  background:linear-gradient(135deg,#f3fbfa,#f5f9fc);
}
.competitor-radar-brief > div,
.competitor-operations-brief > div { display:grid; gap:3px; }
.competitor-radar-brief small,
.competitor-operations-brief small { color:#15919a; font-size:9px; font-weight:900; letter-spacing:.1em; }
.competitor-radar-brief strong,
.competitor-operations-brief strong { color:#174f65; font-size:15px; }
.competitor-radar-brief span,
.competitor-operations-brief span { color:#6f8792; font-size:10px; line-height:1.5; }
.competitor-radar-brief dl,
.competitor-operations-brief dl { display:grid; grid-template-columns:repeat(3,78px); gap:7px; margin:0; }
.competitor-radar-brief dl div,
.competitor-operations-brief dl div { padding:8px; border-radius:9px; background:#fff; text-align:center; }
.competitor-radar-brief dt,
.competitor-operations-brief dt { color:#0b7f96; font-size:17px; font-weight:900; }
.competitor-radar-brief dd,
.competitor-operations-brief dd { margin:2px 0 0; color:#78909b; font-size:8px; }
.competitor-radar-brief.needs-preference { border-style:dashed; }
.competitor-management-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 12px;
}
.competitor-management-tabs button {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid #d7e4e9;
  border-radius:999px;
  background:#fff;
  color:#536e7b;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.competitor-management-tabs button b { color:#8497a0; font-size:9px; }
.competitor-management-tabs button.active { border-color:#258ba2; background:#eaf7f8; color:#146d81; }
.competitor-management-insight { margin:0 0 12px; border:1px solid #dce7eb; border-radius:10px; background:#f8fbfc; }
.competitor-management-insight > summary { padding:10px 12px; color:#55717e; font-size:10px; font-weight:850; cursor:pointer; }
.competitor-management-insight .competitor-effectiveness-panel { margin:0; border:0; border-top:1px solid #e1eaed; border-radius:0 0 10px 10px; }
.competitor-operations-brief { margin-bottom:14px; border-color:#d8e2e8; background:linear-gradient(135deg,#f7f9fb,#eef5f8); }
.competitor-mission-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
.competitor-mission-nav button {
  position:relative;
  display:grid;
  min-width:0;
  gap:5px;
  min-height:72px;
  padding:15px 48px 14px 16px;
  border:1px solid #d8e5eb;
  border-radius:13px;
  background:#fff;
  color:#173e54;
  text-align:left;
  cursor:pointer;
}
.competitor-mission-nav button strong { font-size:14px; line-height:1.25; }
.competitor-mission-nav button span {
  overflow:hidden;
  color:#7b909b;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-mission-nav button b {
  position:absolute;
  top:50%;
  right:14px;
  min-width:28px;
  padding:5px 7px;
  border-radius:999px;
  background:#edf4f7;
  color:#4b6b7b;
  font-size:11px;
  text-align:center;
  transform:translateY(-50%);
}
.competitor-mission-nav button.active {
  border-color:#1687a8;
  background:linear-gradient(135deg,#0d6ca8,#159b96);
  color:#fff;
  box-shadow:0 7px 18px rgba(13,108,168,.16);
}
.competitor-mission-nav button.active span { color:rgba(255,255,255,.78); }
.competitor-mission-nav button.active b { background:rgba(255,255,255,.2); color:#fff; }
.competitor-task-workbench {
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(480px,1.6fr);
  gap:16px;
  margin:0 0 12px;
  padding:15px;
  border:1px solid #cfe3e8;
  border-radius:12px;
  background:linear-gradient(135deg,#0d4364,#0b7181);
  color:#fff;
}
.competitor-task-workbench > div { display:grid; align-content:center; gap:3px; }
.competitor-task-workbench small { color:#62d9d6; font-size:8px; font-weight:900; letter-spacing:.11em; }
.competitor-task-workbench strong { font-size:16px; }
.competitor-task-workbench > div span { color:rgba(255,255,255,.68); font-size:9px; }
.competitor-task-workbench dl { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin:0; }
.competitor-task-workbench button {
  display:grid;
  place-items:center;
  gap:2px;
  min-width:0;
  padding:9px 5px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:9px;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}
.competitor-task-workbench dt { font-size:17px; font-weight:900; }
.competitor-task-workbench dd { margin:0; color:rgba(255,255,255,.72); font-size:8px; }
.competitor-task-workbench.has-overdue button[data-competitor-mission-view="overdue"] {
  border-color:#ffc35e;
  background:#f3aa29;
  color:#173f56;
}
.competitor-personalization-panel,
.competitor-effectiveness-panel {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid #cfe4e8;
  border-radius:11px;
  background:linear-gradient(135deg,#f2fbfa,#f5f9fd);
}
.competitor-effectiveness-panel { flex-wrap:wrap; }
.competitor-outcome-categories {
  display:flex;
  flex:1 1 100%;
  align-items:center;
  gap:7px;
  padding-top:8px;
  border-top:1px solid #d7e8eb;
}
.competitor-outcome-categories > small { color:#6a8290; font-weight:900; }
.competitor-outcome-categories > span {
  padding:5px 8px;
  border-radius:999px;
  background:#fff;
  color:#617b89;
  font-size:9px;
}
.competitor-outcome-categories b { margin-right:4px; color:#1d5369; }
.competitor-personalization-panel > div:first-child { display:grid; gap:3px; margin-right:auto; }
.competitor-personalization-panel strong { color:#18566d; font-size:12px; }
.competitor-personalization-panel > div:first-child span { color:#718895; font-size:9px; }
.competitor-personalization-panel > div:first-child small { color:#5f7e8a; font-size:8px; }
.competitor-personalization-panel > div:first-child .btn {
  justify-self:start;
  margin-top:3px;
}
.competitor-personalization-panel.learning { border-style:dashed; }
.competitor-product-request-panel {
  display:grid;
  gap:18px;
  margin:0 0 18px;
  padding:20px;
  border:1px solid #b5dce4;
  border-radius:16px;
  background:linear-gradient(145deg,#edf9fb 0%,#f8fbfd 52%,#fff 100%);
  box-shadow:0 8px 26px rgba(25,92,118,.07);
}
.competitor-product-request-intro { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(560px,1.65fr) auto; align-items:center; gap:18px; }
.competitor-product-request-copy { display:grid; gap:5px; }
.competitor-product-request-copy small { color:#11879b; font-size:10px; font-weight:900; letter-spacing:.11em; }
.competitor-product-request-copy strong { color:#114b64; font-size:20px; line-height:1.3; }
.competitor-product-request-copy span { color:#607b89; font-size:12px; line-height:1.6; }
.competitor-product-request-create { min-height:48px; padding:0 20px; white-space:nowrap; }
.competitor-request-mode-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.competitor-request-mode-shortcuts button { display:grid; gap:5px; min-width:0; min-height:72px; padding:12px 14px; border:1px solid #c7e0e6; border-radius:11px; background:#fff; color:#214f66; text-align:left; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.competitor-request-mode-shortcuts button:hover { border-color:#1591a0; box-shadow:0 7px 18px rgba(16,123,145,.12); transform:translateY(-1px); }
.competitor-request-mode-shortcuts b { font-size:12px; line-height:1.35; }
.competitor-request-mode-shortcuts span { color:#738b97; font-size:10px; line-height:1.4; }
.competitor-product-request-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:16px; border-top:1px solid #d7e8ec; }
.competitor-product-request-list-heading { display:flex; grid-column:1 / -1; align-items:flex-end; justify-content:space-between; gap:18px; padding:0 2px; }
.competitor-product-request-list-heading > div { display:grid; gap:3px; }
.competitor-product-request-list-heading strong { color:#173f54; font-size:16px; }
.competitor-product-request-list-heading span,.competitor-product-request-list-heading small { color:#728a96; font-size:11px; }
.competitor-product-request-list article {
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:start;
  gap:14px;
  min-width:0;
  padding:16px;
  border:1px solid #d4e6eb;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 18px rgba(28,83,105,.06);
}
.competitor-product-request-media { display:grid; place-items:center; }
.competitor-product-request-list img,.competitor-product-request-placeholder { width:70px; height:70px; border-radius:12px; object-fit:cover; }
.competitor-product-request-placeholder { display:grid; place-items:center; background:linear-gradient(145deg,#dff2f4,#eef8f9); color:#168297; font-size:12px; font-weight:900; }
.competitor-product-request-body { display:grid; min-width:0; gap:7px; }
.competitor-product-request-list article header { display:flex; align-items:flex-start; gap:8px; min-width:0; }
.competitor-product-request-list article header strong { flex:1; }
.competitor-product-request-list article header i { flex:none; padding:5px 8px; border-radius:999px; background:#edf7f8; color:#168297; font-size:9px; font-style:normal; font-weight:850; white-space:nowrap; }
.competitor-product-request-list article header strong { min-width:0; overflow:hidden; color:#173f54; font-size:14px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.competitor-product-request-meta { margin:0; overflow:hidden; color:#6f8793; font-size:11px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.competitor-product-request-status { display:flex; align-items:center; gap:8px; min-width:0; }
.competitor-product-request-status b { flex:none; color:#138094; font-size:11px; }
.competitor-product-request-status span { min-width:0; overflow:hidden; color:#68828f; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.competitor-request-result-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:2px; }
.competitor-request-result-title em { color:#137f92; font-size:11px; font-style:normal; font-weight:900; }
.competitor-request-result-title small { color:#84969f; font-size:9px; }
.competitor-request-empty { padding:12px; border-radius:9px; background:#f5f9fa; color:#6f8793; font-size:11px; line-height:1.5; }
.competitor-request-matches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; min-width:0; }
.competitor-request-matches button { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:3px 6px; min-width:0; padding:8px 9px; border:1px solid #c5dfe5; border-radius:9px; background:#f3fafb; color:#08758e; font:inherit; text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.competitor-request-matches button b { grid-row:1 / span 2; align-self:center; padding:3px 5px; border-radius:999px; background:#16879b; color:#fff; font-size:8px; white-space:nowrap; }
.competitor-request-matches button > span { min-width:0; overflow:hidden; font-size:10px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.competitor-request-matches button > small { color:#6b8491; font-size:8px; font-weight:750; }
.competitor-request-matches button:hover { border-color:#168ba0; background:#e7f7f8; transform:translateY(-1px); }
.competitor-request-materials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; min-width:0; }
.competitor-request-materials a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:6px; min-width:0; padding:8px 9px; border:1px solid #add8cf; border-radius:9px; background:#effaf7; color:#08758e; text-decoration:none; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.competitor-request-materials a b { padding:3px 6px; border-radius:999px; background:#169a7b; color:#fff; font-size:8px; white-space:nowrap; }
.competitor-request-materials a span { min-width:0; overflow:hidden; font-size:10px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.competitor-request-materials a small { color:#5d8077; font-size:8px; font-weight:750; white-space:nowrap; }
.competitor-request-materials a:hover { border-color:#138f76; background:#e2f6f1; transform:translateY(-1px); }
.competitor-request-progress { height:6px; overflow:hidden; border-radius:999px; background:#e6eff2; }
.competitor-request-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0f7da7,#16aa92); }
.competitor-preference-editor { display:grid; gap:12px; }
.competitor-preference-editor > small { color:#16829a; font-weight:900; letter-spacing:.12em; }
.competitor-preference-editor h2,
.competitor-preference-editor p { margin:0; }
.competitor-preference-editor p { color:#687f8e; font-size:13px; line-height:1.55; }
.competitor-preference-editor form { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.competitor-preference-editor form > button,
.competitor-preference-editor form > .form-error { grid-column:1 / -1; }
.competitor-preference-editor fieldset {
  margin:0;
  padding:10px 12px 12px;
  border:1px solid #d9e7ec;
  border-radius:10px;
}
.competitor-preference-editor legend { padding:0 5px; color:#214f66; font-size:12px; font-weight:900; }
.competitor-preference-editor fieldset > div { display:flex; flex-wrap:wrap; gap:7px; }
.competitor-preference-editor fieldset label {
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border:1px solid #d8e6ea;
  border-radius:999px;
  background:#f7fbfc;
  color:#375d70;
  font-size:11px;
  font-weight:800;
}
.competitor-product-request-editor { display:grid; gap:12px; }
.competitor-product-request-editor > small { color:#16829a; font-weight:900; letter-spacing:.12em; }
.competitor-product-request-editor h2,
.competitor-product-request-editor p { margin:0; }
.competitor-product-request-editor p { color:#687f8e; font-size:13px; line-height:1.55; }
.competitor-product-request-editor form { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.competitor-product-request-editor .field { display:grid; gap:5px; }
.competitor-product-request-editor .field label,
.competitor-product-request-editor legend { color:#214f66; font-size:12px; font-weight:900; }
.competitor-product-request-editor input:not([type="checkbox"]):not([type="radio"]),
.competitor-product-request-editor textarea {
  width:100%;
  height:auto;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #d2e2e8;
  border-radius:9px;
  line-height:1.4;
}
.competitor-product-request-editor textarea { min-height:88px; resize:vertical; }
.competitor-product-request-editor input[type="checkbox"],
.competitor-product-request-editor input[type="radio"] {
  flex:0 0 auto;
  width:16px;
  height:16px;
  min-height:0;
  margin:0;
  padding:0;
  accent-color:#118aa0;
}
.competitor-product-request-editor fieldset { margin:0; padding:10px 12px 12px; border:1px solid #d9e7ec; border-radius:10px; }
.competitor-product-request-editor fieldset > div { display:flex; flex-wrap:wrap; gap:7px; }
.competitor-product-request-editor fieldset label { display:flex; align-items:center; gap:5px; padding:6px 8px; border:1px solid #d8e6ea; border-radius:999px; background:#f7fbfc; color:#375d70; font-size:11px; font-weight:800; }
.competitor-product-request-editor form > button,
.competitor-product-request-editor form > .form-error { grid-column:1 / -1; }
.competitor-request-file-name { color:#78909b; font-size:9px; }
.competitor-product-request-editor .wide { grid-column:1 / -1; }
.competitor-request-brief { display:grid; grid-column:1 / -1; gap:4px; padding:12px 14px; border:1px solid #9ed7d5; border-radius:10px; background:#edfafa; }
.competitor-request-brief small { color:#118796; font-size:8px; font-weight:900; letter-spacing:.1em; }
.competitor-request-brief strong { color:#123f55; font-size:14px; }
.competitor-request-brief p,.competitor-request-brief span { margin:0; color:#5d7784; font-size:10px; line-height:1.5; }
.competitor-finder-launcher,.competitor-finder-assist { display:grid; gap:12px; }
.competitor-finder-launcher > small,.competitor-finder-assist > small { color:#14889b; font-weight:900; letter-spacing:.12em; }
.competitor-finder-launcher h2,.competitor-finder-launcher p,.competitor-finder-assist h2,.competitor-finder-assist p { margin:0; }
.competitor-finder-launcher p,.competitor-finder-assist p { color:#657e8b; line-height:1.55; }
.competitor-finder-modes,.competitor-finder-assist > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.competitor-finder-modes button,.competitor-finder-assist > div button { display:grid; align-content:start; gap:6px; min-height:150px; padding:16px; border:1px solid #d4e6ea; border-radius:12px; background:linear-gradient(145deg,#fff,#f2fafb); color:#163f55; text-align:left; cursor:pointer; }
.competitor-finder-modes button:hover,.competitor-finder-assist > div button:hover { border-color:#1695a1; transform:translateY(-1px); box-shadow:0 8px 20px rgba(18,119,144,.12); }
.competitor-finder-modes b,.competitor-finder-assist > div b { color:#1aa0a5; font-size:18px; }
.competitor-finder-modes strong,.competitor-finder-assist > div strong { font-size:15px; }
.competitor-finder-modes span,.competitor-finder-assist > div span { color:#6d8490; font-size:10px; line-height:1.5; }
.competitor-finder-modes em { margin-top:auto; color:#117ca0; font-size:10px; font-style:normal; font-weight:900; }
.competitor-quick-claim,.competitor-skip-correction { display:grid; min-width:0; gap:12px; }
.competitor-quick-claim > small,.competitor-skip-correction > small { color:#14889b; font-weight:900; letter-spacing:.12em; }
.competitor-quick-claim h2,.competitor-quick-claim p,.competitor-skip-correction h2,.competitor-skip-correction p { margin:0; }
.competitor-quick-claim h2 { padding-right:48px; overflow-wrap:anywhere; }
.competitor-quick-claim p,.competitor-skip-correction p { color:#667e8b; line-height:1.55; }
.competitor-quick-claim form { display:grid; gap:10px; }
.competitor-quick-claim form > label { display:grid; min-width:0; gap:6px; color:#214f66; font-weight:850; line-height:1.35; }
.competitor-quick-claim select,.competitor-quick-claim input {
  display:block;
  width:100%;
  height:auto;
  min-height:48px;
  padding:11px 12px;
  border:1px solid #d2e2e8;
  border-radius:9px;
  line-height:1.4;
}
.competitor-quick-claim select { padding-right:38px; }
.competitor-quick-claim-price { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:11px 12px; border-radius:9px; background:#edf8f8; }
.competitor-quick-claim-price span { color:#6c8490; }
.competitor-quick-claim-price strong { min-width:0; color:#137a8e; text-align:right; overflow-wrap:anywhere; }
.competitor-quick-claim-actions,.competitor-skip-correction > div { display:flex; flex-wrap:wrap; gap:8px; }
@media (max-width:1280px) {
  .competitor-product-request-intro { grid-template-columns:1fr; }
  .competitor-product-request-create { justify-self:start; }
  .competitor-product-request-list { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .competitor-preference-editor form { grid-template-columns:1fr; }
  .competitor-preference-editor form > button,
  .competitor-preference-editor form > .form-error { grid-column:auto; }
  .competitor-product-request-panel { padding:14px; }
  .competitor-product-request-list { grid-template-columns:1fr; }
  .competitor-product-request-list-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .competitor-product-request-list article { grid-template-columns:54px minmax(0,1fr); padding:12px; }
  .competitor-product-request-list img,.competitor-product-request-placeholder { width:54px; height:54px; }
  .competitor-request-matches { grid-template-columns:1fr; }
  .competitor-request-materials { grid-template-columns:1fr; }
  .competitor-product-request-editor form { grid-template-columns:1fr; }
  .competitor-product-request-editor form > button,
  .competitor-product-request-editor form > .form-error { grid-column:auto; }
  .competitor-product-request-editor .wide,.competitor-request-brief { grid-column:auto; }
  .competitor-request-mode-shortcuts,.competitor-finder-modes,.competitor-finder-assist > div { grid-template-columns:1fr; }
  .competitor-finder-modes button,.competitor-finder-assist > div button { min-height:0; }
}
.competitor-daily-quota {
  display:grid;
  gap:2px;
  min-width:260px;
  padding:8px 11px;
  border:1px solid #c9e5e5;
  border-radius:9px;
  background:rgba(255,255,255,.82);
}
.competitor-daily-quota span {
  display:flex;
  align-items:baseline;
  gap:5px;
  color:#3f6977;
  font-size:9px;
  font-weight:800;
}
.competitor-daily-quota span b { color:#087c94; font-size:18px; line-height:1; }
.competitor-daily-quota em {
  color:#365f6d;
  font-size:9px;
  font-style:normal;
  font-weight:750;
}
.competitor-daily-quota small { color:#81949e; font-size:8px; }
.competitor-personalization-mix { display:grid; grid-template-columns:auto auto; align-items:baseline; gap:1px 5px; }
.competitor-personalization-mix b { color:#118b93; font-size:15px; }
.competitor-personalization-mix span { color:#718895; font-size:8px; }
.competitor-preference-tags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.competitor-preference-tags span { padding:5px 8px; border-radius:999px; background:#fff; color:#496d7b; font-size:8px; font-weight:750; }
.competitor-effectiveness-panel { align-items:stretch; flex-direction:column; border-color:#dbe5ea; background:#f8fafb; }
.competitor-effectiveness-panel > div { margin-right:0; }
.competitor-effectiveness-panel small { color:#80929c; font-size:8px; }
.competitor-effectiveness-panel strong { color:#173f56; font-size:11px; }
.competitor-funnel-title { display:flex; align-items:baseline; gap:9px; }
.competitor-funnel-title strong { margin-right:auto; }
.competitor-funnel-title span { color:#65808d; font-size:8px; }
.competitor-funnel-stages { display:grid; grid-template-columns:repeat(11,auto); align-items:center; justify-content:space-between; gap:6px; }
.competitor-funnel-stages span { display:grid; gap:1px; min-width:72px; color:#718895; font-size:8px; text-align:center; }
.competitor-funnel-stages span b { color:#0b789f; font-size:15px; }
.competitor-funnel-stages i { color:#a7bac3; font-style:normal; }
.competitor-funnel-alerts { display:flex; flex-wrap:wrap; gap:6px; }
.competitor-funnel-alerts span { padding:5px 8px; border-radius:999px; background:#fff; color:#67808c; font-size:8px; }
.competitor-funnel-alerts span.warn { background:#fff0df; color:#b46118; }
.competitor-advanced-filters {
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#f8fbfc;
}
.competitor-advanced-filters > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 13px;
  color:#3f6172;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}
.competitor-advanced-filters > summary::-webkit-details-marker { display:none; }
.competitor-advanced-filters > summary span { color:#8a9aa3; font-size:8px; font-weight:650; }
.competitor-advanced-filters[open] > summary { border-bottom:1px solid #dfe9ee; }
.competitor-advanced-filters .competitor-toolbar { border:0; border-radius:0 0 11px 11px; }
.competitor-filter-floating {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:58;
  display:flex;
  align-items:center;
  gap:8px;
  opacity:0;
  pointer-events:none;
  transform:translateY(14px);
  transition:opacity .16s ease, transform .16s ease;
}
.competitor-filter-floating.is-visible {
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.competitor-filter-fab,
.competitor-filter-top {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px solid #0d679e;
  border-radius:23px;
  background:#0d6ca8;
  color:#fff;
  font-family:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1;
  box-shadow:0 8px 22px rgba(12,74,111,.24);
  cursor:pointer;
}
.competitor-filter-fab { gap:8px; padding:0 18px; }
.competitor-filter-fab b {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:11px;
  background:#fff;
  color:#0d679e;
  font-size:11px;
}
.competitor-filter-top {
  width:46px;
  padding:0;
  border-color:#d4e1e8;
  background:#fff;
  color:#31586f;
  font-size:20px;
}
.competitor-filter-drawer {
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  justify-content:flex-end;
  visibility:hidden;
  background:rgba(13,39,56,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, visibility .16s ease;
}
.competitor-filter-drawer.is-open {
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.competitor-filter-drawer > aside {
  width:min(520px,calc(100vw - 24px));
  height:100%;
  padding:20px;
  overflow-y:auto;
  background:#f6fafc;
  box-shadow:-16px 0 40px rgba(13,49,72,.2);
  transform:translateX(100%);
  transition:transform .2s ease;
}
.competitor-filter-drawer.is-open > aside { transform:translateX(0); }
.competitor-filter-drawer > aside > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.competitor-filter-drawer > aside > header div { display:grid; gap:4px; }
.competitor-filter-drawer > aside > header strong { color:#123b55; font-size:22px; }
.competitor-filter-drawer > aside > header span { color:#718693; font-size:12px; }
.competitor-filter-drawer > aside > header button {
  width:38px;
  height:38px;
  border:1px solid #d8e4ea;
  border-radius:10px;
  background:#fff;
  color:#355b70;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.competitor-filter-drawer-regions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:14px;
  padding:5px;
  border:1px solid #dce7ed;
  border-radius:12px;
  background:#eaf3f7;
}
.competitor-filter-drawer-regions button {
  min-height:40px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#31586f;
  font-weight:800;
  cursor:pointer;
}
.competitor-filter-drawer-regions button.active {
  background:#0d6ca8;
  color:#fff;
}
.competitor-drawer-toolbar {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  gap:12px;
  padding:16px;
  border:1px solid #dce7ed;
  border-radius:14px;
  background:#fff;
}
.competitor-drawer-toolbar .field { min-width:0; }
.competitor-drawer-toolbar .field.keyword { grid-column:1 / -1; }

.competitor-toolbar {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px;
  padding:16px;
  margin-bottom:14px;
  overflow:visible;
  border:1px solid #dfe8ee;
  border-radius:13px;
  background:#fff;
}
.competitor-toolbar .field { min-width:135px; }
.competitor-toolbar .field.keyword { min-width:220px; flex:1; }
.competitor-toolbar .field.compact { min-width:105px; }
.competitor-toolbar label,
.competitor-token-form label { display:grid; gap:6px; color:#647987; font-size:11px; font-weight:800; }
.competitor-toolbar select,
.competitor-toolbar input {
  height:38px;
  padding:0 11px;
  border:1px solid #d6e1e7;
  border-radius:8px;
  background:#fff;
  color:#19394f;
}
.competitor-country-coverage {
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 7px;
  border-radius:999px;
  background:#edf6fa;
  color:#427086;
  font-size:9px;
  font-weight:800;
}
.competitor-kpis {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:16px;
  margin-bottom:18px;
}
.competitor-kpis.personal {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.competitor-kpis article,
.competitor-kpis button {
  min-height:122px;
  padding:20px;
  border:1px solid #dfe8ee;
  border-radius:15px;
  background:linear-gradient(145deg,#fff,#f7fbfd);
  box-shadow:0 7px 20px rgba(27,68,92,.045);
  text-align:left;
}
.competitor-kpis small,
.competitor-kpis strong,
.competitor-kpis span { display:block; }
.competitor-kpis small { color:#657c8b; font-size:13px; font-weight:800; }
.competitor-kpis strong { margin:10px 0 6px; color:#133b58; font-size:32px; line-height:1; }
.competitor-kpis span { color:#7d919d; font-size:11px; line-height:1.45; }
.competitor-kpi-action { font:inherit; cursor:pointer; }
.competitor-kpi-action:hover,
.competitor-kpi-action:focus-visible,
.competitor-kpi-action.active {
  border-color:#6eb4cf;
  background:linear-gradient(145deg,#f6fcff,#eaf7fb);
  box-shadow:0 0 0 3px rgba(44,143,181,.12),0 10px 24px rgba(27,68,92,.08);
  outline:none;
}
.competitor-kpi-action.personal {
  min-height:92px;
}
.competitor-kpi-action.personal small::after {
  content:"可点击";
  display:inline-flex;
  margin-left:7px;
  padding:2px 6px;
  border-radius:999px;
  background:#e7f5fb;
  color:#1680aa;
  font-size:8px;
  vertical-align:middle;
}
.competitor-kpi-action span { color:#197ba3; font-weight:750; }
.competitor-collector-notice {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
  padding:15px 17px;
  border:1px solid #bfe6db;
  border-left:4px solid #20a57a;
  border-radius:11px;
  background:#f0fbf7;
}
.competitor-collector-notice > div:first-child { display:grid; gap:4px; }
.competitor-collector-notice strong { color:#14654e; font-size:13px; }
.competitor-collector-notice span { color:#4d7468; font-size:11px; }
.competitor-collector-notice > div:last-child { display:flex; gap:8px; white-space:nowrap; }
.competitor-collection-health {
  display:grid;
  gap:12px;
  margin-bottom:14px;
  padding:16px;
  border:1px solid #d7e5eb;
  border-left:4px solid #2c93ad;
  border-radius:12px;
  background:linear-gradient(145deg,#fff,#f5fafc);
}
.competitor-collection-health.tone-healthy { border-left-color:#20a57a; background:linear-gradient(145deg,#fff,#f1fbf7); }
.competitor-collection-health.tone-waiting { border-left-color:#4d9fbd; }
.competitor-collection-health.tone-warning { border-left-color:#e4a93e; background:linear-gradient(145deg,#fff,#fff9ed); }
.competitor-collection-health.tone-critical { border-left-color:#d95b62; background:linear-gradient(145deg,#fff,#fff3f3); }
.competitor-collection-health header,
.competitor-collection-health footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.competitor-collection-health header > div { display:grid; gap:3px; }
.competitor-collection-health header small { color:#6c8794; font-size:9px; font-weight:900; letter-spacing:.09em; }
.competitor-collection-health header strong { color:#174f65; font-size:16px; }
.competitor-collection-health header span,
.competitor-collection-health footer { color:#6d8490; font-size:10px; }
.competitor-collection-health header > b { padding:6px 10px; border-radius:999px; background:#eaf4f7; color:#287a91; font-size:11px; white-space:nowrap; }
.competitor-collection-health-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.competitor-collection-health-grid article { min-width:0; padding:10px; border:1px solid #e0eaee; border-radius:9px; background:rgba(255,255,255,.86); }
.competitor-collection-health-grid label,
.competitor-collection-health-grid b,
.competitor-collection-health-grid small { display:block; }
.competitor-collection-health-grid label { color:#708692; font-size:9px; font-weight:800; }
.competitor-collection-health-grid b { margin:5px 0 3px; color:#174f65; font-size:17px; }
.competitor-collection-health-grid small { overflow:hidden; color:#81939c; font-size:8px; line-height:1.4; text-overflow:ellipsis; }
.competitor-collection-issues { display:flex; flex-wrap:wrap; gap:6px; }
.competitor-collection-issues span { padding:5px 8px; border-radius:999px; background:#fff3dc; color:#99640d; font-size:9px; font-weight:750; }
.competitor-collection-issues span.critical { background:#ffe9e9; color:#b44149; }
.competitor-collection-issues span.healthy { background:#e7f8f1; color:#18765b; }
.competitor-collection-health footer { justify-content:flex-start; flex-wrap:wrap; }
.competitor-collection-health footer span + span::before { content:"·"; margin-right:12px; color:#b0bec5; }
.competitor-device-state { display:inline-flex; margin-left:5px; padding:2px 6px; border-radius:999px; background:#edf2f4; color:#687e88; font-size:8px; font-style:normal; }
.competitor-device-state.tone-healthy { background:#e5f7ef; color:#157257; }
.competitor-device-state.tone-waiting { background:#e9f4f8; color:#25748e; }
.competitor-device-state.tone-warning { background:#fff3dc; color:#96620f; }
.competitor-device-state.tone-offline { background:#ffe9e9; color:#ad3e46; }
.competitor-section { margin-bottom:14px; }
.competitor-section > h2 {
  display:flex;
  align-items:center;
  gap:8px;
  padding-bottom:13px;
  border-bottom:1px solid #e3ebef;
}
.competitor-section > h2 span { color:#7f939f; font-size:11px; font-weight:700; }
.competitor-section > h2 > button { margin-left:auto; flex:0 0 auto; }
.competitor-priority-section { border-top:3px solid #188fac; }
.competitor-section-hint {
  margin:14px 0 0;
  padding:10px 12px;
  border-left:3px solid #7eb5c8;
  background:#f4f9fb;
  color:#607d8d;
  font-size:10px;
  line-height:1.5;
}
.competitor-stage-filter {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:-2px 0 14px;
}
.competitor-stage-filter button {
  padding:7px 11px;
  border:1px solid #d7e4ea;
  border-radius:999px;
  background:#f8fbfc;
  color:#557181;
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.competitor-stage-filter button.active {
  border-color:#2a99ad;
  background:#e8f7f8;
  color:#127488;
}
.competitor-discovery-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(285px,1fr));
  gap:12px;
}
.competitor-discovery-card {
  display:grid;
  gap:12px;
  min-width:0;
  padding:15px;
  border:1px solid #d9e7ec;
  border-top:3px solid #28a6ad;
  border-radius:12px;
  background:linear-gradient(150deg,#fff,#f8fcfc);
  box-shadow:0 8px 22px rgba(27,68,92,.05);
  content-visibility:auto;
  contain-intrinsic-size:620px;
}
.competitor-discovery-card > header,
.competitor-discovery-card > header > div,
.competitor-discovery-card > footer {
  display:flex;
  align-items:center;
}
.competitor-discovery-card > header,
.competitor-discovery-card > footer { justify-content:space-between; gap:10px; }
.competitor-discovery-card > header > div { min-width:0; gap:9px; }
.competitor-discovery-card > header > div > div { display:grid; min-width:0; gap:2px; }
.competitor-discovery-card header strong {
  overflow:hidden;
  color:#15394e;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-discovery-card header small { color:#84949e; font-size:9px; }
.competitor-discovery-badge {
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#e9f8f5;
  color:#168072;
  font-size:9px;
  font-weight:800;
}
.competitor-discovery-badge.emerging { background:#e9f8f5; color:#168072; }
.competitor-discovery-badge.validated { background:#e8f1ff; color:#2467aa; }
.competitor-discovery-badge.saturated { background:#fff0e6; color:#b45a12; }
.competitor-discovery-badge.observing { background:#f0f3f5; color:#607680; }
.competitor-discovery-badges {
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.competitor-business-tier {
  padding:5px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
}
.competitor-business-tier.tier-a { background:#e5f7ed; color:#157349; }
.competitor-business-tier.tier-b { background:#e9f2ff; color:#2d68a1; }
.competitor-business-tier.tier-c { background:#f0f3f5; color:#687c86; }
.competitor-personal-badge {
  padding:5px 8px;
  border-radius:999px;
  background:#eef3f6;
  color:#5d7480;
  font-size:9px;
  font-weight:850;
}
.competitor-personal-badge.want_test,
.competitor-personal-badge.testing { background:#e7f1ff; color:#2467aa; }
.competitor-personal-badge.favorite { background:#fff3d9; color:#8a6518; }
.competitor-personal-badge.completed { background:#e5f7ed; color:#157349; }
.competitor-personal-badge.skipped { background:#f0f3f5; color:#7b8b93; }
.competitor-product-cluster {
  display:grid;
  gap:4px;
  padding:10px 11px;
  border:1px solid #dce9ed;
  border-radius:9px;
  background:#f5fafb;
}
.competitor-product-cluster > small {
  color:#78909c;
  font-size:8px;
  font-weight:800;
}
.competitor-product-cluster > strong {
  overflow:hidden;
  color:#173f56;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-product-cluster > div {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.competitor-product-cluster > div > span {
  padding:3px 6px;
  border-radius:999px;
  background:#e8f0f3;
  color:#597381;
  font-size:8px;
  font-weight:750;
}
.competitor-fit.high { background:#e4f7ed !important; color:#147a4e !important; }
.competitor-fit.medium { background:#fff3d8 !important; color:#8a6415 !important; }
.competitor-fit.low { background:#ffebea !important; color:#a8433d !important; }
.competitor-product-identity.confirmed { background:#e7f4ff !important; color:#286793 !important; }
.competitor-product-identity.review { background:#fff0e6 !important; color:#a85b21 !important; }
.competitor-advertiser-tier.test { background:#e8f1ff !important; color:#2467aa !important; }
.competitor-advertiser-tier.strong { background:#e4f7ed !important; color:#147a4e !important; }
.competitor-advertiser-tier.hot { background:#fff0e6 !important; color:#b45a12 !important; }
.competitor-advertiser-tier.followup { background:#fff3d8 !important; color:#8a6415 !important; }
.competitor-discovery-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.competitor-discovery-metrics > span {
  display:grid;
  gap:3px;
  padding:8px;
  border-radius:8px;
  background:#eef6f7;
}
.competitor-discovery-metrics small { color:#7c909a; font-size:8px; }
.competitor-discovery-metrics b { color:#17445a; font-size:13px; }
.competitor-material-signal {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:9px 10px;
  border:1px solid #d9e6eb;
  border-radius:9px;
  background:#f4f8fa;
  color:#5d7480;
  font-size:8px;
}
.competitor-material-signal strong {
  margin-right:auto;
  color:#365b6d;
  font-size:10px;
}
.competitor-material-signal span {
  padding:3px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  font-weight:750;
}
.competitor-material-signal.hot { border-color:#f0c7a5; background:#fff2e7; }
.competitor-material-signal.hot strong { color:#b45a12; }
.competitor-material-signal.validated { border-color:#bfd8ee; background:#edf6ff; }
.competitor-material-signal.validated strong { color:#2467aa; }
.competitor-material-signal.reused { border-color:#bde1dc; background:#edf9f6; }
.competitor-material-signal.reused strong { color:#167a6d; }
.competitor-cluster-note {
  margin:0;
  color:#607985;
  font-size:9px;
  line-height:1.45;
}
.competitor-discovery-domains {
  overflow:hidden;
  margin:0;
  color:#527181;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-discovery-evidence { display:flex; flex-wrap:wrap; gap:5px; }
.competitor-discovery-evidence span,
.competitor-discovery-evidence b,
.competitor-discovery-evidence i {
  padding:4px 6px;
  border-radius:999px;
  font-size:8px;
}
.competitor-why-recommended {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  padding:9px 10px;
  border-radius:9px;
  background:#f1f8f5;
}
.competitor-why-recommended strong {
  flex:1 0 100%;
  color:#28664f;
  font-size:9px;
}
.competitor-why-recommended span {
  padding:4px 6px;
  border-radius:999px;
  background:#fff;
  color:#477162;
  font-size:8px;
  font-weight:700;
}
.competitor-personalization-reason {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  padding:9px 10px;
  border:1px solid #d5e5f4;
  border-radius:9px;
  background:#f4f8fd;
}
.competitor-personalization-reason strong { flex:1 0 100%; color:#2a6591; font-size:9px; }
.competitor-personalization-reason span { padding:4px 6px; border-radius:999px; background:#fff; color:#557489; font-size:8px; font-weight:700; }
.competitor-test-capacity {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  border:1px solid #bfddd7;
  border-radius:9px;
  background:#eef9f6;
}
.competitor-test-capacity > div { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.competitor-test-capacity strong { color:#176c5e; font-size:9px; }
.competitor-test-capacity span {
  padding:3px 6px;
  border-radius:999px;
  background:#fff;
  color:#55756f;
  font-size:8px;
  font-weight:700;
}
.competitor-test-capacity.full { border-color:#ead6c5; background:#fff6ee; }
.competitor-test-capacity.full strong { color:#9a5d2c; }
.competitor-test-package-preview {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  padding:9px 10px;
  border-radius:9px;
  background:#eef5fb;
}
.competitor-test-package-preview strong { flex:1 0 100%; color:#315f7b; font-size:9px; }
.competitor-test-package-preview span {
  padding:3px 6px;
  border-radius:999px;
  background:#fff;
  color:#547084;
  font-size:8px;
}
.competitor-discovery-evidence span { background:#edf4f8; color:#3d657a; font-weight:650; }
.competitor-discovery-evidence b { background:#fff3d9; color:#8a6518; }
.competitor-discovery-evidence i {
  background:#eef8ef;
  color:#347154;
  font-style:normal;
  font-weight:650;
}
.competitor-discovery-samples {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.competitor-discovery-samples > a,
.competitor-discovery-samples > div {
  position:relative;
  display:grid;
  height:92px;
  place-items:center;
  overflow:hidden;
  border:1px solid #dce6ea;
  border-radius:8px;
  background:#eaf1f3;
  color:#5c7582;
  text-decoration:none;
}
.competitor-discovery-samples img { width:100%; height:100%; object-fit:cover; }
.competitor-discovery-samples small {
  position:absolute;
  right:4px;
  bottom:4px;
  padding:3px 5px;
  border-radius:999px;
  background:rgba(18,46,62,.78);
  color:#fff;
  font-size:8px;
}
.competitor-discovery-card > footer {
  padding-top:10px;
  border-top:1px solid #e2ebee;
}
.competitor-discovery-card > footer > a {
  color:#1477a2;
  font-size:10px;
  font-weight:750;
  text-decoration:none;
}
.competitor-discovery-card > footer > div { display:flex; gap:7px; }
.competitor-discovery-card > footer .btn { white-space:normal; line-height:1.25; }
.competitor-product-workflow {
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #cfe2e8;
  border-radius:9px;
  background:#f4f9fb;
}
.competitor-product-workflow-status,
.competitor-product-workflow-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.competitor-product-workflow-status span {
  padding:4px 7px;
  border-radius:999px;
  background:#e8f1f5;
  color:#476879;
  font-size:8px;
  font-weight:800;
}
.competitor-product-workflow-status .company {
  background:#fff0e6;
  color:#a85b21;
}
.competitor-product-workflow-status code {
  padding:4px 7px;
  border-radius:6px;
  background:#173f56;
  color:#fff;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:8px;
}
.competitor-oms-wait,
.competitor-seat-closed {
  align-self:center;
  color:#5d7480;
  font-size:9px;
  font-weight:750;
}
.competitor-product-workflow-actions .btn { flex:1 1 auto; min-width:72px; }
.competitor-product-workflow-actions .evidence {
  border-color:#bad9e3;
  background:#f1f8fb;
  color:#176d91;
}
.sales-product-card { align-content:start; gap:10px; padding:14px; background:#fff; }
.sales-product-head > div { min-width:0; }
.sales-product-signal-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.sales-product-signal-grid span {
  display:grid;
  gap:2px;
  padding:9px 7px;
  border:1px solid #e0eaee;
  border-radius:9px;
  background:#f8fbfc;
  text-align:center;
}
.sales-product-signal-grid b { color:#156e82; font-size:15px; }
.sales-product-signal-grid small { color:#7a909a; font-size:8px; }
.sales-product-proof {
  margin:0;
  padding:10px 11px;
  border-left:3px solid #24a5ad;
  border-radius:7px;
  background:#f1f8f8;
  color:#456878;
  font-size:10px;
  line-height:1.55;
}
.sales-product-proof strong { color:#176d78; }
.sales-product-recommendation { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.sales-product-recommendation strong,
.sales-product-recommendation span {
  padding:5px 8px;
  border-radius:999px;
  background:#eef4f8;
  color:#4d6c7c;
  font-size:9px;
}
.sales-product-recommendation strong { background:#e7f6ee; color:#16704c; }
.sales-product-samples > a,
.sales-product-samples > div { height:102px; }
.sales-product-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
  padding-top:10px;
  border-top:1px solid #e1eaee;
}
.sales-product-actions > div { display:flex; gap:7px; }
.sales-product-actions > div:first-child .btn { flex:1; }
.sales-product-actions .evidence {
  width:100%;
  border-color:#bad9e3;
  background:#f1f8fb;
  color:#176d91;
}
.sales-product-more { position:relative; justify-self:end; }
.sales-product-more > summary {
  padding:3px 0;
  color:#71848e;
  font-size:9px;
  font-weight:750;
  cursor:pointer;
  list-style:none;
}
.sales-product-more > summary::-webkit-details-marker { display:none; }
.sales-product-more[open] { justify-self:stretch; }
.sales-product-more[open] > summary { text-align:right; }
.sales-product-quiet-actions { justify-content:flex-end; }
.sales-product-quiet-actions .quiet { border:0; background:transparent; color:#6e838d; }
.competitor-evidence-modal { display:grid; gap:14px; color:#173f56; }
.competitor-evidence-hero {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-right:48px;
}
.competitor-evidence-hero small { color:#15858d; font-weight:850; }
.competitor-evidence-hero h2 { margin:4px 0 0; }
.competitor-evidence-hero > div:last-child {
  display:grid;
  grid-template-columns:auto auto auto auto;
  align-items:baseline;
  gap:5px 8px;
}
.competitor-evidence-hero > div:last-child strong { color:#0b799d; font-size:22px; }
.competitor-evidence-hero > div:last-child span { color:#718690; font-size:9px; }
.competitor-evidence-group {
  overflow:hidden;
  border:1px solid #d9e6ec;
  border-radius:10px;
  background:#f8fbfc;
}
.competitor-evidence-group > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  border-bottom:1px solid #e0eaee;
  background:#eef6f8;
}
.competitor-evidence-group > header span { color:#6a818c; font-size:9px; }
.competitor-evidence-group > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.competitor-evidence-ad {
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  min-width:0;
  padding:11px;
  border-right:1px solid #e5edef;
  border-bottom:1px solid #e5edef;
  background:#fff;
}
.competitor-evidence-ad img,
.competitor-evidence-placeholder {
  grid-row:1 / span 2;
  width:76px;
  height:76px;
  object-fit:cover;
  border-radius:7px;
  background:#eaf2f5;
}
.competitor-evidence-placeholder { display:grid; place-items:center; color:#718690; font-size:9px; }
.competitor-evidence-ad > div { display:grid; align-content:start; gap:3px; min-width:0; }
.competitor-evidence-ad > div strong,
.competitor-evidence-ad > div span,
.competitor-evidence-ad > div small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.competitor-evidence-ad > div span,
.competitor-evidence-ad > div small { color:#6c838e; font-size:9px; }
.competitor-evidence-ad nav { display:flex; flex-wrap:wrap; gap:6px; }
.competitor-evidence-ad nav a {
  padding:4px 7px;
  border:1px solid #d5e3e9;
  border-radius:6px;
  color:#146f98;
  font-size:9px;
  font-weight:750;
  text-decoration:none;
}
.competitor-evidence-footer,
.competitor-evidence-pages { display:flex; align-items:center; gap:10px; }
.competitor-evidence-footer { justify-content:space-between; color:#6d838e; font-size:9px; }
.competitor-task-package-modal {
  display:grid;
  gap:9px;
  margin:12px 0 16px;
}
.competitor-task-package-modal section {
  display:grid;
  gap:7px;
  padding:11px;
  border:1px solid #dce7ed;
  border-radius:9px;
  background:#f7fafb;
}
.competitor-task-package-modal section > strong { color:#244f67; font-size:11px; }
.competitor-task-package-modal section > div { display:flex; flex-wrap:wrap; gap:6px; }
.competitor-task-package-modal section span {
  padding:4px 7px;
  border-radius:999px;
  background:#fff;
  color:#56717f;
  font-size:9px;
}
.competitor-full-task-package { display:grid; gap:16px; color:#173f56; }
.competitor-package-drawer-nav {
  position:sticky;
  top:-24px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:-24px -28px 0;
  padding:12px 62px 12px 20px;
  border-bottom:1px solid #dce7ed;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.competitor-package-drawer-nav span { color:#78909c; font-size:9px; font-weight:800; }
.competitor-package-hero {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-right:46px;
}
.competitor-package-hero small { color:#188a91; font-size:11px; font-weight:850; letter-spacing:.08em; }
.competitor-package-hero h2 { margin:4px 0 0; color:#102f45; font-size:24px; }
.competitor-package-hero > span,
.competitor-package-assignment span {
  padding:7px 11px;
  border-radius:999px;
  background:#e8f7f0;
  color:#147351;
  font-size:10px;
  font-weight:850;
}
.competitor-package-assignment {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:11px 13px;
  border:1px solid #cfe5eb;
  border-radius:10px;
  background:#f1f8fa;
}
.competitor-package-assignment code { padding:6px 9px; border-radius:7px; background:#173f56; color:#fff; }
.competitor-task-due {
  padding:4px 7px;
  border-radius:999px;
  background:#eef5f7;
  color:#547482;
  font-size:8px;
  font-weight:800;
}
.competitor-task-due.overdue { background:#fff0df; color:#bc5e14; }
.competitor-skip-reason-modal { display:grid; gap:12px; }
.competitor-skip-reason-modal > small { color:#178b91; font-weight:900; letter-spacing:.08em; }
.competitor-skip-reason-modal h2,
.competitor-skip-reason-modal p { margin:0; }
.competitor-skip-reason-modal p { color:#718895; }
.competitor-skip-reason-modal > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.competitor-skip-reason-modal > div .btn { justify-content:flex-start; min-height:44px; }
.competitor-package-result {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border:1px solid #bfe1cf;
  border-radius:10px;
  background:#f0faf5;
}
.competitor-package-result strong { color:#14734a; }
.competitor-package-result span { padding:5px 8px; border-radius:999px; background:#fff; color:#466a5a; font-size:10px; }
.competitor-package-result small { flex:1 0 100%; color:#758b80; }
.competitor-test-result-modal {
  display:grid;
  width:100%;
  min-width:0;
  gap:10px;
}
.competitor-test-result-modal h2 { margin:0; padding-right:46px; }
.competitor-test-result-modal > .form-note {
  overflow-wrap:anywhere;
  word-break:break-word;
}
.competitor-test-result-modal form { display:grid; min-width:0; gap:10px; }
.competitor-test-result-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  min-width:0;
}
.competitor-test-result-fields label { min-width:0; }
.competitor-test-result-fields input,
.competitor-test-result-fields select,
.competitor-test-result-modal textarea { width:100%; max-width:100%; }
.competitor-result-sku { grid-column:1 / -1; }
.competitor-test-result-modal textarea { min-height:82px; resize:none; }
.competitor-result-help { padding:9px 11px; font-size:11px; line-height:1.45; }
.competitor-test-result-modal .form-error:empty { display:none; }
.modal-panel.modal-compact-result #modalContent {
  overflow-x:hidden;
  padding:22px;
}
.competitor-package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.competitor-package-grid > section {
  display:grid;
  align-content:start;
  gap:10px;
  min-width:0;
  padding:15px;
  border:1px solid #d8e6ec;
  border-radius:11px;
  background:#f8fbfc;
}
.competitor-package-grid h3 { margin:0; color:#173f56; font-size:13px; }
.competitor-package-tags { display:flex; flex-wrap:wrap; gap:7px; }
.competitor-package-tags span,
.competitor-package-copy-meta span {
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  color:#537080;
  font-size:10px;
}
.competitor-package-country label { display:flex; align-items:center; gap:10px; font-size:10px; }
.competitor-package-country select { width:min(280px,100%); }
.competitor-package-country > strong { color:#087cad; font-size:22px; }
.competitor-package-country > small { color:#68818f; line-height:1.55; }
.competitor-package-points,
.competitor-package-steps,
.competitor-package-risk ul,
.competitor-package-cycle ol { display:grid; gap:7px; margin:0; padding-left:21px; color:#405e6e; line-height:1.55; }
.competitor-package-copy > div { display:grid; gap:5px; padding:10px; border-radius:8px; background:#fff; }
.competitor-package-copy p { margin:0; color:#294c60; line-height:1.6; }
.competitor-package-copy small { color:#78909c; }
.competitor-package-copy h3 > span {
  display:inline-block;
  margin-left:7px;
  padding:4px 7px;
  border-radius:999px;
  background:#e8f5f7;
  color:#147985;
  font-size:9px;
}
.competitor-package-proof { border-left:3px solid #22a6ad; }
.competitor-package-alternatives { background:#f0f6f8!important; }
.competitor-package-alternatives > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.competitor-package-alternatives > div > div {
  display:grid;
  gap:4px;
  padding:8px;
  border:1px solid #d8e6ec;
  border-radius:7px;
  background:#fff;
}
.competitor-package-alternatives span { color:#17808b; font-size:9px; font-weight:800; }
.competitor-package-alternatives strong { color:#274d60; font-size:10px; line-height:1.4; }
.competitor-package-copy-meta { display:flex!important; flex-wrap:wrap; gap:7px!important; padding:0!important; background:transparent!important; }
.competitor-package-materials { grid-column:1 / -1; }
.competitor-package-materials > p { margin:0; color:#68818f; font-size:10px; }
.competitor-package-materials > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.competitor-package-materials a,
.competitor-package-materials > div > div {
  min-width:0;
  overflow:hidden;
  border:1px solid #d7e4e9;
  border-radius:9px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.competitor-package-materials img,
.competitor-package-media-empty { display:grid; width:100%; height:150px; object-fit:cover; place-items:center; background:#eaf2f5; color:#67818e; }
.competitor-package-materials a > div,
.competitor-package-materials > div > div > div { display:flex; justify-content:space-between; gap:8px; padding:9px; }
.competitor-package-materials a > div span,
.competitor-package-materials > div > div > div span { color:#69818e; font-size:9px; }
.competitor-package-risk { border-color:#f1d8c7!important; background:#fff9f5!important; }
.competitor-package-cycle { border-color:#cce4ef!important; background:#f3f9fc!important; }
.competitor-package-cycle > strong { color:#087cad; }
.competitor-package-facebook {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  border:1px dashed #b8cbd5;
  border-radius:10px;
  background:#f5f8fa;
}
.competitor-package-facebook > div { display:grid; gap:3px; }
.competitor-package-facebook span { color:#708792; font-size:10px; }
.competitor-package-claim-form { grid-template-columns:minmax(0,1fr) auto; align-items:end; padding-top:4px; }
.competitor-package-claim-form .form-note,
.competitor-package-claim-form .form-error { grid-column:1 / -1; }
.competitor-package-footer { display:flex; justify-content:flex-end; }
@media (max-width:820px) {
  .competitor-package-grid { grid-template-columns:1fr; }
  .competitor-package-materials { grid-column:auto; }
  .competitor-package-materials > div { grid-template-columns:1fr; }
  .competitor-package-alternatives > div { grid-template-columns:1fr; }
  .competitor-package-claim-form { grid-template-columns:1fr; }
  .competitor-package-claim-form .form-note,
  .competitor-package-claim-form .form-error { grid-column:auto; }
  .competitor-evidence-group > div { grid-template-columns:1fr; }
  .competitor-evidence-hero { flex-direction:column; }
  .competitor-evidence-footer { align-items:flex-start; flex-direction:column; }
}
.competitor-monitored-label {
  align-self:center;
  padding:5px 8px;
  border-radius:999px;
  background:#e8f7f0;
  color:#177653;
  font-size:9px;
  font-weight:800;
}
.competitor-raw-library {
  border-top:1px solid #dfe8ed;
  background:#fbfdfe;
}
.competitor-raw-library > summary { color:#536d7c; }
.competitor-raw-library[open] { border-top:2px solid #88a9b7; }
.competitor-evidence-library > summary {
  padding:18px 22px;
  background:linear-gradient(90deg,#f7fbfd,#eef8fa);
}
.competitor-evidence-library > summary span { display:grid; gap:5px; }
.competitor-evidence-library > summary span:first-child { color:#123c57; font-size:18px; font-weight:850; }
.competitor-evidence-library > summary small { color:#708995; font-size:11px; font-weight:600; }
.competitor-evidence-library .competitor-collapsible-body { padding:0 20px 22px; }
.competitor-raw-tabs {
  position:sticky;
  top:0;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:8px;
  padding:14px 0;
  background:#fbfdfe;
}
.competitor-raw-tabs button {
  min-height:44px;
  border:1px solid #d4e4ea;
  border-radius:10px;
  background:#fff;
  color:#577382;
  font-size:13px;
  font-weight:800;
  font-family:inherit;
  cursor:pointer;
}
.competitor-raw-tabs button.active {
  border-color:#1689a8;
  background:linear-gradient(135deg,#0f6da2,#12a89f);
  color:#fff;
  box-shadow:0 8px 18px rgba(19,126,157,.16);
}
.competitor-raw-panel { padding-top:4px; }
.competitor-raw-panel[hidden] { display:none !important; }
.competitor-raw-panel-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:4px 0 14px;
  padding:14px 16px;
  border:1px solid #dce9ee;
  border-radius:12px;
  background:#fff;
}
.competitor-raw-panel-head > div { display:grid; gap:4px; }
.competitor-raw-panel-head strong { color:#173f58; font-size:17px; }
.competitor-raw-panel-head span,
.competitor-raw-panel-head > b { color:#6f8794; font-size:11px; }
.competitor-health-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
}
.competitor-raw-metric {
  position:relative;
  display:grid;
  gap:5px;
  min-height:104px;
  padding:16px;
  overflow:hidden;
  border:1px solid #dce8ed;
  border-radius:12px;
  background:#fff;
}
.competitor-raw-metric::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#2d91b8; }
.competitor-raw-metric.good::before { background:#23a879; }
.competitor-raw-metric.warn::before { background:#f2b33c; }
.competitor-raw-metric.danger::before { background:#ef6a57; }
.competitor-raw-metric small { color:#718893; font-size:11px; font-weight:750; }
.competitor-raw-metric strong { color:#123b55; font-size:27px; line-height:1.05; }
.competitor-raw-metric span { color:#81939d; font-size:10px; }
.competitor-raw-explain {
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:12px;
  padding:13px 16px;
  border-radius:10px;
  background:#edf8f6;
  color:#51717a;
  font-size:11px;
}
.competitor-raw-explain strong { flex:none; color:#11775f; }
.competitor-evidence-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.competitor-evidence-product {
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-width:0;
  padding:13px;
  border:1px solid #dbe7ec;
  border-radius:12px;
  background:#fff;
}
.competitor-evidence-product-cover {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  height:72px;
  overflow:hidden;
  border-radius:9px;
  background:#e9f2f5;
}
.competitor-evidence-product-cover img { width:100%; height:72px; object-fit:cover; }
.competitor-evidence-product-cover span { grid-column:1 / -1; display:grid; place-items:center; color:#2a758e; font-size:24px; font-weight:900; }
.competitor-evidence-product-copy { display:grid; gap:5px; min-width:0; }
.competitor-evidence-product-copy small { color:#15928f; font-size:9px; font-weight:850; }
.competitor-evidence-product-copy strong { overflow:hidden; color:#173c55; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.competitor-evidence-product-copy > div { display:flex; flex-wrap:wrap; gap:5px; }
.competitor-evidence-product-copy span { padding:3px 6px; border-radius:999px; background:#eff5f7; color:#6f8490; font-size:9px; }
.competitor-evidence-product nav { display:grid; gap:7px; }
.competitor-task-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.competitor-task-list,
.competitor-family-review-history { padding:15px; border:1px solid #dbe8ed; border-radius:12px; background:#fff; }
.competitor-task-list > header,
.competitor-family-review-history > header { display:grid; gap:3px; margin-bottom:9px; }
.competitor-task-list > header strong,
.competitor-family-review-history > header strong { color:#173f59; font-size:15px; }
.competitor-task-list > header span,
.competitor-family-review-history > header span { color:#83959f; font-size:10px; }
.competitor-task-list article,
.competitor-family-review-history article { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #e6eef1; }
.competitor-task-list article > div,
.competitor-family-review-history article > div { display:grid; gap:2px; }
.competitor-task-list article strong,
.competitor-family-review-history article strong { color:#36596b; font-size:12px; }
.competitor-task-list article span,
.competitor-family-review-history article span { color:#82949e; font-size:9px; }
.competitor-task-list article b,
.competitor-family-review-history article b { color:#176f9e; font-size:18px; }
.competitor-task-list article.high b { color:#e95f4d; }
.competitor-trend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.competitor-trend-lane { min-width:0; padding:15px; border:1px solid #dbe8ed; border-radius:12px; background:#f9fcfd; }
.competitor-trend-lane > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:11px; }
.competitor-trend-lane > header > div { display:grid; gap:2px; }
.competitor-trend-lane > header small { color:#8798a1; font-size:9px; font-weight:800; text-transform:uppercase; }
.competitor-trend-lane > header strong { color:#173e58; font-size:17px; }
.competitor-trend-lane > header b { min-width:35px; padding:6px 8px; border-radius:999px; background:#e6f3f7; color:#167da1; text-align:center; }
.competitor-trend-lane.new > header b { background:#e3f7f0; color:#188466; }
.competitor-trend-lane.saturated > header b { background:#fff2d8; color:#b37609; }
.competitor-trend-lane.stopped > header b { background:#fce9e5; color:#c75443; }
.competitor-trend-lane .competitor-evidence-product { grid-template-columns:60px minmax(0,1fr) auto; margin-top:8px; padding:9px; }
.competitor-trend-lane .competitor-evidence-product-cover { height:52px; }
.competitor-trend-lane .competitor-evidence-product-cover img { height:52px; }
.competitor-trend-lane .competitor-evidence-product nav { grid-template-columns:1fr; }
.competitor-family-review-modal .competitor-family-review-warning { display:flex; gap:10px; padding:12px; border-radius:9px; background:#fff5dd; color:#796331; font-size:11px; }
.competitor-family-review-modal .competitor-family-review-warning strong { flex:none; color:#a86f00; }
@media (max-width:1100px) {
  .competitor-health-grid { grid-template-columns:repeat(2,minmax(150px,1fr)); }
  .competitor-evidence-product-grid,
  .competitor-trend-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .competitor-evidence-library .competitor-collapsible-body { padding:0 12px 16px; }
  .competitor-raw-tabs { grid-template-columns:repeat(2,1fr); }
  .competitor-health-grid,
  .competitor-task-grid { grid-template-columns:1fr; }
  .competitor-evidence-product { grid-template-columns:66px minmax(0,1fr); }
  .competitor-evidence-product nav { grid-column:1 / -1; grid-template-columns:1fr 1fr; }
  .competitor-raw-panel-head,
  .competitor-raw-explain { align-items:flex-start; flex-direction:column; }
}
.competitor-watch-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:12px;
}
.competitor-watch-card {
  padding:15px;
  border:1px solid #dce7ec;
  border-radius:11px;
  background:#fbfdfe;
}
.competitor-watch-card.disabled { opacity:.62; }
.competitor-watch-card header,
.competitor-watch-card footer,
.competitor-ad-card header,
.competitor-ad-card footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.competitor-watch-card header > div { display:grid; gap:2px; }
.competitor-watch-card header strong { color:#173d58; font-size:14px; }
.competitor-watch-card header span { color:#82949f; font-size:10px; }
.competitor-watch-card header > b {
  padding:4px 7px;
  border-radius:999px;
  background:#e8f8f2;
  color:#16835f;
  font-size:9px;
}
.competitor-watch-card > p { min-height:31px; margin:12px 0; color:#536f80; font-size:12px; }
.competitor-watch-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 12px; }
.competitor-watch-card dl div { padding:8px 10px; border-radius:8px; background:#eef5f8; }
.competitor-watch-card dt { color:#7d909c; font-size:9px; }
.competitor-watch-card dd { margin:2px 0 0; color:#173e59; font-size:17px; font-weight:800; }
.competitor-watch-card footer { padding-top:10px; border-top:1px solid #e4ecef; }
.competitor-watch-card footer small { color:#8b9aa4; font-size:9px; }
.competitor-watch-card footer div,
.competitor-ad-card footer div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.competitor-watch-card a,
.competitor-ad-card a { color:#1674a8; font-size:10px; font-weight:750; text-decoration:none; }
.competitor-watch-more { color:#7b909c; font-size:9px; font-weight:800; }
.competitor-collapsible { padding:0; overflow:hidden; }
.competitor-collapsible > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 20px;
  cursor:pointer;
  list-style:none;
}
.competitor-collapsible > summary::-webkit-details-marker { display:none; }
.competitor-collapsible > summary > span { display:grid; gap:3px; color:#173d58; font-size:16px; font-weight:850; }
.competitor-collapsible > summary small { color:#8497a2; font-size:10px; font-weight:650; }
.competitor-collapsible > summary > b {
  padding:6px 10px;
  border:1px solid #d6e4ea;
  border-radius:8px;
  background:#f7fbfc;
  color:#33708e;
  font-size:10px;
}
.competitor-collapsible[open] > summary { border-bottom:1px solid #e3ebef; }
.competitor-collapsible-body { padding:16px 20px 20px; }
.competitor-collapsible-body > .competitor-watch-grid {
  max-height:500px;
  padding-right:6px;
  overflow-y:auto;
}
.competitor-watch-group-list { display:grid; gap:9px; margin-top:14px; }
.competitor-watch-group-list article {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 12px;
  border:1px solid #dce7ec;
  border-radius:9px;
  background:#f8fbfc;
}
.competitor-watch-group-list article > div:first-child { display:grid; gap:3px; }
.competitor-watch-group-list article strong { color:#173d58; }
.competitor-watch-group-list article span { color:#7b909c; font-size:10px; }
.competitor-watch-group-list article > div:last-child { display:flex; gap:7px; }
.competitor-ad-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  align-items:start;
  gap:14px;
}
.competitor-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding:14px 2px 2px;
  border-top:1px solid #e2eaee;
}
.competitor-pagination > span {
  color:#708692;
  font-size:11px;
  font-weight:750;
}
.competitor-pagination > div {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}
.competitor-pagination button {
  min-width:34px;
  height:34px;
  padding:0 10px;
  border:1px solid #d6e2e8;
  border-radius:8px;
  background:#fff;
  color:#31566d;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.competitor-pagination button:hover:not(:disabled),
.competitor-pagination button:focus-visible {
  border-color:#4b9ebe;
  color:#086d9f;
  outline:none;
}
.competitor-pagination button.active {
  border-color:#086d9f;
  background:#086d9f;
  color:#fff;
}
.competitor-pagination button:disabled {
  opacity:.42;
  cursor:default;
}
.competitor-pagination > div > span { color:#82939d; font-weight:800; }
.competitor-ad-card {
  min-width:0;
  overflow:hidden;
  border:1px solid #d8e1e6;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 5px rgba(20,48,66,.08),0 12px 30px rgba(20,48,66,.035);
}
.competitor-ad-card .competitor-ad-library-head {
  display:grid;
  align-items:stretch;
  justify-content:initial;
  gap:6px;
  padding:13px 15px 12px;
  border-bottom:1px solid #dfe5e8;
  color:#223845;
  background:#fff;
}
.competitor-ad-status-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:28px;
}
.competitor-ad-library-head > p {
  margin:0;
  color:#263f4e;
  font-size:11px;
  line-height:1.45;
}
.competitor-ad-library-head > p span { color:#536d7b; }
.competitor-ad-library-head > p b { color:#173b52; font-weight:750; }
.competitor-ad-more {
  padding:2px 4px;
  color:#263c49 !important;
  font-size:17px !important;
  letter-spacing:2px;
  line-height:1;
}
.competitor-platform-line {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#435d6b;
  font-size:11px;
}
.competitor-platform-line > b { font-weight:750; }
.competitor-platform-line > div { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.competitor-platform-line span {
  padding:4px 7px;
  border:1px solid #dce5e9;
  border-radius:999px;
  background:#f6f8f9;
  color:#4c6572;
  font-size:9px;
  font-weight:700;
}
.competitor-variant-summary {
  margin-top:2px;
  padding:8px 10px;
  border-radius:8px;
  background:#f1f3f5;
  color:#263f4e;
  font-size:11px;
}
.competitor-variant-summary b { margin-right:2px; color:#153d57; font-size:12px; }
.competitor-ad-creative { padding:12px 15px 0; }
.competitor-page-row {
  display:flex;
  align-items:center;
  gap:11px;
}
.competitor-page-avatar {
  display:grid;
  flex:0 0 32px;
  width:32px;
  height:32px;
  place-items:center;
  border:1px solid #dce5e9;
  border-radius:50%;
  background:linear-gradient(145deg,#e8f5f8,#d3e9ef);
  color:#177494;
  font-size:13px;
  font-weight:850;
}
.competitor-page-row > div { display:grid; min-width:0; gap:2px; }
.competitor-page-row strong {
  overflow:hidden;
  color:#152f40;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-page-row span:not(.competitor-page-avatar) { color:#72838d; font-size:10px; }
.competitor-status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.competitor-status i {
  width:7px;
  height:7px;
  border:2px solid currentColor;
  border-radius:50%;
}
.competitor-status.active { background:#e7f7ef; color:#087a56; }
.competitor-status.inactive { background:#f0f2f4; color:#6f7f88; }
.competitor-stopped-detail { color:#9a5260 !important; font-weight:750; }
.competitor-copy {
  display:-webkit-box;
  overflow:hidden;
  min-height:42px;
  margin:10px 0 11px;
  color:#243e4c;
  font-size:12px;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.competitor-ad-media {
  position:relative;
  display:grid;
  width:calc(100% + 30px);
  height:225px;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  margin-left:-15px;
  place-items:center;
  overflow:hidden;
  border-top:1px solid #e1e6e9;
  border-bottom:1px solid #e1e6e9;
  background:#eef1f3;
  cursor:default;
}
.competitor-ad-media img {
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#eef1f3;
}
.competitor-media-placeholder {
  position:absolute;
  inset:0;
  display:grid;
  z-index:0;
  place-content:center;
  text-align:center;
  background:linear-gradient(145deg,#edf4f6,#dce9ed);
  color:#315b6b;
}
.competitor-ad-media.media-unavailable img { display:none; }
.competitor-ad-media.media-unavailable .competitor-play { display:none; }
.competitor-media-placeholder b,
.competitor-media-placeholder span { display:block; }
.competitor-media-placeholder b { font-size:17px; }
.competitor-media-placeholder span { margin-top:6px; color:#78909c; font-size:10px; }
.competitor-play {
  position:absolute;
  top:50%;
  left:50%;
  z-index:2;
  display:grid;
  width:52px;
  height:52px;
  margin:-26px 0 0 -26px;
  place-items:center;
  border:4px solid #fff;
  border-radius:50%;
  background:rgba(16,28,36,.56);
  box-shadow:0 3px 14px rgba(0,0,0,.2);
}
.competitor-play i {
  width:0;
  height:0;
  margin-left:5px;
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
  border-left:14px solid #fff;
}
.competitor-variant {
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(12,35,50,.82);
  color:#fff;
  font-size:9px;
}
.competitor-link-copy {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:calc(100% + 30px);
  min-height:54px;
  margin-left:-15px;
  padding:8px 12px 8px 15px;
  background:#f0f2f4;
}
.competitor-link-copy > div { display:grid; min-width:0; gap:2px; }
.competitor-link-copy small {
  overflow:hidden;
  color:#6e7d85;
  font-size:9px;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.competitor-link-copy strong {
  overflow:hidden;
  color:#263d49;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-link-copy > div > span { color:#72838c; font-size:9px; }
.competitor-cta {
  flex:0 0 auto;
  padding:7px 11px;
  border-radius:6px;
  background:#dfe3e6;
  color:#273b47 !important;
  font-size:10px !important;
  font-weight:800;
}
.competitor-review-result > div { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.competitor-review-result > div span { padding:3px 6px; border-radius:999px; background:#edf4f7; color:#547181; font-size:8px; }
.competitor-ad-internal { padding:10px 15px 12px; border-top:1px solid #e1e8eb; background:#fff; }
.competitor-review-result { display:grid; gap:2px; margin-bottom:10px; padding:8px 9px; border-left:3px solid #2b90b8; background:#f2f8fb; }
.competitor-review-result b { color:#226888; font-size:9px; }
.competitor-review-result > span { color:#31566c; font-size:10px; }
.competitor-ad-card footer { min-height:31px; }
.competitor-action-link,
.competitor-action-disabled {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border:1px solid #d8e4e9;
  border-radius:6px;
  background:#f7fafb;
  color:#176f9d !important;
  font-size:9px !important;
  font-weight:800;
  white-space:nowrap;
}
.competitor-action-link:hover { border-color:#8ec0d5; background:#edf7fa; }
.competitor-action-link.archived { border-color:#a9d8c4; background:#effaf5; color:#137657; }
.competitor-action-disabled { color:#93a2aa !important; cursor:not-allowed; }
.competitor-archive-state {
  margin-bottom:9px;
  padding:7px 9px;
  border-radius:7px;
  background:#edf6f9;
  color:#326d82;
  font-size:9px;
  font-weight:750;
}
.competitor-archive-state.complete { background:#eaf8f1; color:#157458; }
.competitor-archive-state.failed,
.competitor-archive-state.partial { background:#fff5e9; color:#98601e; }
.competitor-token-reveal { display:grid; grid-template-columns:1fr auto; gap:8px; margin:12px 0; padding:12px; border:1px solid #f1ce7f; border-radius:9px; background:#fff8e7; }
.competitor-token-reveal strong { grid-column:1 / -1; color:#8d6511; font-size:11px; }
.competitor-token-reveal input { min-width:0; padding:9px; border:1px solid #e0c47f; border-radius:7px; }
.competitor-token-form { display:grid; grid-template-columns:1fr auto; align-items:end; gap:8px; margin:13px 0; }
.competitor-token-form .form-error { grid-column:1 / -1; }
.competitor-token-list { display:grid; gap:7px; }
.competitor-token-list > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid #e1e9ed; border-radius:8px; }
.competitor-token-list span { display:grid; gap:2px; }
.competitor-token-list small { color:#8798a2; font-size:9px; }
.competitor-token-list b { color:#9a6570; font-size:10px; }
.competitor-plugin-guide { color:#4a6677; font-size:12px; line-height:1.7; }
.competitor-plugin-guide li { margin-bottom:7px; }
.competitor-plugin-guide code { color:#175c82; }
.competitor-plugin-guide p { margin-top:12px; color:#81929c; font-size:10px; }

@media (max-width:1500px) {
  .executive-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .executive-context-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .executive-context-strip > span:nth-child(3) { border-right:0; }
  .executive-context-strip > span:nth-child(-n+3) { border-bottom:1px solid #e6edf2; }
  .boss-daily-visual-grid { grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); }
  .boss-daily-visual-grid > article:last-child { grid-column:1 / -1; }
  .competitor-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1180px) {
  .overview-primary-grid,
  .monitor-visual-grid,
  .decision-overview-grid { grid-template-columns:1fr; }
  .boss-daily-visual-grid { grid-template-columns:1fr; }
  .boss-daily-visual-grid > article:last-child { grid-column:auto; }
  .boss-health-banner { align-items:flex-start; flex-direction:column; }
  .boss-health-stats { width:100%; }
  .competitor-collector-notice { align-items:flex-start; flex-direction:column; }
  .competitor-collection-health-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .competitor-radar-brief,
  .competitor-operations-brief { grid-template-columns:1fr auto; }
  .competitor-radar-brief > .btn { grid-column:1 / -1; justify-self:start; }
  .competitor-mission-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .competitor-task-workbench { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  .competitor-filter-floating { right:12px; bottom:12px; }
  .competitor-filter-drawer > aside { width:min(480px,100vw); padding:16px; }
  .executive-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .executive-kpis article { min-height:126px; padding:18px 15px 15px; }
  .executive-kpis b { font-size:25px; }
  .executive-context-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .executive-context-strip > span { border-right:1px solid #e6edf2 !important; border-bottom:1px solid #e6edf2; }
  .executive-context-strip > span:nth-child(2n) { border-right:0 !important; }
  .executive-context-strip > span:nth-last-child(-n+2) { border-bottom:0; }
  .ops-section-head { align-items:flex-start; flex-direction:column; padding:18px 15px 14px; }
  .ops-section-head.compact { padding:0 0 14px; }
  .overview-primary-grid,
  .monitor-visual-grid { padding:12px; }
  .ops-visual-card { padding:14px; }
  .ops-donut-layout { grid-template-columns:112px minmax(0,1fr); gap:12px; }
  .ops-donut { width:112px; height:112px; }
  .ops-donut b { font-size:23px; }
  .boss-health-banner { margin:12px; padding:16px; }
  .boss-health-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .boss-health-stats span { padding:9px 6px; }
  .boss-daily-section > .executive-kpis { padding:0 12px; }
  .boss-daily-visual-grid { padding:0 12px 12px; }
  .decision-detail-section { padding:14px; }
  .decision-pulse-metrics { grid-template-columns:1fr; }
  .decision-pulse-metrics > span { border-right:0; border-bottom:1px solid #e2eaf0; }
  .decision-pulse-metrics > span:last-child { border-bottom:0; }
  .monitor-month-legend { align-items:flex-start; flex-wrap:wrap; }
  .monitor-month-legend em { width:100%; margin-left:0; }
  .monitor-month-stats { grid-template-columns:1fr; }
  .monitor-month-stats > span { border-right:0; border-bottom:1px solid #e3ebef; }
  .monitor-month-stats > span:last-child { border-bottom:0; }
  .monitor-daily-values {
    grid-template-columns:repeat(31,40px);
    overflow-x:auto;
    padding-bottom:5px;
  }
  .competitor-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .competitor-kpis.personal { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .competitor-collection-health-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .competitor-workspace-nav { grid-template-columns:1fr; }
  .competitor-workspace-nav button { min-height:58px; }
  .competitor-radar-brief,
  .competitor-operations-brief { grid-template-columns:1fr; }
  .competitor-radar-brief dl,
  .competitor-operations-brief dl { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
  .competitor-mission-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .competitor-task-workbench dl { grid-template-columns:repeat(5,minmax(72px,1fr)); overflow-x:auto; }
  .competitor-ad-grid { grid-template-columns:1fr; }
  .competitor-ad-card { grid-template-columns:120px minmax(0,1fr); }
  .competitor-toolbar { align-items:stretch; flex-direction:column; overflow:visible; }
  .competitor-toolbar .field,
  .competitor-toolbar .field.keyword { min-width:0; width:100%; }
  .competitor-pagination { align-items:flex-start; flex-direction:column; }
  .competitor-pagination > div { justify-content:flex-start; }
  .competitor-personalization-panel,
  .competitor-effectiveness-panel { align-items:flex-start; flex-wrap:wrap; }
  .competitor-personalization-panel > div:first-child,
  .competitor-effectiveness-panel > div { flex:1 1 100%; margin-right:0; }
  .competitor-daily-quota { flex:1 1 100%; min-width:0; }
  .competitor-preference-tags { flex:1 1 100%; justify-content:flex-start; }
  .competitor-funnel-title { align-items:flex-start; flex-direction:column; }
  .competitor-funnel-stages { grid-template-columns:repeat(6,minmax(76px,1fr)); overflow-x:auto; }
  .competitor-funnel-stages i { display:none; }
}
@media (max-width:520px) {
  .competitor-collection-health header { align-items:flex-start; flex-direction:column; }
  .competitor-collection-health-grid { grid-template-columns:1fr; }
  .competitor-drawer-toolbar { grid-template-columns:1fr; }
  .competitor-drawer-toolbar .field.keyword { grid-column:auto; }
  .competitor-filter-fab { padding:0 15px; }
  .executive-kpis { grid-template-columns:1fr; }
  .executive-context-strip { grid-template-columns:1fr; }
  .executive-context-strip > span { border-right:0 !important; border-bottom:1px solid #e6edf2 !important; }
  .executive-context-strip > span:last-child { border-bottom:0 !important; }
  .ops-donut-layout { grid-template-columns:1fr; justify-items:center; }
  .ops-donut-legend { width:100%; }
  .boss-health-stats { grid-template-columns:1fr; }
  .boss-health-stats span { border-right:0; border-bottom:1px solid #e6edf1; }
  .boss-health-stats span:last-child { border-bottom:0; }
  .competitor-kpis { grid-template-columns:1fr 1fr; }
  .competitor-kpis.personal { grid-template-columns:1fr; }
  .competitor-radar-brief,
  .competitor-operations-brief { padding:13px; }
  .sales-product-signal-grid { gap:5px; }
  .sales-product-signal-grid b { font-size:13px; }
  .competitor-mission-nav { grid-template-columns:1fr; }
  .competitor-task-workbench { padding:12px; }
  .competitor-task-workbench dl { grid-template-columns:repeat(5,78px); }
  .modal-panel.modal-task-drawer { width:100vw; border-radius:0; }
  .modal-panel.modal-task-drawer #modalContent { padding:20px 14px 28px; }
  .competitor-package-drawer-nav { top:-20px; margin:-20px -14px 0; padding:11px 54px 11px 12px; }
  .competitor-skip-reason-modal > div { grid-template-columns:1fr; }
  .competitor-ad-card { grid-template-columns:1fr; }
  .competitor-ad-media,
  .competitor-media-placeholder { min-height:220px; max-height:340px; }
  .competitor-collector-notice > div:last-child { flex-wrap:wrap; white-space:normal; }
  .competitor-token-form,
  .competitor-token-reveal { grid-template-columns:1fr; }
  .competitor-token-reveal strong { grid-column:auto; }
  .competitor-test-result-fields { grid-template-columns:1fr; }
  .competitor-result-sku { grid-column:auto; }
  .modal-panel.modal-compact-result { width:calc(100vw - 20px); max-height:calc(100vh - 20px); }
  .modal-panel.modal-compact-result #modalContent { padding:18px 14px 14px; }
  .competitor-discovery-metrics { grid-template-columns:1fr 1fr; }
  .competitor-discovery-samples > a,
  .competitor-discovery-samples > div { height:78px; }
}
.competitor-inline-refresh {
  position: sticky;
  top: 10px;
  z-index: 24;
  width: max-content;
  max-width: calc(100% - 24px);
  margin: 10px 12px -50px auto;
  padding: 9px 14px;
  border: 1px solid rgba(18, 124, 177, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 28px rgba(7, 42, 70, .14);
  color: #31506a;
  display: flex;
  align-items: center;
  gap: 9px;
  pointer-events: none;
}

.competitor-inline-refresh span {
  width: 12px;
  height: 12px;
  border: 2px solid #cfe4ee;
  border-top-color: #1384b8;
  border-radius: 50%;
  animation: competitor-refresh-spin .75s linear infinite;
}

.competitor-inline-refresh b {
  font-size: 13px;
  font-weight: 700;
}

.competitor-discovery-card {
  transition: opacity .16s ease, transform .16s ease;
}

.competitor-discovery-card.is-removing {
  opacity: 0;
  transform: scale(.985);
  pointer-events: none;
}

[data-competitor-product-action].is-saving {
  opacity: .72;
  cursor: wait;
}

@keyframes competitor-refresh-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .competitor-inline-refresh span { animation: none; }
  .competitor-discovery-card { transition: none; }
}

.business-performance-section {
  border-top: 3px solid #1595a5;
}

/* Long source/basis explanations must not compete with the title for width. */
.business-performance-section > .ops-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.business-performance-section > .ops-section-head > span {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.6;
}

.performance-period-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: -2px 0 16px;
  color: #607b8d;
  font-size: 13px;
}

.performance-period-labels span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #f2f7fa;
}

.performance-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.performance-summary-grid article {
  min-width: 0;
  padding: 15px;
  border: 1px solid #dbe7ee;
  border-radius: 14px;
  background: linear-gradient(180deg, #fbfdfe, #f3f8fa);
}

.performance-summary-grid article > small,
.performance-summary-grid article > span {
  display: block;
  color: #698091;
}

.performance-summary-grid article > strong {
  display: block;
  margin: 7px 0;
  color: #0b3e60;
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1;
}

.performance-summary-grid article > span {
  min-height: 34px;
  font-size: 12px;
  line-height: 1.45;
}

.performance-summary-grid article > span.performance-count-comparison {
  min-height: 0;
}

.performance-summary-grid article > small.performance-rate-comparison {
  display: block;
  margin-top: 3px;
  color: #698091;
  font-size: 12px;
  line-height: 1.45;
}

.performance-change {
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.performance-change.is-up {
  color: #087f63;
  background: #e7f7f0;
}

.performance-change.is-down {
  color: #c34242;
  background: #fff0ef;
}

.performance-change.is-flat {
  color: #6b7f8c;
  background: #eef3f6;
}

.performance-table-wrap {
  max-height: 460px;
}

.performance-view-more {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

.performance-view-more .btn {
  color: #08789d;
  border-color: #bedce7;
  background: #f7fcfd;
}

.performance-private-note {
  padding: 12px 14px;
  border: 1px solid #dbe7ee;
  border-radius: 12px;
  color: #607b8d;
  background: #f5f9fb;
  font-size: 13px;
  line-height: 1.6;
}

.performance-country-diagnosis {
  margin: 0 0 16px;
  overflow: hidden;
  border: 1px solid #d7e7ed;
  border-radius: 14px;
  background: #fff;
}

.performance-diagnosis-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 15px;
  border-bottom: 1px solid #e2ecef;
  background: #f3faf9;
}

.performance-diagnosis-head strong,
.performance-diagnosis-head small {
  display: block;
}

.performance-diagnosis-head strong {
  color: #0b5266;
  font-size: 15px;
}

.performance-diagnosis-head small {
  margin-top: 3px;
  color: #647e8d;
  font-size: 12px;
}

.performance-diagnosis-head > span {
  padding: 4px 9px;
  border-radius: 999px;
  color: #a65c16;
  background: #fff1df;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.performance-diagnosis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}

.performance-diagnosis-card {
  display: flex;
  min-width: 0;
  min-height: 208px;
  flex-direction: column;
  padding: 13px;
  border: 1px solid #e0ebef;
  border-radius: 12px;
  background: #fbfdfe;
}

.performance-diagnosis-card.is-attention {
  border-color: #f4cfa8;
  background: #fffdf9;
}

.performance-diagnosis-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.performance-diagnosis-card-head span,
.performance-diagnosis-card-head span strong,
.performance-diagnosis-card-head span small {
  min-width: 0;
  display: block;
}

.performance-diagnosis-card-head strong {
  overflow: hidden;
  color: #113f59;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.performance-diagnosis-card-head small {
  margin-top: 2px;
  color: #738a99;
  font-size: 11px;
}

.performance-diagnosis-card-head b {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  color: #087f63;
  background: #e7f7f0;
  font-size: 11px;
}

.performance-diagnosis-card.is-attention .performance-diagnosis-card-head b {
  color: #a65c16;
  background: #fff0de;
}

.performance-diagnosis-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 12px 0 10px;
}

.performance-diagnosis-metrics span {
  min-width: 0;
  padding: 8px;
  border-radius: 9px;
  background: #eef6f8;
}

.performance-diagnosis-metrics small,
.performance-diagnosis-metrics b {
  display: block;
}

.performance-diagnosis-metrics small {
  overflow: hidden;
  color: #718896;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.performance-diagnosis-metrics b {
  margin-top: 3px;
  color: #123f5a;
  font-size: 15px;
}

.performance-diagnosis-card p {
  margin: 0 0 11px;
  color: #305b70;
  font-size: 12px;
  line-height: 1.45;
}

.performance-diagnosis-card p strong,
.performance-diagnosis-card p small {
  display: block;
}

.performance-diagnosis-card p strong {
  color: #234f64;
}

.performance-diagnosis-card p small {
  margin-top: 3px;
  color: #728997;
}

.performance-country-drilldown {
  width: 100%;
  margin-top: auto;
  color: #08789d;
  border-color: #bedce7;
  background: #f7fcfd;
  font-size: 12px;
}

.business-country-operations {
  margin: 0 0 18px;
}

.business-country-operations-note {
  margin-bottom: 10px;
  padding: 9px 12px;
  border: 1px solid #c9e5e4;
  border-radius: 10px;
  color: #286277;
  background: #f0fbfa;
  font-size: 12px;
  line-height: 1.5;
}

.business-country-operation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.business-country-operation-card {
  display: flex;
  min-width: 0;
  min-height: 398px;
  flex-direction: column;
  padding: 14px;
  border: 1px solid #dbe9ed;
  border-top: 3px solid #1b9aac;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(36, 84, 101, .05);
}

.country-operation-head,
.business-goal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.country-operation-head span,
.country-operation-head strong,
.country-operation-head small,
.business-goal-head span,
.business-goal-head strong,
.business-goal-head small {
  display: block;
  min-width: 0;
}

.country-operation-head strong,
.business-goal-head strong {
  overflow: hidden;
  color: #123e57;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-operation-head small,
.business-goal-head small {
  margin-top: 3px;
  color: #6e8796;
  font-size: 11px;
}

.country-operation-head > b,
.business-goal-head > b {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  color: #607786;
  background: #edf3f5;
  font-size: 11px;
}

.is-up {
  color: #087f63 !important;
}

.is-down {
  color: #c64b4b !important;
}

.is-flat {
  color: #657a87 !important;
}

.country-operation-amount {
  margin: 12px 0 10px;
  padding: 10px;
  border-radius: 10px;
  background: #f3f8fa;
}

.country-operation-amount small,
.country-operation-amount strong,
.country-operation-amount span {
  display: block;
}

.country-operation-amount small {
  color: #728996;
  font-size: 11px;
}

.country-operation-amount strong {
  margin-top: 3px;
  color: #11435f;
  font-size: 19px;
}

.country-operation-amount span {
  margin-top: 4px;
  color: #6e8490;
  font-size: 11px;
}

.country-operation-amount em {
  margin-left: 3px;
  font-style: normal;
  font-weight: 700;
}

.country-operation-funnel {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.country-operation-funnel span {
  min-width: 0;
  padding: 7px 5px;
  border-radius: 8px;
  background: #edf5f7;
  text-align: center;
}

.country-operation-funnel span.signed {
  background: #e7f7f0;
}

.country-operation-funnel span.returned,
.country-operation-funnel span.exception {
  background: #fff0ea;
}

.country-operation-funnel small,
.country-operation-funnel b {
  display: block;
}

.country-operation-funnel small {
  overflow: hidden;
  color: #69818f;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-operation-funnel b {
  margin-top: 3px;
  color: #13445e;
  font-size: 14px;
}

.country-operation-funnel-note {
  min-height: 30px;
  margin: 7px 0 9px;
  color: #7a8f9b;
  font-size: 10px;
  line-height: 1.4;
}

.country-operation-attribution {
  margin: 0 0 10px;
  padding: 10px;
  border-radius: 10px;
  background: #f7fbfc;
}

.country-operation-attribution > strong {
  color: #19556a;
  font-size: 12px;
}

.country-operation-attribution p {
  margin: 4px 0 8px;
  color: #456779;
  font-size: 12px;
  line-height: 1.45;
}

.country-operation-attribution > div {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  margin-top: 5px;
}

.country-operation-attribution > div > small {
  color: #78909d;
  font-size: 10px;
  line-height: 1.8;
}

.country-operation-contributors {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px;
}

.country-operation-contributors span,
.country-operation-empty {
  max-width: 100%;
  overflow: hidden;
  padding: 3px 6px;
  border-radius: 999px;
  color: #4c6977;
  background: #eaf2f5;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-operation-contributors b {
  margin-left: 2px;
}

.country-operation-attribution > em {
  display: block;
  margin-top: 8px;
  color: #8a9ca5;
  font-size: 10px;
  font-style: normal;
  line-height: 1.35;
}

.business-goals-section {
  border-top: 3px solid #1b9aac;
}

.business-goal-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin: 14px 0;
}

.business-goal-summary span {
  padding: 10px;
  border: 1px solid #dbe9ed;
  border-radius: 10px;
  background: #fbfdfe;
}

.business-goal-summary small,
.business-goal-summary b,
.business-goal-summary em {
  display: block;
}

.business-goal-summary small,
.business-goal-summary em {
  color: #738a98;
  font-size: 11px;
  font-style: normal;
}

.business-goal-summary b {
  margin: 3px 0;
  color: #143f58;
  font-size: 21px;
}

.business-goal-summary .red { border-color: #f3cdcc; background: #fffafa; }
.business-goal-summary .yellow { border-color: #f3dcaa; background: #fffdf7; }
.business-goal-summary .green { border-color: #c8e6d8; background: #f9fefb; }

.business-goal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.business-goal-card {
  display: flex;
  min-width: 0;
  min-height: 260px;
  flex-direction: column;
  padding: 14px;
  border: 1px solid #dce9ed;
  border-left: 4px solid #97aab3;
  border-radius: 12px;
  background: #fff;
}

.business-goal-card.red { border-left-color: #d95b5b; }
.business-goal-card.yellow { border-left-color: #d9a640; }
.business-goal-card.green { border-left-color: #159676; }
.business-goal-card.watch { border-left-color: #2388ad; }

.business-goal-card.red .business-goal-head > b { color: #b53d3d; background: #fff0ef; }
.business-goal-card.yellow .business-goal-head > b { color: #a66b08; background: #fff4dc; }
.business-goal-card.green .business-goal-head > b { color: #087f63; background: #e7f7f0; }
.business-goal-card.watch .business-goal-head > b { color: #176e92; background: #e7f3fb; }

.business-goal-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 12px 0 9px;
}

.business-goal-metrics span {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: #eff6f8;
}

.business-goal-metrics small,
.business-goal-metrics strong,
.business-goal-metrics em {
  display: block;
}

.business-goal-metrics small,
.business-goal-metrics em {
  overflow: hidden;
  color: #718894;
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.business-goal-metrics strong {
  margin: 3px 0;
  color: #124059;
  font-size: 17px;
}

.business-goal-pace,
.business-goal-alert {
  padding: 9px;
  border-radius: 9px;
  color: #536f7d;
  background: #f4f8fa;
  font-size: 11px;
  line-height: 1.45;
}

.business-goal-alert {
  margin: 8px 0 10px;
  background: #f8fbfc;
}

.business-goal-alert strong {
  display: block;
  color: #24576c;
}

.business-goal-alert p {
  margin: 3px 0 0;
}

.business-goal-card .business-target-edit {
  width: 100%;
  margin-top: auto;
  color: #097a9c;
  border-color: #bcdce7;
  background: #f7fcfd;
}

.performance-country-amounts {
  margin: 0 0 16px;
  overflow: hidden;
  border: 1px solid #d7e7ed;
  border-radius: 14px;
  background: #fff;
}

.performance-country-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 15px;
  border-bottom: 1px solid #e2ecef;
  background: #f3faf9;
}

.performance-country-head strong,
.performance-country-head small {
  display: block;
}

.performance-country-head strong {
  color: #0b5266;
  font-size: 15px;
}

.performance-country-head small {
  margin-top: 3px;
  color: #647e8d;
  font-size: 12px;
}

.performance-country-head > span,
.performance-currency {
  padding: 4px 9px;
  border-radius: 999px;
  color: #087f63;
  background: #e7f7f0;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.performance-country-table-wrap {
  max-height: 310px;
  border: 0;
  border-radius: 0;
}

.performance-country-table {
  min-width: 1040px;
}

.performance-country-table td b,
.performance-country-table td small {
  display: block;
}

.performance-country-table td small {
  margin-top: 3px;
  color: #8295a2;
}

.performance-table {
  min-width: 980px;
}

.performance-table td b,
.performance-table td small {
  display: block;
}

.performance-table td small {
  margin-top: 3px;
  color: #8295a2;
}

.performance-rank strong,
.performance-rank em {
  display: inline-block;
  margin-right: 6px;
}

.performance-rank em {
  color: #7b8c98;
  font-style: normal;
}

.performance-rank .rank-up {
  color: #087f63;
}

.performance-rank .rank-down {
  color: #c34242;
}

@media (max-width: 1500px) {
  .performance-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .performance-diagnosis-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .business-country-operation-grid,
  .business-goal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .performance-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .performance-period-labels {
    display: grid;
  }

  .performance-diagnosis-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .performance-diagnosis-grid {
    grid-template-columns: 1fr;
  }

  .business-country-operation-grid,
  .business-goal-grid,
  .business-goal-summary {
    grid-template-columns: 1fr;
  }

  .business-country-operation-card {
    min-height: 0;
  }
}

/* Air-freight control tower */
.air-hero {
  position:relative;
  min-height:184px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  overflow:hidden;
  padding:30px 34px;
  border:1px solid #0a6688;
  border-radius:16px;
  color:#fff;
  background:
    radial-gradient(circle at 78% 35%, rgba(85,224,219,.27), transparent 24%),
    linear-gradient(125deg,#073a58 0%,#075d7c 52%,#087f83 100%);
  box-shadow:0 18px 38px rgba(7,65,91,.2);
}
.air-hero::after {
  content:"";
  position:absolute;
  right:-70px;
  bottom:-125px;
  width:420px;
  height:260px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:50%;
  transform:rotate(-12deg);
}
.air-hero-copy { position:relative; z-index:2; max-width:760px; }
.air-hero .eyebrow {
  display:block;
  margin-bottom:9px;
  color:#85ebe4;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.air-hero h2 { margin:0; font-size:30px; line-height:1.25; }
.air-hero p { max-width:700px; margin:10px 0 0; color:#d9f2f4; font-size:14px; line-height:1.7; }
.air-hero-radar {
  position:relative;
  z-index:2;
  flex:0 0 136px;
  width:136px;
  height:136px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(255,255,255,.06);
}
.air-hero-radar::before,
.air-hero-radar::after,
.air-hero-radar i {
  content:"";
  position:absolute;
  inset:50%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.air-hero-radar::before { width:88px; height:88px; }
.air-hero-radar::after { width:44px; height:44px; }
.air-hero-radar i:nth-child(1) { width:1px; height:118px; border:0; border-left:1px solid rgba(255,255,255,.16); border-radius:0; }
.air-hero-radar i:nth-child(2) { width:118px; height:1px; border:0; border-top:1px solid rgba(255,255,255,.16); border-radius:0; }
.air-hero-radar i:nth-child(3) { width:60px; height:60px; border:0; border-top:2px solid #6fe6dc; animation:air-radar 3s linear infinite; }
.air-hero-radar b { position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:29px; transform:rotate(-22deg); }
@keyframes air-radar { to { transform:translate(-50%,-50%) rotate(360deg); } }

.air-summary-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.air-summary-grid > div {
  min-width:0;
  padding:17px 18px;
  border:1px solid #dce8ec;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,67,83,.06);
}
.air-summary-grid span,
.air-summary-grid small,
.air-summary-grid b { display:block; }
.air-summary-grid span { color:#5f7884; font-size:12px; font-weight:800; }
.air-summary-grid b { margin:6px 0 3px; color:#0b5069; font-size:25px; line-height:1.1; }
.air-summary-grid small { overflow:hidden; color:#8a9ca5; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.air-summary-grid > div:nth-child(2) b { color:#df7a20; }
.air-summary-grid > div:nth-child(3) b { color:#0c8d72; }

.air-sync-notice {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  margin-top:14px;
  padding:13px 16px;
  border:1px solid #f0d7a7;
  border-radius:11px;
  background:#fff9eb;
  color:#684f27;
}
.air-sync-notice.ok { border-color:#bfe6d8; background:#effaf6; color:#176b56; }
.air-sync-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; color:#fff; background:#e4982d; font-size:18px; font-weight:900; }
.air-sync-notice.ok .air-sync-icon { background:#0c9677; }
.air-sync-notice b { display:block; color:#42361f; font-size:13px; }
.air-sync-notice.ok b { color:#155a49; }
.air-sync-notice p { margin:3px 0 0; font-size:12px; line-height:1.55; }
.air-sync-notice time { color:#8f7c5a; font-size:11px; white-space:nowrap; }

.air-filter-section { overflow:visible; }
.air-filter-form {
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(180px,1.35fr) auto;
  gap:11px;
  align-items:end;
  padding:15px;
}
.air-filter-form label { display:grid; min-width:0; gap:5px; }
.air-filter-form label > span { color:#5c7380; font-size:11px; font-weight:900; }
.air-filter-form input,
.air-filter-form select { width:100%; height:38px; padding:0 10px; border:1px solid #cad9df; border-radius:7px; background:#fff; box-sizing:border-box; outline:none; }
.air-filter-form input:focus,
.air-filter-form select:focus { border-color:#0c7f9c; box-shadow:0 0 0 3px rgba(12,127,156,.1); }
.air-filter-actions { display:flex; gap:7px; }
.air-filter-actions .btn { min-height:38px; }

.air-country-overview {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:9px;
  margin-top:14px;
}
.air-country-card {
  min-width:0;
  padding:13px 14px;
  border:1px solid #dce7eb;
  border-radius:10px;
  text-align:left;
  background:#fff;
  color:#47636f;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.air-country-card:hover { transform:translateY(-2px); border-color:#89c7cf; box-shadow:0 8px 20px rgba(20,79,94,.09); }
.air-country-card.active { border-color:#0b8494; background:linear-gradient(145deg,#f0fbfb,#fff); box-shadow:inset 0 0 0 1px #0b8494; }
.air-country-card span,
.air-country-card b,
.air-country-card small { display:block; }
.air-country-card span { color:#0a8395; font-size:11px; font-weight:900; letter-spacing:.08em; }
.air-country-card b { margin:3px 0; color:#173f51; font-size:21px; }
.air-country-card small { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }

.air-list-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:23px 2px 10px; }
.air-list-head h2 { margin:0; color:#153b4c; font-size:20px; }
.air-list-head p { margin:4px 0 0; color:#7b909a; font-size:12px; }
.air-list-head > span { color:#57717d; font-size:12px; font-weight:900; }
.air-batch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.air-batch-card {
  min-width:0;
  overflow:hidden;
  border:1px solid #d9e7eb;
  border-radius:13px;
  background:#fff;
  box-shadow:0 9px 26px rgba(18,67,82,.07);
  transition:transform .16s ease,box-shadow .16s ease;
}
.air-batch-card:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(18,67,82,.12); }
.air-batch-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding:17px 18px 13px; }
.air-batch-identity { display:flex; min-width:0; gap:11px; }
.air-country-code { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(145deg,#08647c,#0b948c); font-size:12px; font-weight:900; letter-spacing:.06em; box-shadow:0 5px 12px rgba(7,112,127,.2); }
.air-batch-identity > div { min-width:0; }
.air-batch-identity small { color:#708792; font-size:11px; font-weight:800; }
.air-batch-identity h3 { overflow:hidden; margin:3px 0 1px; color:#173d4e; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.air-batch-identity p { overflow:hidden; margin:0; color:#7e919a; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.air-batch-status { display:grid; justify-items:end; flex:0 0 auto; gap:6px; }
.air-batch-status small { color:#8a9ba2; font-size:10px; }
.air-status { display:inline-flex; align-items:center; min-height:24px; padding:1px 9px; border-radius:999px; font-size:11px; font-weight:900; white-space:nowrap; }
.air-status.moving { color:#b35e0c; background:#fff0dc; }
.air-status.receiving { color:#13718c; background:#e6f5f9; }
.air-status.complete { color:#08735d; background:#e4f6ef; }
.air-status.cancelled { color:#9e4c4c; background:#f9eaea; }
.air-status.pending { color:#657580; background:#edf2f4; }

.air-progress { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:8px 18px 13px; }
.air-progress span { position:relative; display:grid; justify-items:center; gap:5px; min-width:0; color:#9ba9af; }
.air-progress span::before { content:""; position:absolute; top:10px; right:50%; width:100%; height:2px; background:#dce5e8; }
.air-progress span:first-child::before { display:none; }
.air-progress span.done::before { background:#3db5a3; }
.air-progress i { position:relative; z-index:1; display:grid; width:21px; height:21px; place-items:center; border:2px solid #d6e1e4; border-radius:50%; background:#fff; font-size:9px; font-style:normal; font-weight:900; }
.air-progress span.done i { border-color:#39ad9d; color:#fff; background:#39ad9d; }
.air-progress span.current i { box-shadow:0 0 0 4px rgba(57,173,157,.14); }
.air-progress em { overflow:hidden; max-width:100%; font-size:9px; font-style:normal; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.air-progress span.done em { color:#287c72; }

.air-batch-body { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr); gap:14px; padding:13px 18px; border-top:1px solid #edf3f5; background:#fbfdfd; }
.air-latest-track { display:flex; min-width:0; gap:10px; }
.air-latest-track > i { flex:0 0 8px; width:8px; height:8px; margin-top:6px; border:3px solid #d9f2ed; border-radius:50%; background:#12a687; }
.air-latest-track > div { display:grid; min-width:0; gap:2px; }
.air-latest-track small { color:#80949d; font-size:10px; font-weight:800; }
.air-latest-track b { overflow:hidden; color:#264c5a; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.air-latest-track time { color:#91a0a6; font-size:10px; }
.air-latest-track .sea-eta { color:#0b7f91; font-size:10px; font-weight:900; }
.air-batch-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.air-batch-metrics span { min-width:0; padding-left:7px; border-left:1px solid #dfebee; }
.air-batch-metrics small,
.air-batch-metrics b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.air-batch-metrics small { color:#84969e; font-size:9px; }
.air-batch-metrics b { margin-top:3px; color:#184b5b; font-size:13px; }
.air-sku-strip { display:flex; min-height:26px; align-items:center; gap:6px; overflow:hidden; padding:10px 18px; border-top:1px solid #edf3f5; }
.air-sku-strip span { display:inline-flex; min-width:0; align-items:center; gap:5px; padding:4px 7px; border-radius:5px; color:#42636e; background:#edf5f6; font-size:9px; white-space:nowrap; }
.air-sku-strip span b { max-width:110px; overflow:hidden; text-overflow:ellipsis; }
.air-sku-strip span em { color:#0b8a7d; font-style:normal; font-weight:900; }
.air-sku-strip .more { color:#0b7f91; background:#e5f5f6; font-weight:900; }
.air-sku-strip .empty { color:#8b9ca3; }
.air-batch-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 18px; border-top:1px solid #e7eff1; }
.air-batch-foot > span { overflow:hidden; color:#7b8f98; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.air-detail-btn { border-color:transparent; color:#087a8c; background:transparent; box-shadow:none; }
.air-detail-btn:hover { border-color:#b6dce1; background:#f0f9f9; }
.air-detail-btn b { margin-left:4px; }
.air-empty { grid-column:1/-1; display:grid; justify-items:center; gap:7px; padding:55px 20px; color:#7a8f98; }
.air-empty b { color:#294e5b; }

.air-detail-modal { min-width:0; }
.air-detail-title { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px; padding-right:44px; }
.air-detail-title small { color:#748993; font-size:11px; font-weight:800; }
.air-detail-title h2 { margin:3px 0 1px; color:#123e50; font-size:21px; }
.air-detail-title p { margin:0; color:#84969e; font-size:11px; }
.air-detail-modal > .air-progress { margin:18px 0 4px; padding:10px 2px 16px; }

.sea-hero {
  background:
    radial-gradient(circle at 78% 16%, rgba(90,189,222,.28), transparent 31%),
    linear-gradient(120deg, #073956 0%, #07506d 49%, #087b89 100%);
}
.sea-hero::after { background:linear-gradient(135deg, transparent 12%, rgba(120,220,231,.15)); }
.sea-radar b { transform:none; color:#d8fbff; }
.sea-radar i:nth-child(3) { border-top-color:#75d9ed; }
.sea-progress span.done::before { background:#2c9db2; }
.sea-progress span.done i { border-color:#238ca7; background:#238ca7; }
.sea-progress span.current i { box-shadow:0 0 0 4px rgba(35,140,167,.15); }
.sea-progress span.done em { color:#17677b; }
.sea-batch-card { border-top:3px solid #2b9bb2; }
.sea-batch-card .air-country-code,
.sea-detail-modal .air-country-code { background:linear-gradient(145deg,#07506d,#0b91a3); }
.sea-notice .air-sync-icon { width:36px; border-radius:9px; background:#137d96; font-size:10px; }
.air-detail-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; margin-bottom:14px; border:1px solid #dce8eb; border-radius:9px; background:#f8fbfc; }
.air-detail-stats span { min-width:0; padding:11px 13px; border-right:1px solid #dce8eb; }
.air-detail-stats span:last-child { border-right:0; }
.air-detail-stats small,
.air-detail-stats b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.air-detail-stats small { color:#7e929a; font-size:10px; }
.air-detail-stats b { margin-top:4px; color:#234b5a; font-size:12px; }
.sea-detail-stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
.air-detail-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:14px; }
.air-detail-panel { min-width:0; overflow:hidden; border:1px solid #dbe7ea; border-radius:10px; background:#fff; }
.air-panel-title { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border-bottom:1px solid #e5edef; background:#f8fbfc; }
.air-panel-title h3 { margin:0; color:#173f50; font-size:15px; }
.air-panel-title p { margin:3px 0 0; color:#7d9098; font-size:10px; }
.air-panel-title > b { color:#0a837e; font-size:13px; }
.air-item-table { max-height:370px; overflow:auto; }
.air-item-table table { width:100%; min-width:560px; border-collapse:collapse; }
.air-item-table th,
.air-item-table td { padding:9px 10px; border-bottom:1px solid #edf2f3; text-align:left; font-size:10px; }
.air-item-table th { position:sticky; top:0; z-index:1; color:#6b808a; background:#f3f7f8; }
.air-item-table td { color:#3b5965; }
.air-item-table td b,
.air-item-table td small { display:block; }
.air-item-table td b { color:#153e4d; }
.air-item-table td small { margin-top:2px; color:#87979e; }
.air-waybill-tabs { display:flex; gap:6px; overflow-x:auto; padding:10px 13px; border-bottom:1px solid #edf2f3; }
.air-waybill-tabs span { padding:5px 8px; border-radius:5px; color:#08798a; background:#eaf6f7; font-size:9px; font-weight:900; white-space:nowrap; }
.air-waybill-track-groups { display:grid; gap:10px; max-height:390px; overflow:auto; padding:11px; background:#f6fafb; }
.air-waybill-track { overflow:hidden; border:1px solid #dbe8eb; border-radius:9px; background:#fff; }
.air-waybill-track > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 11px; border-bottom:1px solid #e8eff1; background:#f9fcfc; }
.air-waybill-track > header div { display:grid; gap:2px; min-width:0; }
.air-waybill-track > header small { color:#84969e; font-size:8px; }
.air-waybill-track > header b { overflow:hidden; color:#155164; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.air-waybill-track > header span { flex:none; padding:4px 7px; border-radius:999px; color:#08796e; background:#e5f5f1; font-size:9px; font-weight:900; }
.air-waybill-track .air-timeline { max-height:230px; padding:11px 12px 2px; }
.air-waybill-empty { padding:18px; color:#82969d; font-size:10px; text-align:center; }
.air-latest-track.mixed > i { background:#e59d27; box-shadow:0 0 0 4px #fff1d9; }
.air-track-pending { display:grid; justify-items:center; gap:5px; padding:26px 18px; color:#81939a; text-align:center; }
.air-track-pending i { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; color:#0a8391; background:#eaf7f7; font-size:24px; font-style:normal; }
.air-track-pending b { color:#385e6b; font-size:12px; }
.air-track-pending p { max-width:320px; margin:0; font-size:10px; line-height:1.5; }
.air-timeline { max-height:330px; overflow:auto; padding:13px 14px 6px; }
.air-timeline-event { position:relative; display:grid; grid-template-columns:15px minmax(0,1fr); gap:8px; padding-bottom:17px; }
.air-timeline-event::before { content:""; position:absolute; top:10px; bottom:-2px; left:5px; width:1px; background:#d9e6e8; }
.air-timeline-event:last-child::before { display:none; }
.air-timeline-event > i { position:relative; z-index:1; width:9px; height:9px; margin-top:4px; border:1px solid #a6b9bf; border-radius:50%; background:#fff; }
.air-timeline-event.latest > i { border-color:#0d9a80; background:#0d9a80; box-shadow:0 0 0 4px #ddf3ee; }
.air-timeline-event > div { display:grid; gap:3px; min-width:0; }
.air-timeline-event time { color:#0b8a7b; font-size:10px; font-weight:900; }
.air-timeline-event b { color:#294d5a; font-size:11px; line-height:1.45; }
.air-timeline-event small { color:#8a9ba1; font-size:9px; }

@media (max-width:1450px) {
  .air-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .air-filter-form { grid-template-columns:repeat(3,minmax(140px,1fr)); }
  .air-filter-actions { justify-content:flex-end; }
  .air-batch-grid { grid-template-columns:1fr; }
}
@media (max-width:980px) {
  .air-hero { min-height:150px; padding:24px; }
  .air-hero-radar { flex-basis:104px; width:104px; height:104px; }
  .air-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .air-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .air-filter-actions { grid-column:1/-1; }
  .air-batch-body,
  .air-detail-columns { grid-template-columns:1fr; }
  .air-detail-stats,
  .sea-detail-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .air-detail-stats span { border-bottom:1px solid #dce8eb; }
  .air-detail-stats span:nth-child(even) { border-right:0; }
  .air-detail-stats span:last-child { border-bottom:0; }
}
@media (max-width:620px) {
  .air-hero { min-height:0; padding:21px 18px; }
  .air-hero h2 { font-size:24px; }
  .air-hero-radar { display:none; }
  .air-summary-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .air-summary-grid > div { padding:14px; }
  .air-summary-grid > div:last-child { grid-column:1/-1; }
  .air-sync-notice { grid-template-columns:auto minmax(0,1fr); align-items:start; }
  .air-sync-notice time { grid-column:2; }
  .air-filter-form { grid-template-columns:1fr; }
  .air-filter-actions { grid-column:auto; }
  .air-batch-head,
  .air-batch-foot { align-items:flex-start; }
  .air-batch-foot { flex-direction:column; }
  .air-batch-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:9px; }
  .air-progress { padding-left:8px; padding-right:8px; }
  .air-progress em { display:none; }
  .air-detail-title { grid-template-columns:auto minmax(0,1fr); }
  .air-detail-title .air-status { grid-column:2; justify-self:start; }
  .air-detail-stats,
  .sea-detail-stats { grid-template-columns:1fr; }
  .air-detail-stats span { border-right:0; border-bottom:1px solid #dce8eb; }
  .air-detail-stats span:last-child { border-bottom:0; }
}
.product-finder-final-review{display:grid;gap:12px;padding:18px;border:1px solid #f0d399;border-radius:15px;background:linear-gradient(135deg,#fffaf0,#fff)}
.product-finder-evidence-status{display:grid;gap:10px;padding:15px 18px;border:1px solid #cfe5ea;border-radius:15px;background:#f5fbfc}.product-finder-evidence-status>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.product-finder-evidence-status h3{margin:2px 0 0;color:#153f57;font-size:17px}.product-finder-evidence-status p{max-width:680px;margin:0;color:#607d8b;font-size:12px}.product-finder-evidence-status>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.product-finder-evidence-status>div>b,.product-finder-evidence-status>div>span,.product-finder-evidence-status i{padding:6px 9px;border-radius:999px;background:#fff;color:#486879;font-size:11px;font-style:normal}.product-finder-evidence-status i.active{background:#e3f7ed;color:#117248}.product-finder-evidence-status i.waiting{background:#fff2df;color:#926116}
.product-finder-precision-status{display:grid;gap:12px;padding:17px 18px;border:1px solid #c8e2e7;border-radius:15px;background:linear-gradient(135deg,#f1fbfc,#fff)}.product-finder-precision-status>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.product-finder-precision-status h3{margin:2px 0 0;color:#123e58;font-size:18px}.product-finder-precision-status p{max-width:620px;margin:0;color:#66808f;font-size:12px}.product-finder-precision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.product-finder-precision-grid article{display:grid;gap:2px;padding:13px;border:1px solid #d7e7eb;border-radius:11px;background:#fff}.product-finder-precision-grid article.exact{border-color:#b8e0d1;background:#f3fcf7}.product-finder-precision-grid b{color:#0c7e91;font-size:25px;line-height:1}.product-finder-precision-grid article.exact b{color:#128252}.product-finder-precision-grid span{color:#153d55;font-size:13px;font-weight:800}.product-finder-precision-grid small{color:#718995;font-size:11px}
.business-data-control{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:11px 16px;border:1px solid;border-radius:12px;font-size:12px}.business-data-control b{white-space:nowrap;font-size:13px}.business-data-control span{line-height:1.5;text-align:right}.business-data-control.is-pass{border-color:#b9e3d3;background:#edf9f4;color:#176c54}.business-data-control.is-warn{border-color:#f2d28a;background:#fff8e8;color:#8b5b00}.business-data-control.is-fail{border-color:#f1bdb7;background:#fff1ef;color:#a23f35}
.business-money-governance{margin-top:12px}.business-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.business-money-grid article{padding:14px;border:1px solid #e4edf3;border-radius:12px;background:#f8fbfd}.business-money-grid label{display:block;margin-bottom:9px;color:#587083;font-size:12px;font-weight:700}.business-money-grid article>div{display:flex;flex-wrap:wrap;gap:7px}.business-money-grid article span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;background:#fff;border:1px solid #e1eaf0}.business-money-grid article span b{color:#1d607f;font-size:11px}.business-money-grid article span em{color:#18364a;font-size:12px;font-style:normal;font-weight:700}.business-money-grid .money-empty{color:#8093a1;font-weight:400}
.business-sku-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.business-sku-pagination span{color:#6f8795;font-size:12px}.business-sku-pagination .btn:disabled,.business-target-edit:disabled,[data-exception-closure]:disabled{cursor:not-allowed;opacity:.48}
.business-data-control.is-info{border-color:#d3e3ed;background:#f6fbff;color:#36566e}
@media(max-width:720px){.business-data-control{align-items:flex-start;flex-direction:column;gap:5px}.business-data-control span{text-align:left}.business-money-grid{grid-template-columns:1fr}.business-sku-pagination{justify-content:space-between}}
.product-finder-final-review>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.product-finder-final-review>header h3{margin:0;color:#6d4900;font-size:17px}.product-finder-final-review>header p{margin:4px 0 0;color:#806b45;font-size:12px}.product-finder-final-review>header b{display:grid;min-width:36px;height:36px;place-items:center;border-radius:50%;background:#f4a62a;color:#fff}
.product-finder-final-review>header>nav{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.product-finder-final-review>header>nav>label{color:#806b45;font-size:12px;white-space:nowrap}.product-finder-final-review-check{display:grid;place-items:center}.product-finder-final-review-check input{width:18px;height:18px;accent-color:#0b8dab}
.product-finder-final-review-list,.product-finder-final-review-card{display:grid;gap:10px}.product-finder-final-review-card{padding:14px;border:1px solid #ead9b8;border-radius:12px;background:#fff}.product-finder-final-review-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.product-finder-final-review-card h4{margin:0;color:#263f50;font-size:15px}.product-finder-final-review-card small{color:#8a795b}.product-finder-final-review-card>header>span{white-space:nowrap;color:#9d6800;font-size:11px}
.product-finder-final-review-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-finder-final-review-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;border:1px solid #d7e5e9;border-radius:9px;background:#f8fbfc}.product-finder-final-review-candidate>a{min-width:0;overflow:hidden;color:#087da8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.product-finder-final-review-candidate .btn{padding:7px 9px;font-size:11px}.product-finder-final-review-close{justify-self:start;border-color:#dfb86c;color:#8a5c00;background:#fff8ea}
/* Dedicated demand-driven finder.  It intentionally does not inherit the
   dense five-column competitor radar layout. */
.product-finder-page{display:grid;gap:16px}.product-finder-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-top:4px solid #1498a4;background:linear-gradient(135deg,#f4fcfd,#fff)}.product-finder-hero>div{min-width:0}.product-finder-hero small{color:#078a98;font-weight:800;letter-spacing:.12em}.product-finder-hero h2{margin:6px 0 4px;color:#092d48;font-size:24px}.product-finder-hero p{margin:0;color:#667f91}.product-finder-hero .btn{min-width:180px;height:46px}.product-finder-hero-actions{display:flex;gap:10px;flex:0 0 auto}.product-finder-hero-actions .btn{min-width:145px}.product-finder-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-finder-tabs button{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3px 18px;text-align:left;border:1px solid #d7e7ed;border-radius:14px;padding:16px 20px;background:#fff;color:#173e59;cursor:pointer;box-shadow:0 5px 18px rgba(18,63,89,.05)}.product-finder-tabs button:hover,.product-finder-tabs button.active{border-color:#169ba7;box-shadow:0 7px 24px rgba(11,143,154,.13)}.product-finder-tabs button.active{background:linear-gradient(135deg,#087cab,#13a79d);color:#fff}.product-finder-tabs strong{font-size:18px}.product-finder-tabs span{font-size:13px;opacity:.72}.product-finder-tabs b{grid-row:1/3;grid-column:2;align-self:center;display:grid;place-items:center;min-width:37px;height:37px;border-radius:50%;background:#eef6f8;font-size:15px}.product-finder-tabs button.active b{background:rgba(255,255,255,.18)}.product-finder-toolbar{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #d9e8ed;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 6px 18px rgba(17,60,83,.06);backdrop-filter:blur(8px)}.product-finder-filter-group{display:flex;flex-wrap:wrap;gap:7px}.product-finder-filter-group button{padding:8px 12px;border:1px solid #d2e3e8;border-radius:999px;background:#f7fbfc;color:#486a7d;cursor:pointer}.product-finder-filter-group button.active{border-color:#0d929f;background:#e6f7f7;color:#087b89;font-weight:800}.product-finder-toolbar label{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d3e3e8;border-radius:10px;background:#fff}.product-finder-toolbar label span{font-size:12px;font-weight:800;color:#78909e}.product-finder-toolbar input{width:100%;min-width:0;padding:10px 0;border:0;outline:0;background:transparent;color:#173e59}.product-finder-toolbar>b{white-space:nowrap;color:#6f8998;font-size:12px}.product-finder-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.product-finder-request-card{min-width:0;padding:18px;border:1px solid #d8e7ed;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(22,62,85,.05)}.product-finder-request-card[hidden]{display:none}.product-finder-request-card>header{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:start}.product-finder-request-card>header>div{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:#e7f6f7;color:#087e91;font-weight:800;overflow:hidden}.product-finder-request-card>header img{width:100%;height:100%;object-fit:cover}.product-finder-request-card>header small{color:#7690a1}.product-finder-request-card h3{margin:3px 0;font-size:17px;line-height:1.35;color:#123a54}.product-finder-request-card p{margin:0;color:#507085;font-size:13px}.product-finder-request-card header section>a{display:inline-block;margin-top:5px;color:#087da8;font-size:13px}.product-finder-request-card header>b{padding:6px 9px;border-radius:999px;background:#edf6f7;color:#087b8e;font-size:12px;white-space:nowrap}.product-finder-request-card header>b.done{background:#e7f7ef;color:#078651}.product-finder-request-card header>b.similar{background:#fff4dc;color:#a86a00}.product-finder-evidence-grid,.product-finder-video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid #e5eef2}.product-finder-evidence-grid button,.product-finder-video-list a{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:11px 12px;border:1px solid #cfe4e9;border-radius:10px;background:#f7fbfc;text-decoration:none;color:#143b54;text-align:left}.product-finder-evidence-grid button{cursor:pointer}.product-finder-evidence-grid button:hover,.product-finder-video-list a:hover{border-color:#0f96a4;background:#effafb}.product-finder-evidence-grid strong,.product-finder-video-list strong{font-size:13px;color:#067f92}.product-finder-evidence-grid span,.product-finder-video-list span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.product-finder-evidence-grid small,.product-finder-video-list small{color:#6d8797;font-size:11px}.product-finder-pending{position:relative;margin-top:13px;padding:16px 0 0;border-top:1px solid #e5eef2;overflow:hidden}.product-finder-pending:before{content:"";display:block;height:6px;border-radius:99px;background:#e7eff2}.product-finder-pending i{position:absolute;top:16px;left:0;height:6px;border-radius:99px;background:linear-gradient(90deg,#087eae,#18ab9a)}.product-finder-pending span{display:block;margin-top:7px;color:#718997;font-size:11px}.product-finder-more{justify-self:center;min-width:180px}.product-finder-no-results{padding:24px;border:1px dashed #cbdde4;border-radius:13px;background:#f8fbfc;color:#6d8797;text-align:center}.product-finder-loading{display:flex;flex-direction:column;gap:6px}.product-finder-loading span{color:#718997}.material-request-editor .material-request-countries{display:flex;flex-wrap:wrap;gap:8px}.material-request-editor .material-request-countries label{padding:8px 10px;border:1px solid #d4e4e9;border-radius:9px}.material-request-standard{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-left:4px solid #0e9aa5;border-radius:10px;background:#effafa}.material-request-standard b{color:#087b8e}.material-request-standard small{color:#69818f}.product-material-import{display:grid;gap:16px;min-width:min(920px,82vw)}.product-material-import>small{color:#078b99;font-weight:800;letter-spacing:.12em}.product-material-import h2,.product-material-import p{margin:0}.product-material-import p{color:#668092}.product-material-import-drop{position:relative;display:grid;place-items:center;gap:5px;padding:30px;border:2px dashed #a9d3dc;border-radius:16px;background:#f4fbfc;text-align:center}.product-material-import-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.product-material-import-drop strong{font-size:19px;color:#0a7188}.product-material-import-drop span{color:#728b99}.product-material-import-rules{display:flex;flex-wrap:wrap;gap:8px 14px;padding:13px 16px;border-radius:11px;background:#eef8fa;color:#577485}.product-material-import-rules b{color:#087d90}.product-material-import-summary{display:flex;justify-content:space-between;gap:20px;align-items:end}.product-material-import-summary>div{display:flex;flex-direction:column;gap:3px}.product-material-import-summary span{color:#718a99}.product-material-import-summary label{display:grid;gap:5px;color:#587386;font-weight:700}.product-material-import-summary select{min-width:240px;padding:10px;border:1px solid #cfdee5;border-radius:9px;background:#fff}.product-material-import-warning{padding:12px 14px;border-radius:9px;background:#fff3dc;color:#9b6500}.product-material-import-toolbar{display:flex;justify-content:space-between;gap:20px;color:#587386}.product-material-import-toolbar label{font-weight:700;color:#123f58}.product-material-import-table{max-height:52vh;overflow:auto;border:1px solid #d8e6eb;border-radius:12px}.product-material-import-table table{width:100%;border-collapse:collapse}.product-material-import-table th{position:sticky;top:0;z-index:1;padding:11px;background:#eef6f8;text-align:left;color:#527183}.product-material-import-table td{padding:11px;border-top:1px solid #e7eef1;vertical-align:top}.product-material-import-table tr.invalid{opacity:.55}.product-material-import-table td strong,.product-material-import-table td small{display:block}.product-material-import-table td small{max-width:430px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8e9b}.product-material-import-table a{color:#087da8}.product-material-import-table td>b{color:#13804f}.product-material-import-footer{display:flex;justify-content:flex-end;gap:10px}
.product-finder-owner{display:inline-flex;align-items:center;width:max-content;margin:2px 0 5px;padding:3px 8px;border:1px solid #b9dde6;border-radius:999px;background:#eaf8fb;color:#087d91;font-size:12px;font-weight:800;line-height:1.35}
@media(max-width:1250px){.product-finder-list{grid-template-columns:1fr}.product-finder-toolbar{grid-template-columns:1fr minmax(240px,360px)}.product-finder-toolbar>b{display:none}.product-finder-precision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.product-finder-hero{align-items:flex-start;flex-direction:column;padding:19px}.product-finder-hero .btn{width:100%}.product-finder-hero-actions{width:100%;flex-direction:column}.product-finder-tabs{grid-template-columns:1fr}.product-finder-toolbar{position:static;grid-template-columns:1fr}.product-finder-filter-group{display:grid;grid-template-columns:repeat(2,1fr)}.product-finder-request-card{padding:15px}.product-finder-request-card>header{grid-template-columns:48px minmax(0,1fr)}.product-finder-request-card>header>div{width:48px;height:48px}.product-finder-request-card header>b{grid-column:2;justify-self:start}.product-finder-evidence-grid,.product-finder-video-list{grid-template-columns:1fr}.product-finder-precision-status>header{flex-direction:column}.product-finder-precision-grid{grid-template-columns:1fr}.product-material-import{min-width:0}.product-material-import-summary,.product-material-import-toolbar{align-items:stretch;flex-direction:column}.product-material-import-summary select{min-width:0;width:100%}.product-material-import-table{max-height:46vh}.product-material-import-footer{flex-direction:column}.product-material-import-footer .btn{width:100%}}
.selection-sla-page { display:grid; gap:18px; }
.selection-sla-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 28px; background:linear-gradient(135deg,#073d5b,#0e778d 58%,#16a799); color:#fff; }
.selection-sla-hero small { color:#8fe6de; font-size:11px; font-weight:900; letter-spacing:.13em; }
.selection-sla-hero h2 { margin:7px 0 5px; font-size:25px; }
.selection-sla-hero p { max-width:800px; margin:0; color:#d6f2f1; line-height:1.65; }
.selection-sla-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.selection-sla-summary article { min-width:0; padding:18px; border:1px solid #dce9ee; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(21,67,86,.06); }
.selection-sla-summary label,.selection-sla-summary small { display:block; color:#718996; font-size:12px; }
.selection-sla-summary b { display:block; margin:7px 0 4px; color:#123f52; font-size:25px; }
.selection-sla-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.selection-sla-head h2 { margin:0 0 4px; color:#123f52; }
.selection-sla-head p,.selection-sla-head span { margin:0; color:#718996; font-size:12px; }
.selection-sla-table-wrap { overflow:auto; }
.selection-sla-table-wrap table { min-width:1050px; }
.selection-sla-table-wrap td strong,.selection-sla-table-wrap td small { display:block; }
.selection-sla-table-wrap td small { margin-top:4px; color:#8396a0; font-size:11px; }
.selection-sla-state,.selection-sla-bool { display:inline-flex; align-items:center; justify-content:center; min-width:42px; padding:5px 8px; border-radius:999px; font-size:11px; font-weight:900; }
.selection-sla-state.healthy,.selection-sla-bool.yes { background:#dff6ee; color:#087965; }
.selection-sla-state.degraded { background:#fff2d9; color:#9a6300; }
.selection-sla-state.idle,.selection-sla-bool.no { background:#eef2f4; color:#70838c; }
.selection-sla-lower { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.selection-identity-card small,.selection-outcome-card small { color:#148b91; font-size:11px; font-weight:900; letter-spacing:.1em; }
.selection-identity-card h2,.selection-outcome-card h2 { margin:8px 0; color:#123f52; }
.selection-identity-card p,.selection-outcome-card p { color:#6e8792; line-height:1.65; }
.selection-identity-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:16px 0 0; }
.selection-identity-card dl div { padding:10px; border-radius:10px; background:#f0f7f8; }
.selection-identity-card dt { color:#6d8792; font-size:11px; }
.selection-identity-card dd { margin:4px 0 0; color:#17495a; font-weight:900; }
.selection-outcome-progress { overflow:hidden; height:10px; margin:14px 0; border-radius:999px; background:#e6eff1; }
.selection-outcome-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0f78a4,#16a997); }
.selection-outcome-card ul { margin:12px 0 0; padding-left:20px; color:#567582; line-height:1.8; }
@media (max-width:1100px) { .selection-sla-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .selection-sla-lower { grid-template-columns:1fr; } }
@media (max-width:720px) { .selection-sla-hero { align-items:flex-start; flex-direction:column; } .selection-sla-summary { grid-template-columns:1fr; } }
.competitor-availability-notice{display:flex;align-items:center;gap:12px;margin:10px 0 14px;padding:12px 14px;border:1px solid #9dd9d1;border-radius:12px;background:#effbf8;color:#145f59}.competitor-availability-notice strong{font-size:14px}.competitor-availability-notice span{font-size:13px;color:#477873}

/* Fast finder: keep this page focused on submission and usable results. */
.product-finder-page{gap:12px}.product-finder-hero{padding:17px 20px;border-top:3px solid #1498a4;box-shadow:none}.product-finder-hero h2{margin:0 0 4px;font-size:21px}.product-finder-hero p{font-size:13px}.product-finder-hero .btn{min-width:130px;height:40px}.product-finder-tabs{gap:8px}.product-finder-tabs button{padding:13px 17px;border-radius:12px;box-shadow:none}.product-finder-tabs strong{font-size:16px}.product-finder-tabs span{font-size:12px}.product-finder-tabs b{min-width:32px;height:32px}.product-finder-toolbar{position:static;padding:10px 12px;box-shadow:none}.product-finder-list{grid-template-columns:1fr;gap:10px}.product-finder-request-card{padding:15px;box-shadow:none}.product-finder-evidence-grid,.product-finder-video-list{grid-template-columns:repeat(3,minmax(0,1fr))}.finder-quick-request>p,.material-request-editor>p{margin-bottom:14px}.finder-quick-request form,.material-request-editor form{gap:12px}.finder-advanced{padding:10px 12px;border:1px solid #d7e7ec;border-radius:10px;background:#f8fbfc}.finder-advanced summary{cursor:pointer;color:#517181;font-weight:800}.finder-advanced .field{margin-top:10px}.finder-exact-only{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #cfe4e8;border-radius:10px;background:#f5fbfc}.finder-exact-only input{margin-top:3px}.finder-exact-only span{display:grid;gap:3px}.finder-exact-only b{color:#17475b}.finder-exact-only small{color:#708895}.finder-result-standard{display:flex;align-items:center;gap:10px;padding:11px 14px;border-left:4px solid #0e9aa5;border-radius:9px;background:#effafa;color:#5d7885}.finder-result-standard b{color:#087b8e}.material-request-standard{padding:11px 14px}.material-request-standard small{display:none}
@media(max-width:720px){.product-finder-hero{padding:16px}.product-finder-evidence-grid,.product-finder-video-list{grid-template-columns:1fr}.finder-result-standard{align-items:flex-start;flex-direction:column;gap:3px}}

/* Source-first western competitor library. */
.competitor-source-workspaces{grid-template-columns:repeat(4,minmax(0,1fr))}
.competitor-source-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(480px,.75fr);align-items:center;gap:28px;margin:14px 0;padding:24px 26px;border-top:4px solid #0f98a4;border-radius:15px;background:linear-gradient(135deg,#effafb,#fff);box-shadow:0 8px 26px rgba(22,78,99,.06)}
.competitor-source-hero small{color:#078896;font-size:11px;font-weight:900;letter-spacing:.12em}.competitor-source-hero h2{margin:6px 0;color:#0e3650;font-size:24px;line-height:1.35}.competitor-source-hero p{margin:0;color:#67808e;font-size:13px;line-height:1.65}.competitor-source-hero dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid #d4e7e9;border-radius:13px;background:#fff;overflow:hidden}.competitor-source-hero dl div{padding:15px 10px;border-right:1px solid #e2edef;text-align:center}.competitor-source-hero dl div:last-child{border-right:0}.competitor-source-hero dt{color:#0d7f91;font-size:23px;font-weight:900}.competitor-source-hero dd{margin:4px 0 0;color:#6a818c;font-size:11px}
.competitor-source-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;padding:13px 15px;border:1px solid #d7e7eb;border-radius:13px;background:#fff}.competitor-source-toolbar nav,.competitor-source-toolbar form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.competitor-source-toolbar nav button{padding:9px 12px;border:1px solid #d1e2e6;border-radius:999px;background:#f7fbfc;color:#426675;cursor:pointer}.competitor-source-toolbar nav button.active{border-color:#0e95a0;background:#e7f8f7;color:#087985}.competitor-source-toolbar nav b{margin-left:4px}.competitor-source-toolbar select,.competitor-source-toolbar input{min-height:38px;padding:8px 10px;border:1px solid #cedee4;border-radius:9px;background:#fff;color:#274b5c}.competitor-source-toolbar input{min-width:220px}
.competitor-source-scope-note{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;border:1px solid #cbe2e6;border-radius:10px;background:#f4fafb;color:#5c7784;font-size:12px}.competitor-source-scope-note strong{color:#176274}
.competitor-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.competitor-source-grid>.empty{grid-column:1/-1}.competitor-source-card{display:grid;grid-template-rows:auto auto minmax(92px,1fr) auto;gap:13px;min-width:0;padding:17px;border:1px solid #d6e6ea;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(18,65,84,.05)}.competitor-source-card.followed{border-color:#80cfc1;box-shadow:0 8px 22px rgba(17,143,124,.09)}.competitor-source-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px}.competitor-source-avatar{display:grid;width:43px;height:43px;place-items:center;border-radius:12px;background:#e8f5f8;color:#087c98;font-size:11px;font-weight:900}.competitor-source-avatar.website{background:#e8f7f1;color:#0d7e5e}.competitor-source-card header>div{display:grid;min-width:0;gap:3px}.competitor-source-card header small{color:#6f8893;font-size:10px}.competitor-source-card header strong{overflow:hidden;color:#153e55;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.competitor-source-card header p,.competitor-source-product p{display:flex;gap:5px;flex-wrap:wrap;margin:0}.competitor-source-card header p span,.competitor-source-product p span{padding:3px 6px;border-radius:999px;background:#eef6f8;color:#5d7886;font-size:9px}.competitor-source-follow-badge{padding:5px 8px;border-radius:999px;background:#e1f7ee;color:#0d7c5b;font-size:10px;white-space:nowrap}.competitor-source-card>dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-radius:10px;background:#f1f8f9}.competitor-source-card>dl div{padding:10px 7px;text-align:center}.competitor-source-card dt{color:#0a8192;font-size:19px;font-weight:900}.competitor-source-card dd{margin:2px 0 0;color:#6c858f;font-size:10px}.competitor-source-card>section{display:grid;align-content:start;gap:7px}.competitor-source-card>section>small{color:#728894}.competitor-source-card>section>div{display:flex;gap:5px;flex-wrap:wrap}.competitor-source-card>section>div span{max-width:100%;overflow:hidden;padding:4px 7px;border:1px solid #dce9ec;border-radius:7px;color:#476b7a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.competitor-source-card time{color:#91a2a9;font-size:10px}.competitor-source-card>footer{display:flex;gap:7px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #e7eff1}.competitor-source-card>footer .btn{flex:1 1 auto;min-height:34px;padding:7px 9px;font-size:10px}.competitor-source-follow.active{border-color:#83cdbd;background:#edf9f5;color:#14745d}
.competitor-source-pagination,.competitor-source-detail-pages{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:12px 14px;border:1px solid #d8e6ea;border-radius:11px;background:#fff;color:#6b838e;font-size:11px}.competitor-source-pagination>div,.competitor-source-detail-pages>div{display:flex;align-items:center;gap:6px}.competitor-source-pagination button{min-width:34px;padding:7px;border:1px solid #cfdee3;border-radius:7px;background:#fff;color:#416674;cursor:pointer}.competitor-source-pagination button.active{border-color:#0d929e;background:#0d929e;color:#fff}.competitor-source-pagination button:disabled{cursor:not-allowed;opacity:.4}
.competitor-source-detail{display:grid;width:100%;min-width:0;gap:13px}.competitor-source-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 48px 13px 0;border-bottom:1px solid #dce8eb}.competitor-source-detail>header>div{min-width:0}.competitor-source-detail>header small{color:#0b8997;font-weight:900;letter-spacing:.1em}.competitor-source-detail>header h2{margin:5px 0;color:#123b53;overflow-wrap:anywhere}.competitor-source-detail>header p{display:flex;gap:6px;flex-wrap:wrap;margin:0}.competitor-source-detail>header p span{padding:4px 7px;border-radius:999px;background:#edf6f8;color:#5c7886;font-size:10px}.competitor-source-detail>header>div:last-child{display:flex;flex:0 0 auto;gap:8px;flex-wrap:wrap}.competitor-source-detail-note{padding:10px 12px;border-radius:9px;background:#eef8f9;color:#527381;font-size:11px}.competitor-source-detail>section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;overflow:visible}.competitor-source-product{display:grid;grid-template-columns:80px minmax(0,1fr);gap:11px;min-width:0;padding:11px;border:1px solid #dae7eb;border-radius:11px;background:#fff}.competitor-source-product-cover{grid-row:1/3;display:grid;width:80px;height:80px;place-items:center;overflow:hidden;border-radius:9px;background:#eaf3f5;color:#6f8994;font-weight:900}.competitor-source-product-cover img{width:100%;height:100%;object-fit:cover}.competitor-source-product>div:nth-child(2){display:grid;align-content:start;gap:3px;min-width:0}.competitor-source-product small{color:#79909a;font-size:9px}.competitor-source-product strong{overflow:hidden;color:#193e53;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.competitor-source-product dl{display:flex;gap:8px;flex-wrap:wrap;margin:3px 0 0;color:#62808d;font-size:9px}.competitor-source-product>footer{display:flex;min-width:0;align-items:center;gap:6px;flex-wrap:wrap}.competitor-source-product>footer .btn{padding:6px 8px;font-size:9px}
@media(max-width:1280px){.competitor-source-hero{grid-template-columns:1fr}.competitor-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.competitor-source-toolbar{align-items:stretch;flex-direction:column}.competitor-source-toolbar form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.competitor-source-toolbar input{min-width:0}}
@media(max-width:760px){.competitor-source-workspaces{grid-template-columns:1fr 1fr}.competitor-source-hero{padding:18px}.competitor-source-hero h2{font-size:20px}.competitor-source-hero dl{grid-template-columns:1fr 1fr}.competitor-source-hero dl div:nth-child(2){border-right:0}.competitor-source-hero dl div:nth-child(-n+2){border-bottom:1px solid #e2edef}.competitor-source-toolbar form,.competitor-source-grid,.competitor-source-detail>section{grid-template-columns:1fr}.competitor-source-scope-note,.competitor-source-pagination,.competitor-source-detail>header,.competitor-source-detail-pages{align-items:flex-start;flex-direction:column}.competitor-source-detail{min-width:0}.competitor-source-detail>section{max-height:none}.competitor-source-pagination>div{max-width:100%;overflow:auto}}

@media(max-width:1280px){.competitor-workspace-nav.competitor-source-aware{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.competitor-workspace-nav.competitor-source-aware{grid-template-columns:1fr}}

/* Finder precision feedback: compact controls live beside each usable result. */
.product-finder-supply{margin-top:11px;border-color:#0d929f;color:#087b89}
.product-finder-result{display:grid;min-width:0;border:1px solid #cfe4e9;border-radius:10px;background:#f7fbfc;overflow:hidden}.product-finder-result .product-finder-result-open{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;padding:11px 12px;border:0;border-radius:0;background:transparent;text-decoration:none;color:#143b54;text-align:left}.product-finder-evidence-grid .product-finder-result-open{cursor:pointer}.product-finder-result .product-finder-result-open:hover{border-color:transparent;background:#effafb}.product-finder-result-open strong{font-size:13px;color:#067f92}.product-finder-result-open span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.product-finder-result-open small{color:#6d8797;font-size:11px}.product-finder-result-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:7px 9px;border-top:1px solid #dce9ed;background:#fff}.product-finder-result .product-finder-result-feedback>span{max-width:none;margin-right:auto;overflow:visible;color:#688492;font-size:10px;font-weight:700;white-space:normal}.product-finder-result .product-finder-result-feedback button,.product-finder-result-feedback select{display:inline-flex;flex:0 0 auto;align-items:center;width:auto;min-width:0;min-height:27px;padding:4px 7px;border:1px solid #cfe0e5;border-radius:7px;background:#f8fbfc;color:#456677;font-size:10px;line-height:1.2}.product-finder-result .product-finder-result-feedback button{cursor:pointer}.product-finder-result .product-finder-result-feedback button:hover,.product-finder-result .product-finder-result-feedback button.active{border-color:#0c969f;background:#e7f7f6;color:#087b88}.product-finder-result-feedback select{max-width:102px}.product-finder-result-feedback :disabled{cursor:wait;opacity:.55}
/* Release prompts never steal focus or interrupt a workbench. */
.portal-release-notice { position:fixed; right:16px; bottom:16px; z-index:1100; display:flex; align-items:center; gap:12px; max-width:calc(100vw - 32px); padding:12px 16px; border:1px solid #93c5fd; border-radius:12px; background:#eff6ff; color:#1e3a8a; box-shadow:0 6px 24px #0002; font-size:14px; }
.portal-release-notice .btn { white-space:nowrap; }

.soms-inventory-table { min-width:1320px; }
.soms-inventory-table th:first-child { width:165px; }
.soms-inventory-table th:nth-child(2) { width:145px; }
.soms-inventory-table th:nth-child(3) { width:260px; }
.soms-pagination { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:16px; }
.soms-track-list li { padding:12px; border-bottom:1px solid #e3e8ee; }

/* SOMS inventory sorting and live tracking workbench. */
.soms-sort { display:inline-flex; align-items:center; gap:6px; padding:6px 0; border:0; background:transparent; color:inherit; font:inherit; font-weight:700; cursor:pointer; white-space:nowrap; }
.soms-sort span { color:#6384a3; font-size:14px; }
.soms-sort:hover, .soms-inventory-table th[aria-sort="ascending"] .soms-sort, .soms-inventory-table th[aria-sort="descending"] .soms-sort { color:#1267a5; }
.soms-sort:focus-visible { outline:2px solid #1267a5; outline-offset:3px; border-radius:3px; }
.soms-tracking-section { padding:24px; }
.soms-tracking-section > h2 { padding:0 0 18px; }
.soms-track-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px; margin:24px 0 12px; }
.soms-track-form .field { min-width:180px; }
.soms-track-form .soms-track-reference { flex:1; max-width:520px; min-width:240px; }
.soms-track-form input, .soms-track-form select { width:100%; }
.soms-shipment { margin-top:20px; padding:20px; border:1px solid #dce5ef; border-radius:10px; }
.soms-shipment-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.soms-shipment-heading h3 { margin:0; overflow-wrap:anywhere; }
.soms-track-status { background:#e9f3fb; color:#125b91; padding:7px 12px; border-radius:20px; }
.soms-track-list { list-style:none; padding-left:20px; border-left:2px solid #dce5ef; margin:22px 0 0 6px; }
.soms-track-list li { position:relative; overflow-wrap:anywhere; }
.soms-track-list li::before { content:""; position:absolute; left:-26px; top:18px; width:10px; height:10px; border-radius:50%; background:#8aa8bf; }
.soms-track-list li:first-child::before { background:#1267a5; }
.soms-track-list li:first-child strong { color:#1267a5; }
.soms-track-list p { white-space:pre-wrap; margin:8px 0; }
.soms-order-note { border-top:1px solid #dce5ef; padding-top:20px; margin-top:28px; }

/* SOMS orders share Jiuzhou table, filter and modal structure. */
.soms-orders-note { margin:18px; }
.soms-sign-tabs { display:flex; gap:10px; flex-wrap:wrap; margin:18px; }
.soms-track-link { border:0; background:transparent; color:#1267a5; text-decoration:underline; cursor:pointer; font:inherit; padding:5px 0; }
.soms-track-link:focus-visible { outline:2px solid #1267a5; outline-offset:3px; }

/* Keep SOMS status text inside its column, including long provider labels. */
.soms-orders-table { min-width:1280px; }
.soms-orders-table td { white-space:normal; overflow-wrap:anywhere; }
.soms-orders-table th:nth-child(7),.soms-orders-table td:nth-child(7) { width:160px; }
.soms-orders-table th:nth-child(8),.soms-orders-table td:nth-child(8) { width:190px; }
.soms-orders-table .soms-order-status {
  display:inline-block; max-width:100%; white-space:normal; overflow-wrap:anywhere;
  line-height:1.45; vertical-align:middle;
}
.soms-orders-table .jiuzhou-date-cell time { display:inline-block; white-space:nowrap; }

/* Shared list filters and footer controls, matching the customer-center pager. */
#content :is(.jiuzhou-filter,.jumia-sign-filter,.jumia-order-filter) {
  display:block; padding:16px; background:#fbfdff; border-bottom:1px solid var(--soft-line);
}
#content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px;
  align-items:end; width:100%;
}
#content .portal-filter-fields { padding:16px; background:#fbfdff; border-bottom:1px solid var(--soft-line); }
#content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) :is(.field,label) { min-width:0; }
#content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) .keyword { grid-column:span 2; }
#content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) :is(input:not([type=checkbox]):not([type=radio]),select) {
  box-sizing:border-box; width:100%; height:40px; min-height:40px; padding:8px 10px;
  border:1px solid #d5e1eb; border-radius:6px; background:#fff; color:#182c3e; font:inherit;
}
#content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) :is(input,select):focus-visible {
  outline:2px solid #9ac9ed; outline-offset:1px; border-color:#72aad3;
}
#content :is(.portal-filter-actions,.jiuzhou-filter-actions,.jumia-sign-actions,.jumia-order-actions) {
  display:flex; grid-column:1/-1; flex-wrap:wrap; align-items:center; gap:10px; margin-top:12px;
}
#content :is(.portal-filter-actions,.jiuzhou-filter-actions,.jumia-sign-actions,.jumia-order-actions) .btn {
  min-height:40px; min-width:96px; width:auto; padding:8px 16px; border-radius:6px;
}
.portal-pager {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
  min-height:58px; gap:10px 18px; padding:10px 16px; border-top:1px solid #e2eaf1;
  background:#fff; color:#5a6f82; font-size:13px; width:100%; box-sizing:border-box;
}
.portal-pager .pager-summary { white-space:nowrap; }
.portal-pager .pager-summary strong { color:#18344d; }
.portal-pager .pager-controls,.portal-pager label { display:flex; align-items:center; gap:8px; }
.portal-pager .pager-controls { flex-wrap:wrap; justify-content:flex-end; }
.portal-pager label { white-space:nowrap; margin:0; color:#52697e; }
.portal-pager select,.portal-pager input {
  height:34px; border:1px solid #d5e1eb; border-radius:6px; background:#fff; color:#18344d; font:inherit;
}
.portal-pager select { min-width:88px; padding:0 26px 0 9px; }
.portal-pager input { width:68px; padding:0 7px; text-align:center; }
.portal-pager .btn { min-width:64px; min-height:34px; padding:6px 12px; border-radius:6px; font-size:13px; }
.portal-pager .btn:disabled { opacity:.4; cursor:default; }
.portal-pager .btn:not(:disabled):hover { border-color:#7eb4da; background:#eef7ff; }
.portal-pager :is(button,input,select):focus-visible { outline:2px solid #1267a5; outline-offset:2px; }
.jumia-table tr[hidden],.jiuzhou-table tr[hidden] { display:none !important; }
.soms-inventory-table th:nth-child(-n+4) { cursor:default; }
.competitor-evidence-footer:has(.portal-pager) { display:block; padding:0; }
.competitor-evidence-footer:has(.portal-pager)>span { display:none; }
@media(max-width:760px) {
  #content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-pager { align-items:flex-start; flex-direction:column; }
  .portal-pager .pager-controls { justify-content:flex-start; }
}
@media(max-width:480px) {
  #content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) { grid-template-columns:minmax(0,1fr); }
  #content :is(.portal-filter-fields,.jiuzhou-filter-fields,.jumia-sign-fields,.jumia-order-fields) .keyword { grid-column:auto; }
}

/* User directory: primary identity and live CRM module positions. */
.user-growth-cell{min-width:170px}.user-growth-positions{display:grid;gap:8px;line-height:1.5}.user-growth-positions>div{display:grid;gap:3px}.user-growth-positions strong,.user-growth-position strong{color:#186a61}.user-growth-positions span{font-size:13px;color:#405c73}.user-growth-positions small,.user-growth-pending{display:block;font-size:12px;color:#748493;margin-top:4px}
.user-growth-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f1f6f8;border:1px solid #dce7ee;border-radius:10px;color:#5f7283;margin-bottom:14px;font-size:14px}.user-growth-status[hidden]{display:none}
.user-growth-editor{padding:16px;border:1px solid #cfe4df;background:#f3faf7;border-radius:10px}.user-growth-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.user-growth-position{display:grid;gap:5px;margin:10px 0;font-size:15px}.user-growth-position span{color:#446578}.user-growth-editor p{font-size:14px;margin:10px 0}.user-growth-manage{font-size:14px;color:#12649a;text-decoration:underline}
@media(max-width:680px){.user-growth-status{align-items:flex-start;flex-direction:column}.user-growth-editor{padding:12px}.user-growth-heading{flex-wrap:wrap}}
