.s-genie-monthly-commission { margin-bottom:24px; }
.s-genie-commission-toggle {
  display:inline-flex; align-items:center; min-height:36px; margin-top:5px;
  padding:6px 10px; border:1px solid #CBD2E1; border-radius:5px;
  background:#fff; color:#303873; font:inherit; font-size:.72rem;
  font-weight:800; cursor:pointer; white-space:nowrap;
}
.s-genie-commission-toggle:hover { background:#F2F5FA; }
.s-genie-commission-toggle:focus-visible { outline:3px solid #14B8A6; outline-offset:2px; }
.s-genie-commission-toggle::after { content:'⌄'; margin-left:7px; }
.s-genie-commission-toggle[aria-expanded="true"]::after { content:'⌃'; }
.s-genie-commission-detail[hidden] { display:none!important; }
.s-genie-commission-detail > td { padding:0!important; white-space:normal!important; }
.s-genie-commission-panel { padding:20px 22px; background:#FBFCFE; border-top:1px solid #E4E7EF; }
.s-genie-commission-heading { display:flex; flex-direction:column; gap:5px; margin-bottom:16px; color:#303873; }
.s-genie-commission-heading > span { color:#6D7490; font-size:.8rem; }
.s-genie-commission-ledger { border:1px solid #E1E5ED; border-radius:6px; overflow:hidden; background:#fff; }
.s-genie-commission-part {
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,.65fr) minmax(0,1.3fr);
  gap:14px; align-items:center; padding:13px 15px; font-size:.8rem; color:#737B92; border-top:1px solid #EDF0F4;
}
.s-genie-commission-part:first-child { border-top:0; }
.s-genie-commission-part.is-earned { color:#303873; }
.s-genie-commission-part small { display:block; margin-top:3px; color:#737B92; font-size:.68rem; }
.s-genie-commission-part.is-earned .s-genie-commission-status { color:#315F58; }
.s-genie-commission-status { font-size:.72rem; }
.s-genie-commission-note { color:#717891; font-size:.73rem; line-height:1.55; margin:12px 16px; }
.s-genie-commission-panel .s-genie-commission-note { margin:12px 0 0; }
@media(max-width:760px) {
  .s-genie-commission-detail:not([hidden]) { display:block!important; }
  .s-genie-commission-detail > td { display:block!important; grid-column:1 / -1; width:100%!important; }
  .s-genie-commission-detail > td::before { display:none!important; }
  .s-genie-commission-panel { padding:16px 13px; }
  .s-genie-commission-part { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 12px; padding:12px; }
  .s-genie-commission-part > strong { grid-column:1; }
  .s-genie-commission-part > span:nth-child(2) { grid-column:1; grid-row:2; }
  .s-genie-commission-part > span:nth-child(3) { grid-column:2; grid-row:1; text-align:right; }
  .s-genie-commission-part > span:nth-child(4) { grid-column:2; grid-row:2; text-align:right; }
}
/* ============================================================
   EC Sales tool — internal dashboard styles (dark navy header)
   Loads after styles.css and reuses .ec-input / .ec-button / .ec-card
   ============================================================ */

body.sales-body { background: #F1F5F9; }

/* Header */
.s-header {
  background: #272E6D; border-bottom: 1px solid #1E2458; padding: 10px 24px;
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  position: sticky; top: 0; z-index: 20; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
.s-header-left { display: flex; align-items: center; gap: 16px; }
.s-logo { height: 24px; object-fit: contain; filter: brightness(0) invert(1); opacity: .9; }
.s-divider { height: 20px; width: 1px; background: rgba(255,255,255,0.2); }
.s-title { color: #fff; font-weight: 700; font-size: 0.875rem; letter-spacing: 0.02em; }
.s-header-right { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.s-division-short { display:none; }
.s-online {
  display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1);
  padding: 6px 12px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.1);
  font-size: 0.6875rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 0.1em; white-space:nowrap;
}
.s-online .dot { width: 8px; height: 8px; border-radius: 50%; background: #10B981; }
@media (max-width: 950px) { .s-online { display: none; } }
.s-user { display: flex; align-items: center; gap: 12px; padding-left: 16px; border-left: 1px solid rgba(255,255,255,0.1); }
.s-user-meta { text-align: right; }
.s-user-meta .nm { font-size: 0.8125rem; font-weight: 700; color: #fff; line-height: 1.2; }
.s-user-meta .rl { font-size: 0.6875rem; font-weight: 700; color: #08B9E0; line-height: 1.2; }
@media (max-width: 768px) { .s-user-meta { display: none; } }
@media (max-width: 900px) {
  .s-division-name { display:none; }
  .s-division-short { display:inline; }
}
@media (max-width: 640px) {
  .s-header { padding:10px 12px; }
  .s-header-left { gap:8px; width:100%; min-width:0; }
  .s-header-right, .s-divider { display:none; }
  .s-logo { height:20px; max-width:92px; }
  .s-division-name { display:none; }
  .s-division-short { display:inline; }
  .s-burger-wrap { margin-left:auto; }
}
.s-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,0.2); }
.s-avatar-initials { background: #0E71B8; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 0.875rem; }
.s-profile-crop[hidden], #profile-crop-error[hidden] { display:none; }
.s-profile-crop-stage {
  position:relative; width:min(320px,100%); aspect-ratio:1; overflow:hidden; border-radius:50%;
  background:#E2E8F0; cursor:grab; touch-action:none; user-select:none;
}
.s-profile-crop-stage:active { cursor:grabbing; }
.s-profile-crop-stage:focus-visible { outline:3px solid #0E71B8; outline-offset:4px; }
.s-profile-crop-stage img { position:absolute; max-width:none; pointer-events:none; user-select:none; }
.s-profile-crop-ring { position:absolute; inset:0; border:3px solid #0E71B8; border-radius:50%; pointer-events:none; }
.s-logout { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 1.125rem; margin-left: 4px; }
.s-logout:hover { color: #fff; }

/* Main */
.s-main { flex: 1; width: 100%; max-width: 1024px; margin: 0 auto; padding: 32px 16px; }
.s-main-reports { max-width: 1560px; }
.s-main-reports > .s-wide { max-width:none; }

.s-h1 { font-size: 1.75rem; font-weight: 900; margin-bottom: 4px; }
.s-sub { color: #475569; font-weight: 700; }

.s-card { background: #fff; border-radius: 12px; border: 1px solid #E2E8F0; box-shadow: 0 10px 40px -10px rgba(39,46,109,0.08); }
.s-card-pad { padding: 24px; }
@media (min-width: 768px) { .s-card-pad { padding: 32px; } }

.s-label { display: block; font-size: 0.8125rem; font-weight: 900; color: #64748B; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 6px; }
.s-label .req { color: #EF4444; }

.sales-body .ec-input { height: 48px; font-size: 0.9375rem; }
.sales-body .ec-button { height: 48px; font-size: 1rem; padding: 0 1.5rem; width: auto; }
.sales-body .ec-button.full { width: 100%; }
.sales-body .ec-button.outline {
  background: #fff; color: #272E6D; border: 1px solid #CBD5E1;
}
.sales-body .ec-button.outline:hover:not(:disabled) { background: #F8FAFC; transform: none; box-shadow: none; }

.s-or { display: flex; align-items: center; gap: 16px; margin: 24px 0; }
.s-or .line { flex: 1; height: 1px; background: #E2E8F0; }
.s-or span { font-size: 0.8125rem; font-weight: 900; color: #94A3B8; text-transform: uppercase; letter-spacing: 0.1em; }

/* Matched CRM record */
.s-match { background: #F8FAFC; border-radius: 8px; border: 1px solid #E2E8F0; padding: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; }
.s-badge { background: rgba(16,185,129,0.1); color: #1F7A3D; font-size: 0.6875rem; font-weight: 900; padding: 2px 8px; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.05em; border: 1px solid rgba(16,185,129,0.2); }
.s-badge.gray { background: #F1F5F9; color: #64748B; border-color: #E2E8F0; }

/* Generated link box */
.s-linkbox { display: flex; align-items: center; gap: 8px; background: #F1F5F9; border: 1px solid #CBD5E1; border-radius: 8px; padding: 6px; margin-bottom: 16px; }
.s-linkbox input { background: transparent; border: none; outline: none; flex: 1; font-size: 0.9375rem; font-family: ui-monospace, monospace; color: #272E6D; font-weight: 700; padding: 8px 12px; width: 100%; }

.s-grid2 { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .s-grid2 { grid-template-columns: 1fr 1fr; } }

/* Recent links table */
.s-table { width: 100%; border-collapse: collapse; }
.s-table th { text-align: left; font-size: 0.6875rem; font-weight: 900; color: #94A3B8; text-transform: uppercase; letter-spacing: 0.1em; padding: 10px 16px; border-bottom: 1px solid #E2E8F0; }
.s-table td { padding: 12px 16px; font-size: 0.875rem; font-weight: 700; color: #334155; border-bottom: 1px solid #F1F5F9; }
.s-table tr:last-child td { border-bottom: none; }
.s-status { font-size: 0.6875rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em; padding: 3px 8px; border-radius: 4px; white-space: nowrap; }
.s-status.live { background: rgba(16,185,129,0.1); color: #1F7A3D; }
.s-status.complete { background: rgba(14,113,184,0.1); color: #0E71B8; }
.s-status.handover { background:#FEF3C7; color:#92400E; }
.s-status.locked { background: #F1F5F9; color: #64748B; }
.s-status.created { background: #FEF9C3; color: #854D0E; }

/* Live monitor */
.s-monitor { display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 1024px) { .s-monitor { flex-direction: row; align-items: flex-start; } .s-monitor-left { flex: 1; } .s-monitor-right { width: 320px; flex-shrink: 0; } }
.s-monitor-left, .s-monitor-right { display: flex; flex-direction: column; gap: 20px; }

.s-statusbar { padding: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.s-statusbar h2 { font-size: 1.25rem; font-weight: 900; }
.s-statusbar .ref { font-size: 0.8125rem; color: #64748B; font-weight: 700; font-family: ui-monospace, monospace; margin-top: 2px; }
.s-milestones { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.s-milestone { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; font-weight: 700; color: #64748B; text-transform: uppercase; letter-spacing: 0.08em; }
.s-milestone .tick { color: #10B981; font-weight: 900; }
.s-livepill { display: flex; align-items: center; gap: 8px; background: rgba(16,185,129,0.1); padding: 4px 12px; border-radius: 9999px; border: 1px solid rgba(16,185,129,0.2); font-size: 0.75rem; font-weight: 900; color: #1F7A3D; text-transform: uppercase; letter-spacing: 0.08em; }
.s-livepill .dot { width: 8px; height: 8px; background: #10B981; border-radius: 50%; animation: ec-pulse 2s infinite; }
.s-livepill.ended { background: #F1F5F9; border-color: #E2E8F0; color: #64748B; }
.s-livepill.ended .dot { background: #94A3B8; animation: none; }

.s-mirror-head { background: #F8FAFC; border-bottom: 1px solid #E2E8F0; padding: 14px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.s-mirror-head .t { font-weight: 900; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; }
.s-stages { display: flex; gap: 8px; font-size: 0.75rem; font-weight: 700; flex-wrap: wrap; }
.s-stages .done { color: #10B981; }
.s-stages .on { color: #0E71B8; font-weight: 900; }
.s-stages .todo { color: #94A3B8; }
.s-stages .sep { color: #CBD5E1; }
.s-mirror-body { padding: 24px; display: flex; flex-direction: column; gap: 28px; background: rgba(248,250,252,0.5); }
.s-mirror-sec h4 { font-size: 0.8125rem; font-weight: 900; color: #94A3B8; text-transform: uppercase; letter-spacing: 0.1em; border-bottom: 1px solid #E2E8F0; padding-bottom: 8px; margin-bottom: 12px; }
.s-mirror-sec.active { border-left: 2px solid #0E71B8; padding-left: 20px; margin-left: -22px; }
.s-mirror-sec.active h4 { color: #0E71B8; }
.s-mirror-sec.dim { opacity: .5; }
.s-mirror-sec .flabel { display: block; font-size: 0.75rem; font-weight: 700; color: #64748B; margin-bottom: 4px; }
.s-mirror-sec .fval { border: 2px solid #E2E8F0; background: #F8FAFC; border-radius: 8px; min-height: 40px; padding: 8px 12px; font-weight: 700; font-size: 0.875rem; color: #475569; }
.s-mirror-sec .fval.on { background: #fff; border-color: #0E71B8; box-shadow: 0 0 0 2px rgba(14,113,184,0.1); }
.s-mirror-sec .fval.empty { color: #94A3B8; font-weight: 600; }

/* Activity feed */
.s-feed { position: relative; border-left: 1px solid #E2E8F0; margin-left: 8px; padding-bottom: 8px; }
.s-feed-item { position: relative; padding-left: 20px; margin-bottom: 20px; }
.s-feed-item:last-child { margin-bottom: 0; }
.s-feed-item .dot { position: absolute; left: -5px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: #CBD5E1; }
.s-feed-item:first-child .dot { background: #10B981; }
.s-feed-item .txt { font-size: 0.875rem; font-weight: 700; color: #475569; }
.s-feed-item:first-child .txt { color: #272E6D; }
.s-feed-item .ts { font-size: 0.75rem; font-weight: 700; color: #94A3B8; margin-top: 2px; }

/* Kill switch */
.s-kill { padding: 20px; text-align: center; }
.s-kill button {
  width: 100%; padding: 10px 16px; border-radius: 8px; border: 2px solid #EF4444; background: #fff;
  color: #DC2626; font-weight: 900; font-size: 0.875rem; cursor: pointer; font-family: inherit;
}
.s-kill button:hover { background: #FEF2F2; }
.s-kill p { font-size: 0.6875rem; font-weight: 700; color: #64748B; margin-top: 8px; }

/* Completed */
.s-done-icon {
  width: 80px; height: 80px; background: #10B981; border-radius: 16px; display: flex; align-items: center;
  justify-content: center; color: #fff; font-size: 2.25rem; font-weight: 900; margin: 0 auto 24px;
  transform: rotate(3deg); box-shadow: 0 10px 15px -3px rgba(16,185,129,0.2);
}
.s-handover-card { padding:24px; border:2px solid #F59E0B; }
.s-handover-heading { margin-bottom:24px; }
.s-handover-status { display:inline-block; padding:5px 10px; border-radius:99px; background:#FEF3C7; color:#92400E; font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.s-handover-heading h2 { margin:12px 0 8px; color:#172554; font-size:1.35rem; }
.s-handover-heading p, .s-handover-form p, .s-handover-owner-note { margin:0; color:#475569; line-height:1.5; font-size:.9rem; }
.s-handover-form { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.s-handover-form label { margin-top:13px; color:#172554; font-weight:900; }
.s-handover-form textarea.ec-input { display:block; height:auto; min-height:116px; padding:12px 14px; resize:vertical; line-height:1.5; }
.s-handover-form .ec-button { margin-top:18px; min-width:130px; background:#10B981; }
.s-handover-complete { padding:20px 24px; background:#F0FDF4; border:1px solid #86EFAC; }
.s-handover-complete strong { color:#166534; font-weight:900; }
.s-handover-complete p { margin:6px 0 0; color:#166534; font-size:.9rem; }
.s-detail-head { background: #F8FAFC; border-bottom: 1px solid #E2E8F0; padding: 16px 24px; font-weight: 900; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.1em; }
.s-detail-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 18px 24px; border-bottom: 1px solid #F1F5F9; }
.s-detail-row:last-child { border-bottom: none; }
.s-detail-row .k { font-size: 0.875rem; color: #64748B; font-weight: 700; }
.s-detail-row .v { font-size: 1rem; font-weight: 900; text-align: right; }
.s-detail-row .v.green { color: #10B981; }

/* Login */
.s-login-wrap { max-width: 400px; margin: 64px auto 0; }
.s-login-wrap .ec-error { margin-bottom: 16px; }

/* ---- Header nav ---- */
.s-nav { display:flex; gap:4px; margin-left:20px; }
.s-nav-link { color:rgba(255,255,255,0.65); font-weight:800; font-size:0.8125rem; text-decoration:none; padding:6px 12px; border-radius:8px; white-space:nowrap; }
.s-nav-link:hover { color:#fff; background:rgba(255,255,255,0.08); }
.s-nav-link.on { color:#fff; background:rgba(255,255,255,0.14); }
.s-approval-badge {
  display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px;
  padding:0 5px; margin-left:7px; border-radius:99px; background:#DC2626; color:#fff;
  font-size:.67rem; line-height:1; font-weight:900; vertical-align:middle;
  box-shadow:0 0 0 2px rgba(255,255,255,.15);
}
.s-mobile-link .s-approval-badge { float:right; margin-top:2px; }
@media (max-width: 1550px) { .s-nav { display:none; } }

/* Mobile collapsible menu (hamburger) — shown only when the inline nav is hidden */
.s-burger-wrap { display:none; position:relative; }
.s-burger {
  display:flex; flex-direction:column; justify-content:center; gap:4px;
  width:38px; height:38px; padding:8px; border-radius:10px; cursor:pointer;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25);
}
.s-burger span { display:block; height:2px; border-radius:2px; background:#fff; }
.s-mobile-menu {
  position:absolute; top:calc(100% + 8px); right:0; width:max-content;
  min-width:200px; max-width:calc(100vw - 24px); max-height:calc(100vh - 90px); z-index:60;
  background:#fff; border:1px solid #E2E8F0; border-radius:12px; overflow-x:hidden; overflow-y:auto;
  box-shadow:0 12px 32px rgba(15,23,42,0.18);
}
.s-mobile-link {
  display:block; padding:13px 18px; text-decoration:none; font-weight:800;
  font-size:0.9375rem; color:#1E293B; border-bottom:1px solid #F1F5F9;
}
.s-mobile-link:last-child { border-bottom:none; }
.s-mobile-link.on { background:#F1F5F9; color:#272E6D; }
@media (max-width: 1550px) { .s-burger-wrap { display:block; } }

/* ---- KPI cards ---- */
.s-kpis { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-bottom:16px; }
@media (max-width: 900px) { .s-kpis { grid-template-columns:repeat(2, 1fr); } }
.s-kpi { padding:20px; }
.s-kpi-label { font-size:0.6875rem; font-weight:900; color:#94A3B8; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:8px; }
.s-kpi-big { font-size:1.75rem; font-weight:900; color:#272E6D; line-height:1; }
.s-kpi-big span { font-size:1rem; color:#94A3B8; }
.s-kpi-big.green { color:#1F7A3D; }
.s-kpi-bar { margin-top:12px; height:8px; border-radius:99px; background:#F1F5F9; overflow:hidden; }
.s-kpi-bar div { height:100%; border-radius:99px; background:#0E71B8; }
.s-kpi-note { margin-top:8px; font-size:0.75rem; font-weight:700; color:#64748B; }
.s-personal-commission {
  padding:22px; margin-bottom:16px; border-left:5px solid #10B981;
}
.s-personal-commission-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.s-personal-commission .s-kpi-label { margin-bottom:2px; }
.s-personal-commission-month { color:#64748B; font-size:.82rem; font-weight:800; }
.s-personal-commission-value { color:#1F7A3D; font-size:2rem; font-weight:900; white-space:nowrap; }
.s-personal-goal-inline {
  width:100%; margin-top:18px; padding:22px 24px; border:1px solid #CDE7DD; border-radius:16px;
  background:radial-gradient(circle at 95% 12%,rgba(255,210,87,.2),transparent 25%),
    linear-gradient(120deg,#F0FDF4 0%,#F8FCFF 62%,#fff 100%);
  text-align:left;
}
.s-personal-commission > .s-personal-goal-inline:first-child { margin-top:0; padding-top:0; border-top:0; }
.s-personal-goal-inline-head, .s-personal-goal-inline-foot { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.s-personal-goal-eyebrow { color:#157347; font-size:.73rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.s-personal-goal-inline h2 { margin:4px 0 0; color:#172554; font-size:1.5rem; line-height:1.2; font-weight:900; }
.s-personal-goal-inline h2 span { display:inline-block; font-size:1.25rem; }
.s-personal-goal-target { color:#172554; font-size:1.8rem; font-weight:900; white-space:nowrap; }
.s-personal-goal-inline-foot { color:#475569; font-size:.83rem; font-weight:800; margin-top:9px; }
.s-personal-goal-inline-foot strong { color:#0E71B8; }
.s-personal-goal-chase { margin:18px 0 0; padding:12px 16px; border-radius:10px; background:#DCFCE7; color:#166534; font-size:1.08rem; font-weight:850; }
.s-personal-goal-chase strong { color:#14532D; }
.s-personal-goal-basis { margin:8px 0 0; color:#475569; font-size:.78rem; font-weight:700; }
.s-personal-goal-actions { display:flex; justify-content:flex-end; margin-top:16px; }
.s-goal-edit-button { cursor:pointer; font-family:inherit; }
.s-goal-edit-button:focus-visible { outline:2px solid #0E71B8; outline-offset:2px; }
.s-primary-product {
  display:grid; grid-template-columns:minmax(180px,1fr) auto; align-items:center; gap:20px 32px;
  padding:26px 28px; margin-bottom:16px; border-top:6px solid var(--product-accent);
  background:linear-gradient(135deg, color-mix(in srgb,var(--product-accent) 7%,white), #fff 58%);
}
.s-primary-product-kicker, .s-secondary-products-label {
  color:#64748B; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase;
}
.s-primary-product-name { margin-top:5px; color:#172554; font-size:1.65rem; font-weight:900; }
.s-primary-product-stats { display:flex; align-items:center; gap:32px; }
.s-primary-product-stats > div { display:flex; flex-direction:column; align-items:flex-end; }
.s-primary-product-stats strong { color:#172554; font-size:1.55rem; font-weight:900; }
.s-primary-product-stats span { color:#64748B; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.s-primary-team-progress { grid-column:1 / -1; padding-top:16px; border-top:1px solid #E2E8F0; }
.s-primary-team-progress-copy { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.s-primary-team-progress-copy span { color:#64748B; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.s-primary-team-progress-copy strong { color:#172554; font-size:.9rem; font-weight:900; }
.s-primary-team-progress .s-kpi-bar { margin-top:8px; }
.s-primary-team-progress .s-kpi-bar div { background:var(--product-accent); }
.s-primary-team-progress-copy { flex-wrap:wrap; }
.s-goal-message { margin:10px 0 0; color:#334155; font-size:.9rem; font-weight:800; line-height:1.45; }
.s-goal-bar {
  position:relative; height:15px; margin-top:16px; border-radius:100px;
  background:#E2E8F0; box-shadow:inset 0 1px 3px rgba(15,23,42,.12);
}
.s-goal-fill {
  height:100%; border-radius:100px; background:var(--product-accent,#0E71B8);
  box-shadow:0 2px 8px color-mix(in srgb,var(--product-accent,#0E71B8) 35%,transparent);
}
.s-goal-tick {
  position:absolute; top:-3px; height:21px; width:2px; border-radius:2px;
  transform:translateX(-50%); background:#334155; opacity:.45; pointer-events:none;
}
.s-goal-milestones { position:relative; min-height:1.5em; margin-top:8px; color:#64748B; font-size:.68rem; font-weight:800; }
.s-goal-milestones span { position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
.s-goal-milestones span:last-child { transform:translateX(-100%); }
.s-goal-milestones .reached { color:#157347; }
.s-contribution { margin-top:15px; padding:11px 14px; border-radius:9px; background:#F1F5F9; color:#334155; font-size:.84rem; font-weight:700; }
.s-contribution strong { color:#172554; }
.s-overdue-followups { margin-bottom:16px; padding:20px 24px; border-left:5px solid #D94841; background:#FFF7F5; }
.s-overdue-followups h2 { margin:5px 0; color:#7F1D1D; font-size:1.08rem; }
.s-overdue-followups p { margin:0; color:#475569; font-size:.85rem; font-weight:700; }
.s-overdue-followups ul { display:grid; gap:9px; margin:16px 0 0; padding:0; list-style:none; }
.s-overdue-followups li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; border:1px solid #F3D3CD; border-radius:9px; background:#fff; color:#334155; font-size:.84rem; }
.s-overdue-followup-actions { display:flex; flex-shrink:0; gap:12px; }
.s-overdue-followup-actions a { color:#0E71B8; font-weight:800; white-space:nowrap; }
.s-next-action {
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  margin-bottom:16px; padding:20px 24px; border-left:5px solid #0E71B8;
}
.s-next-action h2 { font-size:1.08rem; color:#172554; margin:5px 0; }
.s-next-action p { margin:0; color:#475569; font-size:.85rem; font-weight:700; }
.s-next-action .ec-button { width:auto; white-space:nowrap; }
.s-team-momentum { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:16px; margin-bottom:16px; }
.s-momentum-lead, .s-recognitions { min-width:0; padding:21px 24px; }
.s-momentum-lead { background:linear-gradient(125deg,#EAF4FF,#fff 75%); border-left:5px solid #0E71B8; }
.s-momentum-lead h2 { margin:12px 0 10px; font-size:1.55rem; color:#172554; line-height:1.2; }
.s-momentum-lead p { margin:0; color:#475569; font-size:.86rem; font-weight:700; line-height:1.5; }
.s-recognitions, .s-team-activity { position:relative; isolation:isolate; overflow:hidden; }
.s-recognitions {
  background:linear-gradient(135deg,#FFF7E8 0%,#FFFDFC 64%,#F6F2FF 100%);
  border:1px solid #F4E3C7; border-top:4px solid #E7AE40;
  box-shadow:0 8px 22px rgba(153,99,31,.07);
}
.s-team-activity {
  background:linear-gradient(125deg,#F5F0FF 0%,#FFFEFE 55%,#EAF6FF 100%);
  border:1px solid #E5DAFB; border-top:4px solid #8A70D0;
  box-shadow:0 8px 22px rgba(86,63,153,.07);
}
.s-recognitions::before, .s-team-activity::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.6;
  background-image:
    radial-gradient(circle at 8% 16%,#EFAF3D 0 3px,transparent 4px),
    radial-gradient(circle at 92% 20%,#9175D8 0 3px,transparent 4px),
    radial-gradient(circle at 75% 86%,#E980A4 0 2px,transparent 3px),
    radial-gradient(ellipse 7px 3px at 20% 80%,#5DAAD8 98%,transparent 100%),
    radial-gradient(ellipse 3px 7px at 82% 42%,#EFAF3D 98%,transparent 100%);
}
.s-recognitions h2, .s-team-activity h2 {
  display:flex; align-items:center; gap:9px; margin:0 0 14px;
  color:#172554; font-size:1rem; font-weight:900;
}
.s-celebration-icon {
  display:inline-grid; place-items:center; width:32px; height:32px; flex:none;
  border-radius:10px; background:#fff; box-shadow:0 3px 9px rgba(72,54,118,.12);
  font-size:1.07rem; line-height:1;
}
.s-recognitions > div {
  display:flex; align-items:center; gap:10px; padding:9px 10px; margin-top:7px;
  border:1px solid rgba(231,174,64,.18); border-radius:9px;
  background:rgba(255,255,255,.85); font-size:.81rem;
}
.s-recognitions > div .s-recognition-label { color:#475569; font-weight:700; flex:1; min-width:0; }
.s-recognitions > div .s-recognition-icon { font-size:1rem; line-height:1; flex:none; }
.s-recognitions > div strong { color:#172554; text-align:right; }
.s-recognitions p, .s-team-activity p { color:#64748B; font-size:.84rem; font-weight:700; }
.s-team-target { min-width:0; }
.s-team-target-logo {
  display:flex; align-items:center; width:max-content; max-width:100%;
  height:48px; margin-bottom:12px; padding:6px 10px;
  border:1px solid #E2E8F0; border-radius:9px; background:#fff;
}
.s-team-target-logo img { display:block; max-width:100%; max-height:36px; width:auto; height:auto; object-fit:contain; }
.s-team-target .s-goal-message { font-size:.79rem; }
.s-team-target .s-goal-milestones { font-size:.65rem; }
.s-team-activity { padding:20px 24px; margin-bottom:20px; }
.s-team-activity ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr; }
.s-team-activity li {
  display:flex; align-items:flex-start; gap:10px;
  padding:10px 11px; margin-top:7px; border:1px solid rgba(138,112,208,.15);
  border-radius:9px; background:rgba(255,255,255,.86);
  color:#475569; font-size:.82rem; font-weight:700;
}
.s-activity-copy { display:grid; gap:3px; flex:1; min-width:0; }
.s-activity-label { color:#6753A6; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.s-team-activity li strong { color:#172554; }
.s-activity-secondary { color:#475569; font-size:.78rem; }
.s-team-activity time { margin-left:auto; color:#64748B; font-size:.73rem; white-space:nowrap; }
.s-activity-dot { width:8px; height:8px; margin-top:4px; border-radius:50%; background:var(--product-accent); flex-shrink:0; }
.s-celebration {
  position:fixed; z-index:100; right:20px; bottom:20px; max-width:min(360px,calc(100vw - 32px));
  border-radius:14px; padding:16px 20px; background:#172554; color:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.26); font-size:.9rem; font-weight:800;
  animation:s-celebrate-in .4s ease-out;
}
@keyframes s-celebrate-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .s-celebration { animation:none; } }
.s-secondary-products { margin-bottom:16px; }
.s-secondary-products-label { margin:0 0 8px 2px; }
.s-secondary-products-grid { display:grid; grid-template-columns:repeat(var(--secondary-count, 3),minmax(0,1fr)); gap:12px; }
.s-secondary-product { min-width:0; padding:15px 18px; }
.s-secondary-product .s-kpi-label { margin-bottom:5px; }
.s-secondary-product-stats { display:flex; flex-direction:column; gap:3px; color:#64748B; font-size:.78rem; font-weight:750; }
.s-secondary-product-stats strong { color:#172554; }
.s-kpi-strip { background:#0E71B8; padding:8px 20px; display:flex; justify-content:space-between; align-items:center; border-radius:0 0 12px 12px; }
.s-kpi-strip span { color:rgba(255,255,255,0.9); font-size:0.6875rem; font-weight:900; text-transform:uppercase; letter-spacing:0.1em; }
.s-kpi-strip b { color:#fff; font-weight:900; font-size:0.9375rem; }

/* ---- Derived status pills ---- */
.s-dstatus { display:inline-block; font-size:0.6875rem; font-weight:900; padding:2px 8px; border-radius:4px; text-transform:uppercase; letter-spacing:0.05em; border:1px solid; white-space:nowrap; }
.s-dstatus.intrial   { background:rgba(8,185,224,0.1); color:#0E71B8; border-color:rgba(8,185,224,0.3); }
.s-dstatus.paying    { background:rgba(16,185,129,0.1); color:#1F7A3D; border-color:rgba(16,185,129,0.3); }
.s-dstatus.cancelled { background:#FEF2F2; color:#B91C1C; border-color:#FECACA; }
.s-dstatus.nosignup  { background:#F1F5F9; color:#64748B; border-color:#E2E8F0; }
.s-handover-reminder {
  display:table;
  margin-top:7px;
  padding:5px 9px;
  border-radius:7px;
  border:1px solid #FCD34D;
  background:#FFFBEB;
  color:#92400E;
  font-size:.75rem;
  font-weight:900;
  line-height:1.25;
  text-decoration:none;
}
.s-handover-reminder:hover, .s-handover-reminder:focus-visible {
  background:#FEF3C7;
  text-decoration:underline;
}
.s-handover-reminder-icon {
  display:inline-block;
  width:16px;
  height:16px;
  margin-right:3px;
  border-radius:50%;
  background:#92400E;
  color:#fff;
  text-align:center;
  line-height:16px;
}

/* ---- Payment cells ---- */
.s-pay { font-size:0.8125rem; font-weight:800; white-space:nowrap; }
.s-pay.paid { color:#1F7A3D; }
.s-pay.paid b { color:#10B981; }
.s-pay.due { color:#64748B; font-weight:700; }
.s-pay.missed { color:#B91C1C; font-weight:700; }
.s-pay.overdue { color:#DC2626; font-weight:900; }
.s-pay.none { color:#CBD5E1; }

/* ---- Table footer / pagination ---- */
.s-tablefoot { background:#F8FAFC; border-top:1px solid #E2E8F0; padding:14px 24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.s-tablefoot span { font-size:0.8125rem; font-weight:700; color:#64748B; }
.s-tablefoot b { font-size:0.9375rem; font-weight:900; color:#1F7A3D; }
.s-pagebtn { display:inline-block; padding:6px 12px; border-radius:8px; border:1px solid #E2E8F0; background:#fff; font-size:0.8125rem; font-weight:900; color:#272E6D; text-decoration:none; white-space:nowrap; }
.s-pagebtn.on { background:#0E71B8; color:#fff; border-color:#0E71B8; }
.s-pay-cancelled { color:#B91C1C; font-weight:900; }
.s-sales-table-scroll { overflow-x:auto; overscroll-behavior-inline:contain; }
.s-sales-table-scroll .s-table { min-width:1100px; }
.s-table-scroll-hint { margin:8px 20px; color:#475569; font-size:.8rem; font-weight:700; }
.s-team-motivation { color:#272E6D; font-weight:800; }
.s-personal-goal-track { height:16px; border-radius:99px; background:#D9E6EA; position:relative; margin:30px 12px 0 0; box-shadow:inset 0 1px 3px rgba(15,23,42,.1); }
.s-personal-goal-fill { display:block; background:linear-gradient(90deg,#10B981,#0E71B8); height:100%; border-radius:99px; transition:width .3s ease; }
.s-personal-goal-finish { position:absolute; right:-10px; bottom:10px; font-size:1.45rem; line-height:1; }
.s-personal-goal-form { border-top:1px solid #e2e8f0; margin-top:12px; padding-top:12px; }
.s-personal-goal-form-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:8px 0; }
.s-personal-goal-form-controls .ec-input { width:180px; max-width:100%; }
.s-personal-goal-form small { display:block; color:#64748b; }
.s-team-conversion { padding:16px 20px; margin-bottom:20px; }
.s-team-conversion .s-detail-head { padding:8px 4px; display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between; }
.s-team-conversion .s-detail-head small { color:#475569; }
.s-team-conversion-rows { display:grid; gap:10px; }
.s-team-conversion-row { display:grid; grid-template-columns:minmax(120px,1fr) repeat(2,minmax(160px,2fr)); gap:15px; align-items:center; padding:12px; border:1px solid #E2E8F0; border-radius:9px; }
.s-team-conversion-row > strong { color:#172554; }
.s-team-conversion-gauge { display:grid; grid-template-columns:1fr auto; gap:2px 8px; font-size:.79rem; }
.s-team-conversion-gauge > span { color:#475569; }
.s-team-conversion-gauge > strong { color:#172554; }
.s-team-conversion-gauge small { color:#64748B; }
.s-team-conversion-track { grid-column:1/-1; height:10px; border-radius:10px; background:#E2E8F0; position:relative; }
.s-team-conversion-fill { display:block; height:100%; border-radius:10px; background:#0E71B8; }
.s-team-conversion-target { position:absolute; left:70%; top:-3px; bottom:-3px; width:2px; background:#B91C1C; }
@media (max-width:700px) { .s-team-conversion-row { grid-template-columns:1fr 1fr; } .s-team-conversion-row > strong { grid-column:1/-1; } }

/* ---- Team page ---- */
.s-teamrow { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:center; gap:16px; padding:16px 20px; border-bottom:1px solid #E2E8F0; }
.s-teamrow:last-child { border-bottom:none; }
.s-teamcontact { min-width:0; overflow-wrap:anywhere; }
.s-team-controls { display:flex; flex-direction:column; align-items:flex-end; gap:6px; min-width:0; }
.s-team-actions { display:flex; gap:8px; justify-content:flex-end; align-items:center; min-width:0; }
.s-team-actions form { margin:0; }
.s-team-actions .ec-button { width:100%; box-sizing:border-box; white-space:nowrap; }
.s-report-email-control { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:0; white-space:nowrap; }
.s-report-email-label { font-size:12px; font-weight:700; color:#475569; }
.s-report-email-switch { display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#64748B; font:inherit; font-size:12px; font-weight:800; cursor:pointer; padding:5px 0; min-width:61px; }
.s-report-email-switch:focus-visible { outline:2px solid #1476B8; outline-offset:4px; border-radius:4px; }
.s-report-email-switch:disabled { opacity:.5; cursor:not-allowed; }
.s-report-email-track { display:inline-flex; align-items:center; width:34px; height:20px; border-radius:20px; padding:3px; background:#CBD5E1; box-sizing:border-box; transition:background .18s ease,box-shadow .18s ease; }
.s-report-email-track > span { width:14px; height:14px; background:#fff; border-radius:50%; box-shadow:0 1px 3px #0002; transition:transform .18s ease; }
.s-report-email-switch[aria-checked="true"] { color:#047857; }
.s-report-email-switch[aria-checked="true"] .s-report-email-track { background:#059669; }
.s-report-email-switch[aria-checked="true"] .s-report-email-track > span { transform:translateX(14px); }
.s-report-email-switch:not(:disabled):hover .s-report-email-track { box-shadow:0 0 0 3px #05966918; }
@media (prefers-reduced-motion:reduce) { .s-report-email-track,.s-report-email-track > span { transition:none; } }
.keap-map-status { display:inline-flex; align-items:center; margin-top:6px; border-radius:9999px; padding:2px 8px; font-size:0.6875rem; font-weight:900; }
.keap-map-status.connected { background:#DCFCE7; color:#166534; }
.keap-map-status.missing { background:#FEE2E2; color:#991B1B; }
.keap-map-status.unverified { background:#FEF3C7; color:#92400E; }
.s-teamid { display:flex; align-items:center; gap:12px; min-width:0; }
.s-teamid > div:last-child { min-width:0; overflow-wrap:anywhere; }
.s-teamid .s-avatar { flex-shrink:0; }
@media (max-width:700px) {
  .s-teamrow { grid-template-columns:minmax(0,1fr); gap:12px; padding:16px; }
  .s-team-controls { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; width:100%; }
  .s-report-email-control { order:2; margin-left:auto; }
  .s-team-actions { order:1; flex-wrap:wrap; justify-content:flex-start; }
  .s-team-actions .ec-button { width:auto; }
}
.s-team-layout { display:flex; flex-direction:column; }
.s-team-heading { order:0; }
.s-team-flash { order:1; }
.s-current-team { order:2; }
.s-add-team { order:3; margin-bottom:24px; }
.s-keap-catalogue { order:4; }
.s-keap-products { order:5; }
.s-team-layout > datalist { order:6; }
.s-collapsible summary { cursor:pointer; padding:20px 24px; font-weight:900; color:#272E6D; list-style:none; }
.s-collapsible summary::-webkit-details-marker { display:none; }
.s-collapsible summary:after { content:"+"; float:right; font-size:1.3rem; }
.s-collapsible[open] summary:after { content:"−"; }
.s-collapsible-body { padding:0 24px 24px; }

/* Targets & Commissions — reuse the sales dashboard type, colour and controls */
.sc-wrapper {
  --ink:#272E6D; --muted:#475569; --line:#E2E8F0; --blue:#0E71B8;
  color:var(--ink); font-family:inherit; font-size:.875rem; line-height:1.5;
  max-width: 1024px; margin: 0 auto;
}
.sc-wrapper *, .sc-wrapper *::before, .sc-wrapper *::after { box-sizing:border-box; }
.sc-wrapper button, .sc-wrapper input { font-family:inherit; }

.sc-page-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }
.sc-kicker, .sc-field-kicker { text-transform:uppercase; letter-spacing:.1em; font-size:.6875rem; font-weight:900; color:#64748B; }
.sc-kicker { margin-bottom:6px; }
.sc-field-kicker { font-size:.8125rem; letter-spacing:.04em; }
.sc-h1 { font-size:1.75rem; font-weight:900; line-height:1.2; margin:0 0 4px; color:#272E6D; }
.sc-intro-p { max-width:735px; color:var(--muted); margin:4px 0 0; font-size:.875rem; font-weight:700; }
.sc-intro-meta { color:#64748B; font-size:.8125rem; white-space:nowrap; }
.sc-intro-meta strong { color:#475569; font-weight:800; }

.sc-notice { display:flex; align-items:center; gap:8px; margin:0 0 20px; padding:12px 16px; border:1px solid #A7F3D0; background:#ECFDF5; color:#166534; border-radius:10px; font-size:.875rem; font-weight:800; }
.sc-notice.error { border-color:#FECACA; background:#FEF2F2; color:#B91C1C; }

.sc-section-heading { display:flex; align-items:center; gap:20px; margin:25px 0 15px; }
.sc-section-heading h2 { font-size:1.125rem; line-height:1.3; font-weight:900; margin:0; color:var(--ink); }
.sc-section-heading p { margin:4px 0 0; color:#64748B; font-size:.8125rem; font-weight:700; }
.sc-section-rule { height:1px; flex:1; background:var(--line); }

.sc-target-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sc-target-card {
  min-width:0; padding:18px; background:#fff; border:1px solid var(--line); border-top:4px solid var(--accent);
  border-radius:12px; box-shadow:0 10px 40px -10px rgba(39,46,109,.08);
}
.sc-target-logo { height:49px; display:flex; align-items:center; margin-bottom:11px; }
.sc-target-logo img { display:block; max-width:100%; max-height:42px; width:auto; height:auto; object-fit:contain; }
.sc-target-context { color:#64748B; font-size:.75rem; font-weight:800; }
.sc-target-total { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin-top:3px; color:var(--ink); }
.sc-target-total strong { font-size:1.75rem; line-height:1.1; }
.sc-target-total span { color:#64748B; font-size:.82rem; font-weight:800; }
.sc-target-card .s-kpi-bar { margin-top:11px; }
.sc-target-form { max-width:480px; margin-top:17px; padding-top:15px; border-top:1px solid #edf0f5; }
.sc-target-form label { display:block; margin-bottom:7px; color:#64748B; text-transform:uppercase; font-size:.8125rem; letter-spacing:.06em; font-weight:900; }
.sc-target-form .sc-input-action input { min-width:0; }
.sc-target-form .sc-input-action button { padding:0 13px; }
.sc-division-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.sc-division-card { background:#fff; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:12px; padding:20px; box-shadow:0 10px 40px -10px rgba(39,46,109,.08); }
.sc-card-head { display:flex; justify-content:space-between; align-items:center; }
.sc-product-mark { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:24px; padding:0 8px; border-radius:5px; background:color-mix(in srgb,var(--accent) 11%,#fff); color:var(--accent); font-size:.8125rem; letter-spacing:.08em; font-weight:800; }
.sc-product-mark.genie { --accent:#35b4c8; }
.sc-version { color:#94A3B8; font-size:.75rem; font-weight:700; }
.sc-division-card h3 { font-size:1.125rem; font-weight:900; margin:12px 0 19px; color:var(--ink); }
.sc-division-card label, .sc-setup-grid label, .sc-catalog-add label { display:flex; flex-direction:column; gap:7px; color:#64748B; text-transform:uppercase; font-size:.8125rem; letter-spacing:.04em; font-weight:900; margin-bottom:0; }
.sc-division-card label span, .sc-setup-grid label span { color:#9ba5b9; text-transform:none; letter-spacing:0; font-weight:500; }
.sc-input-action { display:flex; gap:8px; }
.sc-wrapper input { width:100%; height:42px; border:1px solid #CBD5E1; background:#fff; color:#272E6D; border-radius:8px; padding:0 11px; outline:none; font-size:.9375rem; font-weight:800; }
.sc-wrapper input:focus { border-color:#0E71B8; box-shadow:0 0 0 3px rgba(14,113,184,.14); }
.sc-input-action button, .sc-primary-button, .sc-outline-button { min-height:42px; border:0; border-radius:8px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; gap:7px; font-size:.875rem; font-weight:900; cursor:pointer; white-space:nowrap; font-family:inherit; text-decoration:none; }
.sc-input-action button { background:#EAF4FC; color:#0E71B8; }
.sc-input-action button:hover { background:#D9EDFA; }
.sc-wrapper button:focus-visible, .sc-wrapper a:focus-visible { outline:2px solid #0E71B8; outline-offset:3px; }
.sc-field-kicker { color:#64748B; display:block; }
.sc-scheme-copy { color:#475569; min-height:42px; font-size:.875rem; margin:7px 0 17px; }
.sc-scheme-copy b { color:#272E6D; }
.sc-two-fields { display:grid; grid-template-columns:1fr 1fr; gap:11px; max-width:680px; }
.sc-two-fields label { min-width:0; }
.sc-form-foot { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:2px; }
.sc-form-foot small { color:#64748B; font-size:.75rem; font-weight:700; }
.sc-primary-button { color:#fff; background:#0E71B8; }
.sc-primary-button:hover { background:#0B5F9D; }
.sc-outline-button { color:#272E6D; border:1px solid #CBD5E1; background:#fff; }
.sc-outline-button:hover { background:#F8FAFC; }

.sc-commission-hint { margin:11px 0 0; color:#64748B; font-size:.82rem; font-weight:700; }
.sc-tier-module { margin-top:23px; padding:18px 20px; border:1px solid #dce7f2; border-radius:10px; background:#f8fbfe; }
.sc-tier-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.sc-tier-head h4 { margin:0; color:var(--ink); font-size:1rem; font-weight:900; }
.sc-tier-head p { margin:3px 0 0; color:#64748B; font-size:.82rem; font-weight:700; }
.sc-tier-badge { padding:3px 9px; border-radius:99px; color:#64748B; background:#e8edf3; font-size:.72rem; font-weight:900; white-space:nowrap; }
.sc-tier-badge.on { color:#166534; background:#dcfce7; }
.sc-tier-progress { margin:13px 0 0; padding:9px 11px; border-left:3px solid #0E71B8; background:#eaf4fc; color:#265276; font-size:.83rem; font-weight:800; }
.sc-tier-form { margin-top:16px; }
.sc-addon-form { display:grid; gap:12px; }
.sc-addon-module .sc-timing-note { display:block; }
.sc-addon-module .sc-timing-note span { display:inline-block; margin-bottom:8px; }
.sc-division-card .sc-tier-toggle { display:flex; flex-direction:row; align-items:center; gap:9px; margin:0 0 16px; color:var(--ink); text-transform:none; letter-spacing:0; font-size:.9rem; cursor:pointer; }
.sc-wrapper .sc-tier-toggle input { flex:none; width:18px; height:18px; margin:0; accent-color:#0E71B8; }
.sc-tier-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:760px; }
.sc-division-card .sc-tier-fields label { min-width:0; font-size:.8125rem; letter-spacing:.04em; }
.sc-tier-explanation { max-width:800px; margin:12px 0 0; color:#64748B; font-size:.79rem; font-weight:700; }
.sc-tier-foot { margin-top:15px; }
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) { background:#f1f3f6; border-color:#d6dce5; }
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) .sc-tier-head,
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) .sc-tier-progress,
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) .sc-tier-fields,
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) .sc-tier-explanation,
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) .sc-tier-foot {
  opacity:.38; filter:grayscale(1);
}
.sc-tier-module:has(.sc-tier-toggle input:not(:checked)) .sc-tier-toggle span { color:#64748B; }
.sc-wrapper .sc-tier-toggle input:not(:checked) {
  outline:2px solid #0E71B8; outline-offset:2px; background:#fff;
}

.sc-catalog-panel { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 40px -10px rgba(39,46,109,.08); }
.sc-setup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.sc-setup-grid small { color:#64748B; font-size:.75rem; margin-top:7px; display:block; font-weight:700; }

.sc-catalog-panel { padding:20px; }
.sc-catalog-add { display:grid; grid-template-columns:1.6fr 1fr auto; gap:14px; align-items:end; padding-bottom:20px; border-bottom:1px solid #edf0f5; margin:0; }
.sc-timing-note { display:flex; gap:10px; align-items:center; padding:12px 0; color:#64748B; font-size:.875rem; font-weight:700; }
.sc-timing-note span { color:#0E71B8; background:#EAF4FC; border-radius:4px; padding:4px 6px; text-transform:uppercase; letter-spacing:.09em; font-size:.6875rem; font-weight:900; white-space:nowrap; }
.sc-timing-note p { margin:0; }
.sc-catalog-list { border-top:1px solid #edf0f5; }
.sc-catalog-row { min-height:57px; display:grid; grid-template-columns:1.6fr 1fr auto; align-items:center; gap:14px; border-bottom:1px solid #edf0f5; }
.sc-catalog-row:last-child { border-bottom:0; }
.sc-catalog-row strong { font-size:.875rem; color:var(--ink); font-weight:900; }
.sc-catalog-commission { color:#475569; font-weight:800; font-size:.875rem; }
.sc-row-actions { display:flex; gap:6px; justify-content:flex-end; }
.sc-move-form { display:inline-flex; margin:0; }
.sc-row-actions button, .sc-row-actions a.sc-action-btn { width:31px; height:31px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d8dfeb; color:#77839d; background:#fff; border-radius:5px; cursor:pointer; text-decoration:none; padding:0; box-sizing:border-box; }
.sc-row-actions button:disabled { opacity:.35; cursor:default; }
.sc-row-actions button:disabled:hover { color:#77839d; border-color:#d8dfeb; background:#fff; }
.sc-row-actions button:hover, .sc-row-actions a.sc-action-btn:hover { color:#0E71B8; border-color:#0E71B8; background:#F1F8FD; }
.sc-row-actions form button:hover { color:#c35555; border-color:#edb6b6; background:#fff7f7; }
.sc-inline-input { height:42px!important; }
.sc-inline-input.name { min-width:0; }
.sc-save-link, .sc-cancel-link { border:0!important; width:auto!important; padding:0 8px!important; font-size:.875rem!important; font-weight:900!important; text-decoration:none; display:inline-flex!important; align-items:center!important; }
.sc-save-link { color:#0E71B8!important; background:transparent!important; }
.sc-cancel-link { color:#64748B!important; background:transparent!important; }
.sc-save-link:hover { background:#F1F8FD!important; }
.sc-cancel-link:hover { background:#f1f3f7!important; }

@media (max-width:900px) {
  .sc-target-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .sc-page-intro { display:block; }
  .sc-wrapper input { font-size:1rem; }
  .sc-intro-meta { text-align:left; margin-top:10px; }
  .sc-section-heading { gap:10px; }
  .sc-section-heading h2 { font-size:18px; }
  .sc-section-rule { display:none; }
  .sc-division-grid { gap:12px; }
  .sc-division-card { padding:17px; }
  .sc-setup-grid, .sc-catalog-add { grid-template-columns:1fr; }
  .sc-catalog-add .sc-primary-button { width:100%; }
  .sc-catalog-row { grid-template-columns:1fr auto; gap:8px; padding:11px 0; }
  .sc-catalog-commission { grid-column:1; }
  .sc-catalog-row .sc-row-actions { grid-column:2; grid-row:1/3; }
  .sc-timing-note { align-items:flex-start; }
  .sc-two-fields { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .sc-target-grid { grid-template-columns:1fr; gap:12px; }
  .sc-tier-module { padding:15px; }
  .sc-tier-fields { grid-template-columns:1fr; }
}
@media (max-width:390px) {
  .sc-two-fields { grid-template-columns:1fr; }
  .sc-form-foot { align-items:flex-start; flex-direction:column; }
  .sc-input-action button { padding:0 9px; }
  .sc-catalog-panel { padding:15px; }
}
.s-catalog-save { border:0; border-radius:7px; background:#0E71B8; color:#fff; padding:8px 10px; font-weight:800; cursor:pointer; }
.s-catalog-cancel { display:block; margin-top:5px; color:#64748B; font-size:.75rem; }
.s-catalog-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.s-masterplan-commission-progress {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:-6px 0 20px;
  padding:13px 15px;
  color:#334155;
  background:#FFFBEB;
  border:1px solid #FDE68A;
  border-radius:10px;
  font-size:.8rem;
  font-weight:750;
  line-height:1.4;
}
.s-masterplan-commission-progress strong { color:#172554; font-weight:900; }

/* ---- Flash message ---- */
.s-flash { border-radius:12px; padding:14px 18px; font-weight:800; font-size:0.875rem; margin-bottom:16px; }
.s-flash.ok { background:rgba(16,185,129,0.1); color:#1F7A3D; border:1px solid rgba(16,185,129,0.3); }
.s-webhook-alert-banner { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; margin-bottom:20px; border:1px solid #F2B6AA; border-left:5px solid #C0392B; border-radius:10px; background:#FFF5F2; color:#7F1D1D; font-size:.9rem; }
.s-webhook-alert-banner a { color:#7F1D1D; font-weight:900; white-space:nowrap; text-decoration:underline; }
.s-alert-page { max-width:900px; margin:0 auto; }
.s-alert-page .s-sub { margin:10px 0 24px; }
.s-alert-list { display:grid; gap:14px; }
.s-webhook-alert-item { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; border-left:4px solid #C0392B; }
.s-webhook-alert-content { min-width:0; flex:1; }
.s-webhook-alert-source { color:#64748B; font-size:.82rem; font-weight:800; }
.s-webhook-alert-item h2 { color:#1E293B; font-size:1.15rem; margin:8px 0 10px; }
.s-webhook-alert-item p { margin:7px 0 0; color:#475569; font-size:.87rem; }
.s-webhook-alert-item .s-webhook-alert-status { color:#9A3412; font-weight:800; }
.s-alert-matched-sale { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:14px 0; padding:12px 14px; border:1px solid #BED7CA; border-radius:9px; background:#F0F9F4; color:#154A32; font-size:.86rem; }
.s-alert-matched-sale a { margin-left:auto; font-weight:900; color:#125737; text-decoration:underline; }
.s-webhook-alert-item .s-alert-unmatched { margin:14px 0; padding:11px 14px; border-radius:9px; background:#FFF8E5; color:#7A4A10; font-weight:800; }
.s-webhook-alert-details { margin-top:14px; color:#475569; font-size:.84rem; }
.s-webhook-alert-details summary { cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.s-webhook-alert-details p { overflow-wrap:anywhere; }
.s-webhook-alert-action { flex:0 0 245px; }
.s-webhook-alert-action .ec-button { width:100%; white-space:normal; }
.s-webhook-alert-action small { display:block; color:#64748B; font-size:.78rem; line-height:1.45; margin-top:9px; }
@media (max-width: 640px) {
  .s-webhook-alert-banner, .s-webhook-alert-item { align-items:flex-start; flex-direction:column; }
  .s-webhook-alert-action { flex:auto; width:100%; }
}

/* Admin: delete-record button on reports */
.s-delbtn {
  background: none; border: none; cursor: pointer;
  font-size: 0.9rem; color: #CBD5E1; padding: 4px 6px; border-radius: 6px;
  transition: color .15s, background .15s;
}
.s-delbtn:hover { color: #DC2626; background: #FEF2F2; }

/* ---- Multi-product hub and shared report layout ---- */
.s-wide { max-width:1180px; margin:0 auto; }
.s-hub { max-width:960px; margin:0 auto; }
.s-hub-hero, .s-page-heading {
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
  margin-bottom:24px;
}
.s-hub-hero > .ec-button { flex-shrink:0; white-space:nowrap; }
.s-dashboard-actions { display:flex; align-items:flex-end; gap:12px; flex-shrink:0; }
.s-month-picker { display:flex; flex-direction:column; gap:4px; margin:0; }
.s-month-picker label { color:#64748B; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.s-month-picker .ec-input { min-width:165px; height:42px; padding-top:0; padding-bottom:0; }
.s-start-sale { white-space:nowrap; flex-shrink:0; }
.s-leaderboard { width:100%; overflow:hidden; }
.s-leaderboard-table { width:100%; table-layout:fixed; }
.s-leaderboard-table th:first-child { width:28%; }
.s-leaderboard-table th:not(:first-child),
.s-leaderboard-table td:not(:first-child) { width:auto; text-align:center; }
.s-leaderboard-table th,
.s-leaderboard-table td { padding:10px 12px; }
.s-leaderboard-table tbody tr.s-rank-1,
.s-leaderboard-table tbody tr.s-rank-1 > td { background:#FFF3C4; }
.s-leaderboard-table tbody tr.s-rank-2,
.s-leaderboard-table tbody tr.s-rank-2 > td { background:#E8EDF3; }
.s-leaderboard-table tbody tr.s-rank-3,
.s-leaderboard-table tbody tr.s-rank-3 > td { background:#F3D7BF; }
.s-leaderboard-person { display:flex; align-items:center; gap:9px; min-width:0; }
.s-leaderboard-person strong { color:var(--person-color); font-size:.84rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.s-leaderboard-person .s-sp-dot { background:var(--person-color); margin-top:0; }
.s-leaderboard-avatar { width:34px; height:34px; flex:0 0 34px; border-radius:50%; object-fit:cover; }
.s-leaderboard-initials { display:flex; align-items:center; justify-content:center; background:#E8F8FD; color:#087FA9; font-weight:900; }
.s-leaderboard-crown { flex-shrink:0; font-size:1.12rem; line-height:1; }
.s-leaderboard-crown[hidden] { display:none; }
.s-leaderboard-you { color:#059669; font-weight:900; flex-shrink:0; }
.s-sort-link { color:#64748B; text-decoration:none; white-space:nowrap; }
.s-sort-link:hover, .s-sort-link.on { color:#0E71B8; }
.s-commission-mobile-sort { display:none; }
.s-eyebrow {
  display:block; margin-bottom:6px; color:#0E71B8; font-size:.72rem;
  font-weight:900; letter-spacing:.12em; text-transform:uppercase;
}
.s-hub-summary {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px;
  margin-bottom:22px; border:1px solid #E2E8F0; border-radius:14px;
  background:#E2E8F0; overflow:hidden;
}
.s-hub-summary > div { background:#fff; padding:18px 20px; }
.s-hub-summary span { display:block; color:#64748B; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.s-hub-summary strong { display:block; margin-top:5px; color:#172554; font-size:1.45rem; font-weight:900; }
.s-hub-pep {
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  background:#EDF6FE; min-width:0;
}
.s-hub-pep .s-hub-pep-spark {
  display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px;
  border-radius:12px; color:#0E71B8; background:#D5ECFC;
  font-size:1.4rem; line-height:1; letter-spacing:0;
}
.s-hub-pep .s-hub-pep-copy { min-width:0; }
.s-hub-pep .s-hub-pep-label { color:#0E71B8; font-size:.66rem; }
.s-hub-pep .s-hub-pep-message {
  margin-top:5px; color:#172554; font-size:.85rem;
  font-weight:800; line-height:1.35; letter-spacing:0; text-transform:none;
}
.s-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.s-product-card {
  position:relative; min-width:0; display:grid; grid-template-columns:145px minmax(0,1fr) auto;
  align-items:center; gap:18px; padding:24px; overflow:hidden; text-decoration:none;
  color:#0F172A; background:#fff; border:1px solid #E2E8F0; border-top:5px solid var(--product-accent);
  border-radius:16px; box-shadow:0 12px 34px -18px rgba(15,23,42,.35);
  transition:transform .15s ease, box-shadow .15s ease;
}
.s-product-card:hover { transform:translateY(-2px); box-shadow:0 18px 42px -18px rgba(15,23,42,.42); }
.s-product-card:after { content:""; position:absolute; right:-35px; bottom:-55px; width:150px; height:150px; border-radius:50%; background:var(--product-accent2); opacity:.12; }
.s-product-logo { height:76px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#F8FAFC; padding:10px; }
.s-product-logo img { max-width:100%; max-height:100%; object-fit:contain; }
.s-product-kicker { color:var(--product-accent); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.s-product-card h2 { margin:4px 0; font-size:1.2rem; font-weight:900; }
.s-product-card p { color:#64748B; font-size:.84rem; font-weight:700; }
.s-product-arrow { position:relative; z-index:1; color:var(--product-accent); font-size:1.55rem; font-weight:900; }
.s-product-pill {
  --pill:#272E6D; display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; padding:3px 9px; border:1px solid color-mix(in srgb,var(--pill) 28%,transparent);
  border-radius:999px; color:var(--pill); background:color-mix(in srgb,var(--pill) 9%,white);
  font-size:.69rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase;
}
.s-manual-page { max-width:1120px; }
.s-manual-panel { padding:24px; margin-bottom:18px; }
.s-manual-step { color:#172554; font-weight:900; font-size:.9rem; margin-bottom:12px; }
.s-manual-search label, .s-manual-fields label, .s-manual-edit label {
  display:block; color:#334155; font-size:.82rem; font-weight:800;
}
.s-manual-search-row { display:flex; gap:10px; margin-top:8px; }
.s-manual-search-row .ec-input { flex:1; min-width:0; }
.s-manual-search-row .ec-button { width:auto; white-space:nowrap; }
.s-manual-note, .s-manual-meta, .s-manual-total-note {
  color:#64748B; font-size:.82rem; font-weight:700; line-height:1.5;
}
.s-manual-note { margin:10px 0 0; }
.s-manual-total-note { margin:-7px 0 17px; }
.s-manual-options { display:grid; gap:10px; margin:14px 0 24px; max-height:440px; overflow-y:auto; }
.s-manual-option {
  display:flex; align-items:center; gap:14px; cursor:pointer; padding:14px;
  border:1px solid #CBD5E1; border-radius:11px; background:#fff;
}
.s-manual-option:has(input:checked) { border-color:#0E71B8; background:#EFF7FF; box-shadow:0 0 0 2px #CBE7FA; }
.s-manual-option input { accent-color:#0E71B8; width:17px; height:17px; flex-shrink:0; }
.s-manual-option strong { color:#172554; font-size:1.05rem; }
.s-manual-option small { display:block; color:#64748B; line-height:1.4; overflow-wrap:anywhere; }
.s-manual-fields { margin-bottom:15px; }
.s-manual-product-choice { max-width:640px; min-width:0; border:0; padding:0; margin:0; }
.s-manual-product-choice legend { font-weight:800; margin-bottom:8px; }
.s-manual-fields .s-manual-option { display:flex; margin:0; }
.s-manual-other-fields { display:grid; grid-template-columns:1.5fr 1fr; gap:16px; margin-top:16px; }
.s-manual-other-fields[hidden] { display:none; }
.s-manual-fields .ec-input { display:block; width:100%; margin-top:7px; }
.s-manual-warning { color:#854D0E; background:#FFFBEB; padding:12px 15px; border:1px solid #FDE68A; border-radius:9px; font-size:.83rem; font-weight:800; margin:16px 0 28px; }
.s-manual-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:17px; }
.s-manual-tabs a { text-decoration:none; color:#334155; background:#fff; border:1px solid #CBD5E1; padding:8px 12px; border-radius:9px; font-size:.79rem; font-weight:900; }
.s-manual-tabs a.active { background:#172554; color:#fff; border-color:#172554; }
.s-manual-queue { display:grid; gap:15px; }
.s-manual-claim { padding:20px 24px; }
.s-manual-claim-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; }
.s-manual-claim-head h2 { margin:6px 0 4px; font-size:1.13rem; color:#172554; }
.s-manual-claim-head p { margin:0; color:#475569; font-size:.84rem; overflow-wrap:anywhere; }
.s-manual-claim-head > strong { color:#172554; white-space:nowrap; }
.s-manual-meta { margin:11px 0; overflow-wrap:anywhere; }
.s-manual-item-comparison {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:15px;
}
.s-manual-item-comparison > div { padding:11px 13px; border:1px solid #E2E8F0; border-radius:9px; background:#F8FAFC; min-width:0; }
.s-manual-item-comparison span { display:block; margin-bottom:5px; color:#64748B; font-size:.68rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.s-manual-item-comparison strong { color:#172554; font-size:.83rem; overflow-wrap:anywhere; }
.s-manual-actions { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; border-top:1px solid #E2E8F0; padding-top:15px; }
.s-manual-actions form { margin:0; }
.s-manual-edit { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; margin-right:auto !important; }
.s-manual-edit input { display:block; margin-top:5px; max-width:130px; }
.s-manual-actions .ec-button, .s-manual-actions .s-pagebtn, .s-manual-actions .s-delbtn { width:auto; white-space:nowrap; }
.s-manual-actions .s-pagebtn { cursor:pointer; transition:background .15s, border-color .15s, color .15s, transform .15s; }
.s-manual-reject:hover, .s-manual-reject:focus-visible { background:#FEF2F2; border-color:#FCA5A5; color:#B91C1C; transform:translateY(-1px); }
.s-manual-remove { width:38px !important; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #E2E8F0; color:#64748B; background:#fff; }
.s-manual-remove svg { width:17px; height:17px; }
.s-manual-remove:focus-visible { outline:2px solid #DC2626; outline-offset:2px; }
.s-manual-list { margin-bottom:22px; overflow:hidden; }
.s-manual-list .s-manual-note { padding:6px 20px 21px; }
.s-manual-list .s-table small { color:#64748B; overflow-wrap:anywhere; }
.s-manual-tag { display:inline-block; color:#3730A3; background:#EEF2FF; border-radius:99px; padding:4px 9px; font-size:.68rem; font-weight:900; white-space:nowrap; }
.s-manual-status { display:inline-block; border-radius:99px; padding:5px 9px; font-size:.7rem; font-weight:900; white-space:nowrap; color:#92400E; background:#FEF3C7; }
.s-manual-status.status-approved { color:#166534; background:#DCFCE7; }
.s-manual-status.status-refund_review { color:#9A3412; background:#FFEDD5; }
.s-manual-status.status-rejected, .s-manual-status.status-removed { color:#991B1B; background:#FEE2E2; }
.s-pending-links { margin:30px 0 20px; }
.s-pending-links-divider { height:1px; background:#CBD5E1; margin:0 0 28px; }
.s-pending-links-heading { margin:0 0 16px; }
.s-pending-links-heading h2 { font-size:1.25rem; font-weight:900; color:#272E6D; margin:4px 0 5px; }
.s-pending-links-heading h2 small { font-size:.75rem; padding:3px 9px; border-radius:99px; color:#475569; background:#E2E8F0; vertical-align:middle; }
.s-pending-links-heading p { color:#64748B; font-size:.84rem; font-weight:700; margin:0; }
.s-pending-links-card { margin:0; }
.s-pending-links-card td { vertical-align:middle; }
.s-pending-links-card small { overflow-wrap:anywhere; }
.s-link-status { display:inline-block; border-radius:99px; padding:5px 10px; font-size:.72rem; font-weight:900; white-space:nowrap; }
.s-link-status.pending { color:#92400E; background:#FEF3C7; }
.s-link-status.payment-pending { color:#1D4ED8; background:#DBEAFE; }
.s-link-status.locked { color:#475569; background:#E2E8F0; }
.s-link-status.expired { color:#9A3412; background:#FFEDD5; }
.s-pending-link-actions { white-space:nowrap; }
.s-pending-link-actions a { color:#0E71B8; font-weight:900; text-decoration:none; }
.s-pending-link-actions form { display:inline-block; margin-left:12px; vertical-align:middle; }
.s-link-delete { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid #E2E8F0; border-radius:8px; color:#B91C1C; background:#fff; cursor:pointer; }
.s-link-delete:hover { background:#FEF2F2; border-color:#FCA5A5; }
.s-link-delete:focus-visible { outline:2px solid #B91C1C; outline-offset:2px; }
.s-link-action-note { display:inline-block; margin-left:8px; color:#64748B; font-size:.75rem; white-space:normal; }
.s-manual-check { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:12px 0 20px; }
.s-manual-check .s-manual-note { margin:0; }
@media (max-width:620px) {
  .s-manual-search-row, .s-manual-other-fields { display:flex; flex-direction:column; }
  .s-manual-search-row .ec-button { width:100%; }
  .s-manual-claim-head { flex-direction:column; }
  .s-manual-item-comparison { grid-template-columns:1fr; }
}
.s-filterbar {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:10px;
  padding:14px; margin-bottom:20px;
}
.s-filterbar .ec-input, .s-filterbar .ec-button { width:100%; height:42px; min-width:0; font-size:.82rem; }
.s-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.s-quick-status { display:flex; flex-wrap:wrap; gap:8px; padding:12px 16px; border-bottom:1px solid #E2E8F0; }
.s-quick-status-link { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 15px; border:1px solid #CBD5E1; border-radius:999px; color:#334155; background:#fff; font-size:.8rem; font-weight:900; text-decoration:none; }
.s-quick-status-link:hover, .s-quick-status-link:focus-visible { border-color:#272E6D; color:#272E6D; }
.s-quick-status-link.is-active { background:#272E6D; border-color:#272E6D; color:#fff; }
.s-quick-status-link.is-active:hover, .s-quick-status-link.is-active:focus-visible { color:#fff; }
.s-section-head a, .s-row-action a { color:#0E71B8; font-size:.78rem; font-weight:900; text-decoration:none; }
.s-responsive-table { overflow:hidden; }
.s-responsive-table small { color:#94A3B8; font-weight:700; }
.s-money { color:#1F7A3D; white-space:nowrap; }
.s-cell-stack { margin-top:5px; color:#64748B; font-size:.72rem; font-weight:700; line-height:1.55; min-width:120px; }
.s-cell-stack b { color:#475569; }
.s-row-action { text-align:right; white-space:nowrap; }
.s-row-action form { display:inline-block; margin-left:5px; }
.s-empty-row td { padding:32px !important; text-align:center; color:#94A3B8 !important; }
.s-access-box { padding:12px; border:1px solid #E2E8F0; border-radius:10px; background:#fff; }
.s-access-box label:not(.s-label) { display:block; margin:8px 0; color:#334155; font-size:.86rem; font-weight:800; }
.s-access-box small { color:#94A3B8; font-weight:700; }

@media (max-width:720px) {
  .s-main { padding:22px 12px; overflow-x:hidden; }
  .s-personal-commission { padding:16px; }
  .s-personal-commission-top { align-items:flex-start; flex-direction:column; gap:6px; }
  .s-personal-goal-inline { padding:18px 16px; }
  .s-personal-goal-inline-head { align-items:flex-start; flex-direction:column; gap:6px; }
  .s-personal-goal-target { font-size:1.5rem; }
  .s-hub-hero, .s-page-heading { align-items:flex-start; flex-direction:column; }
  .s-dashboard-actions { width:100%; flex-wrap:wrap; }
  .s-primary-product { display:flex; align-items:flex-start; flex-direction:column; padding:22px; }
  .s-primary-product-stats { width:100%; justify-content:space-between; }
  .s-primary-product-stats > div { align-items:flex-start; }
  .s-primary-team-progress { width:100%; }
  .s-team-momentum { grid-template-columns:1fr; }
  .s-team-activity ul { grid-template-columns:1fr; }
  .s-next-action { align-items:flex-start; flex-direction:column; }
  .s-overdue-followups li { align-items:flex-start; flex-direction:column; }
  .s-secondary-products-grid { grid-template-columns:1fr; }
  .s-hub-summary { grid-template-columns:1fr; }
  .s-product-grid { grid-template-columns:1fr; }
  .s-product-card { grid-template-columns:70px 1fr auto; padding:18px; }
  .s-product-card--wide-logo { grid-template-columns:130px minmax(0,1fr) auto; }
  .s-product-logo { height:62px; }
  .s-filterbar { grid-template-columns:1fr 1fr; }
  .s-filterbar input:first-child { grid-column:1 / -1; }
  .s-responsive-table { overflow:visible; border:0; box-shadow:none; background:transparent; }
  .s-responsive-table .s-detail-head { border:1px solid #E2E8F0; border-radius:12px; margin-bottom:10px; background:#fff; }
  .s-responsive-table table, .s-responsive-table tbody, .s-responsive-table tr, .s-responsive-table td { display:block; width:100%; }
  .s-responsive-table thead { display:none; }
  .s-responsive-table tr { margin-bottom:12px; padding:8px 14px; border:1px solid #E2E8F0; border-radius:12px; background:#fff; box-shadow:0 8px 24px -18px rgba(15,23,42,.45); }
  .s-responsive-table td { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:8px 0; border:0; text-align:right; overflow-wrap:anywhere; }
  .s-responsive-table td:before { content:attr(data-label); flex:0 0 92px; color:#94A3B8; font-size:.67rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; text-align:left; }
  .s-responsive-table .s-row-action { justify-content:flex-end; }
  .s-responsive-table .s-row-action:before { content:""; }
  .s-responsive-table .s-empty-row { padding:0; }
  .s-responsive-table .s-empty-row td { display:block; }
  .s-responsive-table .s-empty-row td:before { display:none; }
  .s-manual-catalog-table { min-width:0; }
  .s-manual-catalog-action { text-align:right; }
  .s-tablefoot { border:1px solid #E2E8F0; border-radius:12px; background:#fff; }
  .s-teamid { width:100%; }
  .s-commission-grid { grid-template-columns:1fr; }
  .s-target-form { align-items:stretch; flex-direction:column; }
}

@media (max-width:440px) {
  .s-kpis { grid-template-columns:1fr; }
  .s-filterbar { grid-template-columns:1fr; }
  .s-filterbar input:first-child { grid-column:auto; }
  .s-product-card { grid-template-columns:110px minmax(0,1fr); }
  .s-product-arrow { display:none; }
  .s-product-logo { height:54px; }
}

/* ---- Shared Table Enhancements ---- */
.s-report-data { overflow-x: auto; }
.s-report-data .s-table { width:100%; min-width:1320px; table-layout:fixed; }
.s-report-data .s-admin-report-table { min-width:1410px; }
.s-report-data .s-table th,
.s-report-data .s-table td { padding-left:8px; padding-right:8px; vertical-align:top; }
.s-report-data .s-table th { letter-spacing: .07em; }
.s-report-data td[data-label="Signed up"],
.s-report-data td[data-label="Billing"],
.s-report-data td[data-label="Trial end"],
.s-report-data td[data-label="1st Pay"],
.s-report-data td[data-label="2nd Pay"] { white-space: nowrap; }
@media (min-width:721px) {
  .s-report-data .s-admin-report-table th:nth-child(6),
  .s-report-data .s-personal-sales-table:not(.has-salesperson) th:nth-child(5),
  .s-report-data .s-personal-sales-table.has-salesperson th:nth-child(6),
  .s-report-data :is(.s-admin-report-table, .s-personal-sales-table) td[data-label="Status"] { padding-left:22px; }
}

.s-salesperson-cell { width: 150px; min-width: 130px; }
.s-sp-chip { display:flex; align-items:flex-start; gap:7px; max-width:100%; font-weight:800; line-height:1.25; }
.s-salesperson-cell .s-sp-chip { max-width:120px; }
.s-sp-dot { width:10px; height:10px; border-radius:50%; flex:0 0 10px; margin-top:.2em; }
.s-sp-name {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
}

.s-admin-report-table th:nth-child(1) { width:120px; }
.s-admin-report-table th:nth-child(2) { width:140px; }
.s-admin-report-table th:nth-child(3) { width:145px; }
.s-admin-report-table th:nth-child(4) { width:125px; }
.s-admin-report-table th:nth-child(5) { width:115px; }
.s-admin-report-table th:nth-child(6) { width:176px; }
.s-admin-report-table th:nth-child(7) { width:105px; }
.s-admin-report-table th:nth-child(8) { width:125px; }
.s-admin-report-table th:nth-child(9),
.s-admin-report-table th:nth-child(10) { width:145px; }
.s-admin-report-table th:nth-child(11) { width:72px; }

.s-sales-report-table th:nth-child(1) { width:130px; }
.s-sales-report-table th:nth-child(2) { width:75px; }
.s-sales-report-table th:nth-child(3) { width:155px; }
.s-sales-report-table th:nth-child(4) { width:125px; }
.s-sales-report-table th:nth-child(5) { width:115px; }
.s-sales-report-table th:nth-child(6) { width:190px; }
.s-sales-report-table th:nth-child(7) { width:105px; }
.s-sales-report-table th:nth-child(8),
.s-sales-report-table th:nth-child(9),
.s-sales-report-table th:nth-child(10) { width:145px; }
.s-sales-report-table th:nth-child(11) { width:58px; }
.s-personal-sales-table { min-width:1320px !important; }
.s-personal-sales-table.has-salesperson { min-width:1450px !important; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(1) { width:75px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(2) { width:155px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(3) { width:125px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(4) { width:115px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(5) { width:190px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(6) { width:105px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(7),
.s-personal-sales-table:not(.has-salesperson) th:nth-child(8),
.s-personal-sales-table:not(.has-salesperson) th:nth-child(9) { width:145px; }
.s-personal-sales-table:not(.has-salesperson) th:nth-child(10) { width:58px; }

.s-prospect-cell { max-width: 220px; }
.s-prospect-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.3;
}
.s-prospect-email {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.s-copy-email {
  margin-top:6px; padding:3px 7px; border:1px solid #CBD5E1; border-radius:6px;
  background:#fff; color:#0E71B8; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer;
}
.s-copy-email:hover, .s-copy-email:focus-visible { border-color:#0E71B8; background:#EFF6FF; }
#sales-results[aria-busy="true"] { opacity:.55; }

.s-blank-bg {
  background-color: #F8FAFC !important;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(226, 232, 240, 0.4) 4px, rgba(226, 232, 240, 0.4) 8px) !important;
}

.s-pay-status {
  display: inline-block;
  max-width: 100%;
  font-size: 0.8125rem;
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.s-pay-paid { color: #1F7A3D; }
.s-pay-due { color: #64748B; font-weight: 700; }
.s-pay-overdue { color: #DC2626; font-weight: 900; }
.s-pay-none { color: #94A3B8; font-weight: 600; }

.s-pay-line {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #475569;
  white-space: normal;
  overflow-wrap: anywhere;
  margin-bottom: 2px;
}
.s-pay-line:last-child { margin-bottom: 0; }

:is(.s-admin-report-table, .s-personal-sales-table) td[data-label="Status"],
:is(.s-admin-report-table, .s-personal-sales-table) td[data-label="Commission"] {
  overflow-wrap: anywhere;
  word-break: normal;
}
:is(.s-admin-report-table, .s-personal-sales-table) td[data-label="Commission"] small {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}
:is(.s-admin-report-table, .s-personal-sales-table) td[data-label="Commission"] .s-cell-stack {
  min-width:0;
  max-width:100%;
}
.s-product-pills { display:flex; flex-wrap:wrap; gap:5px; }
.s-summary-label {
  margin:22px 2px 10px;
  color:#475569;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.s-monthly-sales-summary {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 24px;
}
.s-monthly-product {
  display:flex; flex-direction:column; align-items:stretch;
  gap:14px;
  min-width:0; padding:18px 16px;
  border-top:4px solid var(--summary-accent);
}
.s-monthly-product-progress > div:first-child { display:flex; align-items:baseline; gap:8px; min-width:0; flex-wrap:wrap; }
.s-monthly-product-progress .s-kpi-bar { margin-top:10px; }
.s-monthly-product strong { color:#172554; font-size:1.7rem; line-height:1; }
.s-monthly-product-progress span { color:#64748B; font-size:.78rem; font-weight:800; }
.s-report-section { margin-bottom:24px; }
@media (max-width: 1000px) {
  .s-monthly-sales-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .s-monthly-product { padding:14px 16px; }
}
@media (max-width: 560px) {
  .s-monthly-sales-summary { grid-template-columns:1fr; gap:10px; }
}

th.s-ec-col, td.s-ec-col { border-left: 1px dashed #E2E8F0; }

.s-membership-result {
  margin-top: 14px;
  padding: 14px 16px;
  border: 2px solid;
  border-radius: 12px;
}
.s-membership-result.is-member {
  color: #166534;
  background: #F0FDF4;
  border-color: #86EFAC;
}
.s-membership-result.not-member {
  color: #92400E;
  background: #FFFBEB;
  border-color: #FCD34D;
}
.s-membership-result-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.s-membership-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: #FFF;
  border-radius: 999px;
  font-size: 1rem;
}
.s-membership-result.is-member .s-membership-icon { background: #16A34A; }
.s-membership-result.not-member .s-membership-icon { background: #D97706; }
.s-membership-kicker {
  display: block;
  margin-bottom: 2px;
  color: #64748B;
  font-size: 0.6875rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.s-membership-result strong {
  display: block;
  font-size: 1.125rem;
  font-weight: 950;
  letter-spacing: .01em;
}
.s-membership-result p {
  margin: 9px 0 0 42px;
  color: #334155;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .s-report-data { overflow:visible; }
  .s-report-data .s-table { min-width:0 !important; table-layout:auto; }
  .s-responsive-table td.s-blank-bg { display: none !important; }
  .s-sales-table-scroll .s-table { min-width:0; }
  #sales-results .s-table-scroll-hint { display:none; }

  /* A payable amount and a four-product breakdown are easier to scan than
     seven stacked label/value rows for every salesperson. */
  .s-commission-report .s-section-head { flex-direction:column; align-items:flex-start; gap:8px; }
  .s-commission-mobile-sort { display:block; margin:0 16px 14px; font-size:.8rem; font-weight:800; }
  .s-commission-mobile-sort summary { color:#272E6D; cursor:pointer; padding:4px 0; }
  .s-commission-mobile-sort nav { display:grid; gap:2px; margin-top:8px; padding:8px; border:1px solid #E2E8F0; border-radius:8px; background:#fff; }
  .s-commission-mobile-sort nav a { display:block; padding:8px; color:#0E71B8; text-decoration:none; border-radius:6px; }
  .s-commission-mobile-sort nav a:hover, .s-commission-mobile-sort nav a:focus-visible { background:#EFF6FF; }
  .s-commission-report .s-leaderboard-table tr:not(.s-empty-row) {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:8px;
    padding:12px 16px;
  }
  .s-commission-report .s-leaderboard-table td {
    display:block;
    width:auto;
    min-width:0;
    padding:8px 0;
    text-align:left;
    overflow-wrap:break-word;
  }
  .s-commission-report .s-leaderboard-table td::before {
    display:block;
    margin-bottom:4px;
    font-size:.63rem;
    flex:none;
  }
  .s-commission-report .s-leaderboard-table td[data-label="Salesperson"] {
    order:-3;
    grid-column:1 / -1;
    padding:2px 0 12px;
  }
  .s-commission-report .s-leaderboard-table td[data-label="Salesperson"]::before { display:none; }
  .s-commission-report .s-leaderboard-person strong { overflow:visible; white-space:normal; }
  .s-commission-report .s-leaderboard-table td[data-label="Commission payable"] {
    order:-2;
    grid-column:1 / 4;
    border-top:1px solid rgba(100,116,139,.2);
  }
  .s-commission-report .s-leaderboard-table td[data-label="Commission payable"] .s-money {
    font-size:1.3rem;
    line-height:1.25;
  }
  .s-commission-report .s-leaderboard-table td[data-label="Total sales"] {
    order:-1;
    border-top:1px solid rgba(100,116,139,.2);
  }
  .s-commission-report .s-leaderboard-table td[data-label="Total sales"] strong { font-size:1.15rem; }
  .s-commission-report .s-leaderboard-table td[data-mobile-label] {
    border-top:1px solid rgba(100,116,139,.2);
    padding-top:10px;
  }
  .s-commission-report .s-leaderboard-table td[data-mobile-label]::before { content:attr(data-mobile-label); }

  /* Both sales lists use two-column cards on phones, not squeezed table rows. */
  #sales-results .s-section-head { flex-direction:column; align-items:flex-start; gap:8px; }
  #sales-results .s-section-head a { display:inline-block; }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) tr:not(.s-empty-row) {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    column-gap:16px;
    padding:12px 16px;
  }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) td {
    display:block;
    width:auto;
    min-width:0;
    padding:10px 0;
    text-align:left;
    white-space:normal;
    overflow-wrap:break-word;
  }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) td::before {
    display:block;
    margin-bottom:4px;
    font-size:.63rem;
    flex:none;
  }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) .s-prospect-cell {
    order:-1;
    grid-column:1 / -1;
    max-width:none;
    padding:5px 0 15px;
    border-bottom:1px solid #E2E8F0;
  }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) .s-prospect-cell::before { display:none; }
  #sales-results .s-prospect-name {
    display:block;
    overflow:visible;
    -webkit-line-clamp:unset;
    font-size:1rem;
    line-height:1.35;
    word-break:normal;
  }
  #sales-results .s-copy-email {
    display:inline-flex;
    align-items:center;
    min-height:36px;
    margin-top:9px;
    padding:6px 12px;
    white-space:nowrap;
  }
  #sales-results .s-salesperson-cell { min-width:0; }
  #sales-results .s-salesperson-cell .s-sp-chip { max-width:100%; }
  #sales-results .s-sp-name {
    display:block;
    overflow:visible;
    -webkit-line-clamp:unset;
  }
  #sales-results td[data-label="Status"] .s-dstatus {
    max-width:100%;
    white-space:normal;
    line-height:1.25;
  }
  #sales-results :is(td[data-label="Trial end"], td[data-label="Trial"], td[data-label="Dates"]) {
    grid-column:1 / -1;
    border-top:1px solid #E2E8F0;
  }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) .s-row-action {
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 0 3px;
    border-top:1px solid #E2E8F0;
  }
  #sales-results :is(.s-admin-report-table, .s-personal-sales-table) .s-row-action::before { display:none; }
  #sales-results .s-row-action a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:1;
    min-height:40px;
    border-radius:8px;
    background:#EFF6FF;
  }
  #sales-results .s-row-action form { margin-left:0; }
  #sales-results .s-row-action .s-delbtn {
    min-width:40px;
    min-height:40px;
    color:#64748B;
  }
}

/* ---- Manual sale: required core-product fulfilment panel ---- */
.s-fulfil-panel { margin:24px 0; padding:28px; scroll-margin-top:96px; background:#FFF3B0; border:5px solid #E0A800; border-radius:16px; color:#1B1B1B; box-shadow:0 8px 24px rgba(224,168,0,.28); }
.s-fulfil-panel:focus { outline:4px solid #172554; outline-offset:4px; }
.s-fulfil-badge { display:inline-block; margin:0 0 10px; padding:6px 12px; border-radius:99px; background:#172554; color:#fff; font-size:.8rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.s-fulfil-panel .s-fulfil-heading { margin:0 0 12px; color:#1B1B1B; font-size:1.5rem; font-weight:900; line-height:1.25; }
.s-fulfil-must { margin:0 0 12px; padding:14px 16px; background:#fff; border-left:6px solid #172554; border-radius:8px; color:#1B1B1B; font-size:1.05rem; line-height:1.45; }
.s-fulfil-panel .s-manual-note { color:#2B2B2B; font-size:.95rem; font-weight:700; line-height:1.5; margin:0 0 20px; }
.s-fulfil-panel .s-manual-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 18px; margin:0; }
.s-fulfil-panel .s-manual-fields label { display:block; min-width:0; color:#1B1B1B; font-size:1.05rem; font-weight:900; }
.s-fulfil-panel .s-manual-fields label:has(textarea),
.s-fulfil-panel .s-manual-fields label:has(input[name="details[address1]"]),
.s-fulfil-panel .s-manual-fields label:has(input[name="details[subscription_id]"]) { grid-column:1 / -1; }
.s-fulfil-panel .req { color:#B00020; font-size:1.2em; }
.s-fulfil-panel .s-manual-fields .ec-input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-height:60px; margin-top:8px; padding:12px 14px; background:#fff; border:3px solid #7A5A00; border-radius:10px; color:#1B1B1B; font-size:1.15rem; font-weight:800; }
.s-fulfil-panel .s-manual-fields textarea.ec-input { height:auto; min-height:130px; line-height:1.45; resize:vertical; }
.s-fulfil-panel .s-manual-fields .ec-input:focus { outline:4px solid #172554; outline-offset:2px; border-color:#172554; }
.s-fulfil-panel .s-manual-fields .ec-input:required:invalid { border-color:#B00020; }
@media (max-width:640px) {
  .s-fulfil-panel { padding:18px 14px; border-width:4px; }
  .s-fulfil-panel .s-manual-fields { grid-template-columns:minmax(0,1fr); }
  .s-fulfil-panel .s-fulfil-heading { font-size:1.25rem; }
}
