: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; }
.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-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 {
  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:disabled {
  cursor:wait;
  opacity:.72;
  box-shadow:none;
}
.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;
}
.toast.success {
  background:linear-gradient(90deg,#138a54,#1da7df);
}
.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,
.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,
.jumia-subnav.active,
.product-selection-subnav.active,
.logistics-subnav.active {
  display:grid;
  margin:-4px 0 6px 12px;
}
.business-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,
.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,
.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; }
.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);
}
.account-btn::after { content:"▼"; float:right; font-size:12px; margin-top:3px; color:var(--muted); }
.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;
}
.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:minmax(120px,150px) minmax(180px,1fr) minmax(180px,1fr) minmax(240px,1.35fr) auto auto;
}
.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;
}
.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;
}
.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-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;
}
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; }
.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;
}
.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 {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:26px;
}
.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 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;
}
.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-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-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);
}
.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-mission-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:0 0 10px;
}
.competitor-mission-nav button {
  position:relative;
  display:grid;
  min-width:0;
  gap:3px;
  padding:11px 38px 11px 12px;
  border:1px solid #d8e5eb;
  border-radius:10px;
  background:#fff;
  color:#173e54;
  text-align:left;
  cursor:pointer;
}
.competitor-mission-nav button strong { font-size:12px; }
.competitor-mission-nav button span {
  overflow:hidden;
  color:#7b909b;
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.competitor-mission-nav button b {
  position:absolute;
  top:50%;
  right:11px;
  min-width:24px;
  padding:4px 6px;
  border-radius:999px;
  background:#edf4f7;
  color:#4b6b7b;
  font-size:9px;
  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;
  grid-template-columns:minmax(270px,.8fr) minmax(0,1.7fr);
  gap:12px;
  margin:0 0 12px;
  padding:13px;
  border:1px solid #b9dfe5;
  border-radius:12px;
  background:linear-gradient(135deg,#eaf9fb,#f8fbfd);
}
.competitor-product-request-intro { display:grid; align-content:center; gap:4px; }
.competitor-product-request-intro small { color:#11879b; font-size:8px; font-weight:900; letter-spacing:.11em; }
.competitor-product-request-intro strong { color:#114b64; font-size:15px; }
.competitor-product-request-intro span { color:#6b8491; font-size:9px; line-height:1.5; }
.competitor-product-request-intro .btn { justify-self:start; margin-top:5px; }
.competitor-product-request-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.competitor-product-request-list article {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:9px;
  min-width:0;
  padding:8px;
  border:1px solid #d7e8eb;
  border-radius:9px;
  background:#fff;
}
.competitor-product-request-list img,
.competitor-product-request-placeholder { width:52px; height:52px; border-radius:8px; object-fit:cover; }
.competitor-product-request-placeholder { display:grid; place-items:center; background:#e8f4f6; color:#168297; font-size:10px; font-weight:900; }
.competitor-product-request-list article > div { display:grid; min-width:0; gap:2px; }
.competitor-product-request-list strong,
.competitor-product-request-list span,
.competitor-product-request-list small,
.competitor-product-request-list em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.competitor-product-request-list strong { color:#173f54; font-size:10px; }
.competitor-product-request-list span,
.competitor-product-request-list small { color:#728a96; font-size:8px; }
.competitor-product-request-list em { color:#168297; font-size:8px; font-style:normal; }
.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,
.competitor-product-request-editor textarea { width:100%; padding:10px 12px; border:1px solid #d2e2e8; border-radius:9px; }
.competitor-product-request-editor textarea { min-height:88px; resize:vertical; }
.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; }
@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 { grid-template-columns:1fr; }
  .competitor-product-request-list { 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-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:12px;
  margin-bottom:14px;
}
.competitor-kpis.personal {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.competitor-kpis article,
.competitor-kpis button {
  min-height:105px;
  padding:16px;
  border:1px solid #dfe8ee;
  border-radius:13px;
  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:11px; font-weight:800; }
.competitor-kpis strong { margin:7px 0 4px; color:#133b58; font-size:27px; line-height:1; }
.competitor-kpis span { color:#91a0aa; font-size:10px; }
.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-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-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-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-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-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-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-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-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;
}

.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-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; }
}
