/* RTM OS — mobile-first (sales xem trên điện thoại khi đi tuyến) */
#workspace-rtm-os { background: #f4f6fb; }
.rtm-wrap { max-width: none; margin: 0; padding: 0 14px 80px; }

.rtm-head { margin: 0 -14px 14px; padding: 16px 18px; background: linear-gradient(120deg, #0f172a 0%, #1e293b 55%, #334155 100%); color: #fff; border-radius: 0 0 18px 18px; box-shadow: 0 4px 14px rgba(15,23,42,.18); }
.rtm-title { margin: 0; font-size: 20px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.rtm-sub { margin: 4px 0 0; font-size: 13px; color: #64748b; line-height: 1.4; }

/* cards: stack trên mobile, 3 cột desktop */
.rtm-cards { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 14px; }
.rtm-card { position: relative; background: #fff; border: 1px solid #e9edf3; border-radius: 14px; padding: 16px 18px 14px; box-shadow: 0 1px 3px rgba(15,23,42,.05); overflow: hidden; transition: box-shadow .15s, transform .15s; }
.rtm-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--accent, #0f172a); opacity: .9; }
.rtm-card:hover { box-shadow: 0 6px 18px rgba(15,23,42,.10); transform: translateY(-1px); }
.rtm-card-warn { background: #fffbeb; border-color: #fde68a; }
.rtm-card-top { display: flex; align-items: center; gap: 7px; }
.rtm-card-ic { font-size: 15px; line-height: 1; }
.rtm-card-label { font-size: 11px; color: #64748b; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.rtm-card-num { font-size: 29px; font-weight: 800; line-height: 1.05; margin: 7px 0 3px; letter-spacing: -.01em; }
.rtm-card-foot { font-size: 11.5px; color: #94a3b8; }
.rtm-card-q { margin-left: auto; font-size: 12px; color: #cbd5e1; cursor: help; }
.rtm-card:hover .rtm-card-q { color: var(--accent, #64748b); }
/* note 3 miền trong card */
.rtm-card-rg { margin-top: 9px; padding-top: 8px; border-top: 1px dashed #eef2f7; display: flex; flex-direction: column; gap: 3px; }
.rtm-card-rg div { display: flex; justify-content: space-between; align-items: baseline; font-size: 11.5px; line-height: 1.3; }
.rtm-card-rg span { color: #94a3b8; font-weight: 600; }
.rtm-card-rg b { color: #334155; font-weight: 700; font-size: 12px; }
.rtm-card-rg b small { color: #94a3b8; font-weight: 600; font-size: 10.5px; margin-left: 4px; }
.rtm-card-click { cursor: pointer; }
.rtm-card-click:hover { box-shadow: 0 8px 22px rgba(15,23,42,.13); }
.rtm-mdl-meta { font-size: 12px; color: #64748b; font-weight: 700; margin-bottom: 4px; }
.rtm-mdl-big { font-size: 34px; font-weight: 800; color: #0f172a; margin: 2px 0 6px; letter-spacing: -.01em; }

/* danh sách outlet nhóm theo miền → sales */
.rtm-grp { border: 1px solid #e9edf3; border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
.rtm-grp-h { display: flex; justify-content: space-between; align-items: center; background: #0f172a; color: #fff; font-size: 13px; font-weight: 800; padding: 9px 13px; }
.rtm-grp-h span { font-size: 11px; font-weight: 600; opacity: .85; }
.rtm-grp-s { display: flex; justify-content: space-between; align-items: center; background: #f1f5f9; color: #334155; font-size: 12.5px; font-weight: 700; padding: 6px 13px; border-top: 1px solid #e2e8f0; }
.rtm-grp-s span { font-size: 11px; font-weight: 600; color: #64748b; }
.rtm-grp-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 13px 7px 24px; border-top: 1px solid #f1f5f9; font-size: 13px; }
.rtm-grp-row > span:first-child { color: #1e293b; font-weight: 600; }
.rtm-grp-row small { color: #94a3b8; white-space: nowrap; }
.rtm-grp-skus { display: flex; flex-wrap: wrap; gap: 3px; justify-content: flex-end; }

/* legend giải thích chỉ số */
.rtm-legend { background: #fff; border: 1px solid #e9edf3; border-radius: 12px; margin: -2px 0 14px; padding: 0 14px; box-shadow: 0 1px 3px rgba(15,23,42,.04); }
.rtm-legend summary { cursor: pointer; padding: 11px 0; font-size: 13px; font-weight: 700; color: #2563eb; list-style: none; }
.rtm-legend summary::-webkit-details-marker { display: none; }
.rtm-legend[open] summary { border-bottom: 1px solid #f1f5f9; }
.rtm-legend ul { margin: 10px 0 6px; padding-left: 18px; }
.rtm-legend li { font-size: 12.5px; color: #475569; line-height: 1.6; margin-bottom: 5px; }
.rtm-legend-tip { font-size: 11.5px; color: #94a3b8; padding: 6px 0 12px; border-top: 1px dashed #eef2f7; }

/* filters: stack trên mobile */
.rtm-filters { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 14px; }
.rtm-f { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: #475569; font-weight: 600; }
.rtm-f select {
  padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 9px; font-size: 15px;
  background: #fff; color: #0f172a; -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.rtm-f select:disabled { background-color: #f1f5f9; color: #64748b; }

/* table */
.rtm-table-meta { font-size: 12px; color: #64748b; margin-bottom: 6px; font-weight: 600; }
.rtm-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rtm-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.rtm-table thead th {
  background: #f1f5f9; color: #475569; font-size: 11px; text-transform: uppercase; letter-spacing: .03em;
  text-align: left; padding: 9px 12px; position: sticky; top: 0; z-index: 1; white-space: nowrap;
}
.rtm-table td { padding: 11px 12px; border-top: 1px solid #f1f5f9; font-size: 14px; vertical-align: middle; color: #1e293b; }
.rtm-table tbody tr { transition: background .12s; }
.rtm-table tbody tr:hover { background: #f8fafc; }
.rtm-outlet strong { display: block; font-size: 14px; }
.rtm-seg { display: block; font-size: 11px; color: #94a3b8; margin-top: 1px; }
.rtm-sku strong { display: block; color: #0f172a; }
.rtm-sku-name { display: block; font-size: 11px; color: #94a3b8; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rtm-last { white-space: nowrap; font-size: 13px; color: #475569; }
.rtm-never { color: #b91c1c; font-weight: 600; }

.rtm-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.rtm-mand { background: #fee2e2; color: #b91c1c; }
.rtm-rec { background: #e0e7ff; color: #4338ca; }

.rtm-action-btn {
  border: 1px solid #2563eb; background: #2563eb; color: #fff; border-radius: 8px;
  padding: 8px 12px; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.rtm-action-btn:hover { background: #1d4ed8; }
.rtm-action-btn:disabled { opacity: .7; cursor: default; }
.rtm-action-btn.rtm-done { background: #16a34a; border-color: #16a34a; }

.rtm-loading, .rtm-empty { padding: 30px; text-align: center; color: #94a3b8; font-size: 14px; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; }

/* desktop */
@media (min-width: 720px) {
  .rtm-wrap { padding: 20px 34px 80px; }
  .rtm-title { font-size: 22px; }
  .rtm-cards-4 { grid-template-columns: repeat(4, 1fr); }
  .rtm-bd-grid { grid-template-columns: repeat(3, 1fr); }
  .rtm-cards { grid-template-columns: repeat(3, 1fr); }
  .rtm-cards-4 { grid-template-columns: repeat(4, 1fr); }
  .rtm-filters { grid-template-columns: repeat(3, minmax(0, 260px)); }
}

/* ── multi-tab shell ── */
.rtm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.rtm-toolbar { display: flex; gap: 8px; }
.rtm-toolbar select { padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 14px; background: #fff; }
.rtm-tabbar { display: flex; gap: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 10px 0 14px; padding-bottom: 4px; }
.rtm-tab { flex: 0 0 auto; padding: 8px 14px; border: 1px solid #e2e8f0; background: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; color: #475569; cursor: pointer; white-space: nowrap; }
.rtm-tab.active { background: #0f172a; color: #fff; border-color: #0f172a; }
.rtm-subtabbar { display: flex; gap: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: -6px 0 14px; padding: 4px 4px 6px; border-left: 3px solid #cbd5e1; }
.rtm-subtab { flex: 0 0 auto; padding: 6px 12px; border: 1px solid #e2e8f0; background: #f8fafc; border-radius: 8px; font-size: 12.5px; font-weight: 600; color: #64748b; cursor: pointer; white-space: nowrap; }
.rtm-subtab.active { background: #1e293b; color: #fff; border-color: #1e293b; }
.rtm-cards-4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 14px; }
/* Desktop: 3 cột cân (6 ô = 3+3); đặt sau + 2 class để thắng cascade */
@media (min-width: 720px) {
  .rtm-cards.rtm-cards-4 { grid-template-columns: repeat(3, 1fr); }
  .rtm-cards.rtm-cards-4 .rtm-card { padding: 13px 15px 12px; }
  .rtm-cards.rtm-cards-4 .rtm-card-num { font-size: 27px; margin: 6px 0 2px; }
}
.rtm-rolebadge { display: flex; gap: 8px; margin-bottom: 14px; padding: 10px 13px; border-radius: 9px; background: #f8fafc; border: 1px solid #eef2f7; font-size: 12.5px; line-height: 1.5; color: #475569; align-items: center; flex-wrap: wrap; }
.rtm-chip { font-size: 12px; font-weight: 700; color: #334155; background: #eef2f7; border: 1px solid #e2e8f0; border-radius: 999px; padding: 5px 12px; }
.rtm-chip-2 { background: #0f172a; color: #fff; border-color: #0f172a; }
.rtm-sec { font-size: 15px; font-weight: 800; color: #0f172a; margin: 22px 0 10px; padding-left: 11px; border-left: 4px solid #2563eb; line-height: 1.2; }
.rtm-sec-sub { font-size: 11.5px; font-weight: 500; color: #94a3b8; margin-left: 6px; }
.rtm-panel { background: #fff; border: 1px solid #e9edf3; border-radius: 14px; padding: 14px; box-shadow: 0 1px 3px rgba(15,23,42,.05); height: 160px; }

/* region velocity */
.rtm-region-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 12px; }
@media (min-width: 720px) { .rtm-region-grid { grid-template-columns: repeat(3, 1fr); } }
.rtm-region-card { background: #fff; border: 1px solid #e9edf3; border-radius: 14px; padding: 15px 17px; box-shadow: 0 1px 3px rgba(15,23,42,.05); }
.rtm-region-top { display: flex; justify-content: space-between; align-items: center; }
.rtm-region-name { font-size: 13px; font-weight: 800; color: #0f172a; }
.rtm-region-rr { font-size: 23px; font-weight: 800; color: #0f172a; margin: 6px 0 4px; }
.rtm-region-rr small { font-size: 11px; font-weight: 600; color: #94a3b8; margin-left: 4px; }
.rtm-region-spark svg { width: 100%; height: 30px; }
.rtm-region-spark polyline { stroke: #2563eb; stroke-width: 2; }
.rtm-up { font-size: 12px; font-weight: 800; color: #16a34a; }
.rtm-down { font-size: 12px; font-weight: 800; color: #dc2626; }
.rtm-flat { font-size: 11px; font-weight: 700; color: #94a3b8; }

/* in-table revenue bar */
.rtm-rank { font-weight: 800; color: #64748b; text-align: center; width: 28px; }
.rtm-me { background: #eff6ff; }
.rtm-inbar { display: inline-block; vertical-align: middle; width: 90px; height: 7px; background: #eef2f7; border-radius: 4px; overflow: hidden; margin-right: 8px; }
.rtm-inbar-fill { height: 100%; background: linear-gradient(90deg, #60a5fa, #2563eb); border-radius: 4px; }
.rtm-inbar-v { font-size: 13px; font-weight: 600; color: #1e293b; }
.num { text-align: right; }
.rtm-loading, .rtm-empty { padding: 28px; text-align: center; color: #94a3b8; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; }
.rtm-empty-sm { color: #94a3b8; font-size: 12px; padding: 6px; }

/* breakdown */
.rtm-bd-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.rtm-bd { background: #fff; border: 1px solid #e9edf3; border-radius: 14px; padding: 13px 15px; box-shadow: 0 1px 3px rgba(15,23,42,.05); }
.rtm-bd-t { font-size: 12px; font-weight: 800; color: #475569; margin-bottom: 10px; }
.rtm-bd-row { display: grid; grid-template-columns: 84px 1fr auto; align-items: center; gap: 9px; font-size: 12.5px; padding: 5px 0; }
.rtm-bd-k { color: #475569; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rtm-bd-bar { height: 8px; background: #eef2f7; border-radius: 5px; overflow: hidden; }
.rtm-bd-fill { height: 100%; background: linear-gradient(90deg, #818cf8, #6366f1); border-radius: 5px; }
.rtm-bd-v { font-weight: 700; color: #0f172a; white-space: nowrap; }

/* ma trận chỉ số × miền */
.rtm-matrix td:first-child, .rtm-matrix th:first-child { text-align: left; font-weight: 600; color: #334155; }
.rtm-matrix td { font-weight: 700; font-size: 14px; }
.rtm-matrix .rtm-mx-tot { background: #f1f5f9; color: #0f172a; }
.rtm-matrix th.num { font-weight: 800; color: #0f172a; }
.rtm-mx-sub { display: block; font-size: 11px; font-weight: 500; color: #94a3b8; margin-top: 1px; }
@media (min-width: 720px) { .rtm-bd-grid { grid-template-columns: repeat(3, 1fr); } }

/* buttons */
.rtm-btn { padding: 10px 16px; border: none; border-radius: 9px; background: #2563eb; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
.rtm-btn-2 { background: #0891b2; }
.rtm-pjp-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.rtm-mini-btn { border: 1px solid #2563eb; background: #eff6ff; color: #1d4ed8; border-radius: 7px; padding: 5px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.rtm-mini-btn.rtm-done { background: #16a34a; color: #fff; border-color: #16a34a; }
.rtm-rm { border: none; background: none; color: #b91c1c; cursor: pointer; font-weight: 700; }

/* beats */
.rtm-beats { display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 720px) { .rtm-beats { grid-template-columns: repeat(2, 1fr); } }
.rtm-beat-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rtm-beat-meta { display: block; font-size: 12px; color: #94a3b8; }

/* modal */
.rtm-modal-ov { position: fixed; inset: 0; background: rgba(15,23,42,.55); display: flex; align-items: flex-end; justify-content: center; z-index: 9999; }
.rtm-modal { background: #fff; width: 100%; max-width: 760px; max-height: 92vh; overflow-y: auto; border-radius: 16px 16px 0 0; }
@media (min-width: 720px) { .rtm-modal-ov { align-items: center; } .rtm-modal { border-radius: 16px; } }
.rtm-modal-h { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid #e5e7eb; position: sticky; top: 0; background: #fff; }
.rtm-modal-h .rtm-x { border: none; background: none; font-size: 18px; cursor: pointer; color: #64748b; }
.rtm-modal-b { padding: 14px 16px; }
.rtm-modal-act { margin-top: 14px; }
.rtm-fl { display: block; font-size: 13px; font-weight: 600; color: #475569; margin-bottom: 12px; }
.rtm-fl select, .rtm-fl input { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 15px; }
.rtm-search { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; margin-bottom: 8px; }

/* assign grid */
.rtm-assign-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 720px) { .rtm-assign-grid { grid-template-columns: 1fr 1fr; } }
.rtm-col-t { font-size: 12px; font-weight: 700; color: #64748b; margin-bottom: 6px; }
.rtm-assigned, .rtm-pool { max-height: 46vh; overflow-y: auto; border: 1px solid #eef2f7; border-radius: 8px; }
.rtm-arow { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-bottom: 1px solid #f1f5f9; cursor: grab; }
.rtm-aseq { background: #0f172a; color: #fff; border-radius: 50%; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; flex: 0 0 auto; }
.rtm-aname { flex: 1; font-size: 13px; }
.rtm-actrl button { border: 1px solid #e2e8f0; background: #fff; border-radius: 5px; cursor: pointer; font-size: 11px; padding: 2px 5px; }
.rtm-prow { display: flex; justify-content: space-between; align-items: center; padding: 7px 9px; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
.rtm-prow button { border: 1px solid #2563eb; background: #eff6ff; color: #1d4ed8; border-radius: 6px; width: 26px; height: 26px; cursor: pointer; font-weight: 700; }

/* perfect store form */
.rtm-stock, #ps-comp { border: 1px solid #eef2f7; border-radius: 8px; padding: 6px; margin-top: 4px; max-height: 30vh; overflow-y: auto; }
.rtm-stockrow { display: flex; justify-content: space-between; align-items: center; padding: 6px 8px; gap: 8px; }
.rtm-stockrow input { width: 80px; padding: 5px; border: 1px solid #cbd5e1; border-radius: 6px; }
.rtm-comprow { display: grid; grid-template-columns: 1fr 80px 1fr 28px; gap: 6px; margin-bottom: 6px; }
.rtm-comprow input { padding: 6px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 13px; }
.rtm-scorebox { background: #f1f5f9; border-radius: 8px; padding: 10px 12px; font-weight: 700; color: #0f172a; font-size: 13px; }
.rtm-spark svg { vertical-align: middle; }

/* config msl */
.rtm-msl-seg { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 12px 14px; margin-bottom: 9px; }
.rtm-msl-h { font-weight: 700; font-size: 13px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.rtm-msl-row { display: flex; align-items: center; gap: 8px; padding: 6px 1px; border-top: 1px solid #f1f5f9; font-size: 13px; }
.rtm-msl-row span:first-child { flex: 1; }
.rtm-cin { padding: 5px 8px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 13px; }
.rtm-toolbar2 { display: flex; gap: 8px; align-items: flex-end; margin-bottom: 10px; flex-wrap: wrap; }
.rtm-tin { width: 130px; padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 6px; text-align: right; font-size: 13px; }
.rtm-table tfoot td { border-top: 2px solid #e2e8f0; padding: 8px 12px; }

/* Gán sales cho outlet (Config) */
.rtm-asg-grp{border:1px solid var(--rtm-bd,#e3e8ef);border-radius:10px;margin:8px 0;overflow:hidden}
.rtm-asg-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;background:#f6f8fb;font-size:13px;border-bottom:1px solid #eef2f7}
.rtm-asg-grp .rtm-table-wrap{margin:0}

/* Region velocity card: clickable + daily bars */
.rtm-region-click{cursor:pointer;transition:box-shadow .15s,transform .15s}
.rtm-region-click:hover{box-shadow:0 4px 16px rgba(37,99,235,.18);transform:translateY(-2px)}
.rtm-region-more{margin-top:6px;font-size:11px;font-weight:600;color:#0369a1;opacity:.85}
.rtm-daybars{display:flex;align-items:flex-end;gap:2px;height:120px;padding:10px 0 2px}
.rtm-daybar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:7px}
.rtm-daybar-track{flex:1;width:100%;display:flex;align-items:flex-end}
.rtm-daybar-f{width:100%;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:2px 2px 0 0;min-height:2px}
.rtm-daybar:hover .rtm-daybar-f{background:#1d4ed8}
.rtm-daybar-lb{font-size:9px;color:#94a3b8;margin-top:3px;line-height:1}
.rtm-daybar-pk .rtm-daybar-f{background:linear-gradient(180deg,#fbbf24,#f59e0b)}
.rtm-daybar-pk .rtm-daybar-lb{color:#d97706;font-weight:700}

.rtm-sku-nm{color:#64748b;font-weight:400;font-size:11px}

.rtm-velo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.rtm-velo-cell{border:1px solid #e3e8ef;border-radius:10px;padding:8px 10px;background:#fff}
.rtm-velo-h{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin-bottom:2px}
.rtm-velo-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.rtm-velo-cv{height:150px;position:relative;margin-top:4px}
@media(max-width:760px){.rtm-velo-grid{grid-template-columns:1fr}}

/* Việc 1 · nudge quán chưa phân khúc */
.rtm-nudge { background: #fff; border: 1px solid #fde68a; border-radius: 14px; padding: 15px 17px; box-shadow: 0 1px 3px rgba(15,23,42,.05); margin-bottom: 16px; }
.rtm-nudge-hd { display: flex; align-items: center; gap: 15px; margin-bottom: 11px; }
.rtm-nudge-num { font-size: 32px; font-weight: 800; color: #b45309; line-height: 1; flex-shrink: 0; }
.rtm-nudge-sub { font-size: 12.5px; color: #64748b; line-height: 1.5; }
.rtm-nudge-list { max-height: 260px; overflow-y: auto; border-top: 1px dashed #eef2f7; }
.rtm-nudge-rg { position: sticky; top: 0; background: #f8fafc; font-size: 11px; font-weight: 800; color: #475569; text-transform: uppercase; letter-spacing: .03em; padding: 6px 5px; border-bottom: 1px solid #eef2f7; z-index: 1; }
.rtm-nudge-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 5px; border-bottom: 1px solid #f5f7fa; font-size: 13px; }
.rtm-nudge-row span { color: #1e293b; font-weight: 600; }
.rtm-nudge-row small { color: #94a3b8; white-space: nowrap; }

/* Việc 3 · DRP bảng rộng — sticky cột SKU + ẩn/hiện cột phụ */
.rtm-drp .rtm-sticky-c { position: sticky; left: 0; background: #fff; z-index: 1; box-shadow: 1px 0 0 #eef2f7; }
.rtm-drp thead .rtm-sticky-c { background: #f1f5f9; }
.rtm-drp.compact .col-aux { display: none; }

/* RTM design-system (UI bảng phân tích) — modifier màu (KHÔNG định nghĩa lại .rtm-chip base) */
.rtm-chip-bad { background:#fee2e2; color:#b91c1c; border-color:#fecaca; }
.rtm-chip-warn { background:#fef3c7; color:#b45309; border-color:#fde68a; }
.rtm-chip-good { background:#ccfbf1; color:#0f766e; border-color:#99f6e4; }
.rtm-chip-mut { background:#f1f5f9; color:#64748b; border-color:#e2e8f0; }
.rtm-gh { display:flex; justify-content:space-between; align-items:center; margin:18px 0 0; padding:10px 14px; background:#0f172a; color:#fff; font-size:13px; font-weight:800; border-radius:10px 10px 0 0; }
.rtm-gh small { font-weight:600; opacity:.82; font-size:11px; }
.rtm-gh + .rtm-table-wrap { margin-top:0; border-radius:0 0 10px 10px; }
.rtm-bar2 { display:flex; flex-direction:column; gap:3px; min-width:120px; }
.rtm-bar2-row { display:flex; align-items:center; gap:6px; }
.rtm-bar2-lb { font-size:9.5px; font-weight:800; color:#94a3b8; width:16px; }
.rtm-bar2-tr { flex:1; height:9px; background:#f1f5f9; border-radius:5px; overflow:hidden; }
.rtm-bar2-fill { height:100%; border-radius:5px; }
.rtm-bar2-fill.bf { background:#6366f1; }
.rtm-bar2-fill.br { background:#0d9488; }
.rtm-barp { position:relative; height:18px; background:#f1f5f9; border-radius:5px; overflow:hidden; min-width:84px; display:inline-block; vertical-align:middle; width:84px; }
.rtm-barp-fill { height:100%; border-radius:5px; }
.rtm-barp-tx { position:absolute; left:7px; top:0; line-height:18px; font-size:11px; font-weight:700; color:#0f172a; }
.rtm-leg { display:flex; gap:14px; flex-wrap:wrap; font-size:11px; color:#64748b; margin:9px 2px 2px; }
.rtm-leg span::before { content:''; display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:5px; vertical-align:middle; }
.rtm-leg .lg-fc::before { background:#6366f1; }
.rtm-leg .lg-rr::before { background:#0d9488; }
.rtm-leg .lg-bad::before { background:#dc2626; }
.rtm-leg .lg-warn::before { background:#d97706; }
.rtm-leg .lg-good::before { background:#0d9488; }

/* Trang chủ (Phase 1) */
.rtm-home-hd { margin: 4px 0 8px; }
.rtm-home-h1 { font-size: 22px; font-weight: 800; color: #0f172a; }
.rtm-home-sub { font-size: 13px; color: #64748b; margin-top: 2px; }
.rtm-todo { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #e9edf3; border-radius:12px; padding:14px 16px; margin-bottom:10px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.rtm-todo.urgent { border-color:#fecaca; border-left:4px solid #dc2626; background:#fffafb; }
.rtm-todo-ic { font-size:24px; flex-shrink:0; width:32px; text-align:center; }
.rtm-todo-bd { flex:1; min-width:0; }
.rtm-todo-t { font-size:14px; font-weight:700; color:#0f172a; }
.rtm-todo-c { font-size:12.5px; color:#64748b; margin-top:2px; line-height:1.4; }
.rtm-todo .rtm-btn { flex-shrink:0; }
.rtm-btn-pri { background:#dc2626; border-color:#dc2626; color:#fff; }
.rtm-home-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }

/* Phase 2 · luồng 4 bước điều hàng */
.rtm-steps { display:flex; margin:6px 0 16px; }
.rtm-step { flex:1; display:flex; align-items:center; gap:8px; padding:11px 13px; background:#f8fafc; border:1px solid #e9edf3; border-right:0; cursor:pointer; font-size:12.5px; font-weight:600; color:#64748b; }
.rtm-step:last-child { border-right:1px solid #e9edf3; border-radius:0 10px 10px 0; }
.rtm-step:first-child { border-radius:10px 0 0 10px; }
.rtm-step.active { background:#0f172a; color:#fff; border-color:#0f172a; }
.rtm-step.done { color:#0f766e; background:#f0fdfa; }
.rtm-step-n { width:22px; height:22px; border-radius:50%; background:#e2e8f0; color:#475569; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:11.5px; flex-shrink:0; }
.rtm-step.active .rtm-step-n { background:#fff; color:#0f172a; }
.rtm-step.done .rtm-step-n { background:#0d9488; color:#fff; }
.rtm-stepnav { display:flex; justify-content:space-between; align-items:center; margin-top:18px; }
.rtm-ctx { font-size:11px; color:#94a3b8; white-space:nowrap; }
.rtm-tin2 { width:72px; padding:6px 8px; border:1px solid #cbd5e1; border-radius:7px; text-align:right; font-weight:700; font-size:13px; }
.rtm-tin2:focus { border-color:#2563eb; outline:none; }

/* Đợt 1 · scorecard card-row */
.rtm-rep { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #e9edf3; border-radius:12px; padding:12px 16px; margin-bottom:9px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.rtm-rep-av { width:38px; height:38px; border-radius:50%; background:#e0e7ff; color:#4338ca; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; flex-shrink:0; }
.rtm-rep-bd { flex:1; min-width:0; }
.rtm-rep-nm { font-weight:700; font-size:14px; color:#0f172a; }
.rtm-rep-mt { font-size:12px; color:#64748b; margin-top:1px; }
.rtm-rep-chips { display:flex; gap:16px; flex-wrap:wrap; flex-shrink:0; }
.rtm-rep-chips > span { font-size:10px; color:#94a3b8; font-weight:700; text-align:center; text-transform:uppercase; letter-spacing:.02em; }
.rtm-rep-chips > span > span { display:block; margin-top:4px; text-transform:none; letter-spacing:0; }

/* Đợt 2 · P&L polish + NPP cards */
.rtm-pnl td.num { font-variant-numeric: tabular-nums; }
.rtm-pnl tbody td:first-child { color:#475569; }
.rtm-pnl tbody tr[style*="background"] td { font-weight:700; color:#0f172a; }
.rtm-npp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; margin-bottom:8px; }
.rtm-npp-card { background:#fff; border:1px solid #e9edf3; border-radius:12px; padding:14px 16px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.rtm-npp-h { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.rtm-npp-h strong { font-size:14px; color:#0f172a; }
.rtm-npp-meta { font-size:12px; color:#64748b; margin:4px 0 10px; }
.rtm-npp-debt { display:block; font-size:11px; color:#94a3b8; font-weight:700; }
.rtm-npp-debt input { display:block; width:100%; margin-top:4px; padding:7px 9px; border:1px solid #cbd5e1; border-radius:7px; box-sizing:border-box; }
.rtm-empty-cta { text-align:center; padding:38px 20px; border:2px dashed #cbd5e1; border-radius:14px; background:#f8fafc; margin-bottom:8px; }
.rtm-empty-cta-ic { font-size:42px; line-height:1; }
.rtm-empty-cta-t { font-size:16px; font-weight:800; color:#0f172a; margin-top:10px; }
.rtm-empty-cta-c { font-size:13px; color:#64748b; margin:6px 0 16px; }

/* Đợt 3 · Cảnh báo pill + feed card */
.rtm-pills { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 14px; align-items:center; }
.rtm-pill { padding:7px 13px; border-radius:999px; border:1px solid #e2e8f0; background:#fff; font-size:12.5px; font-weight:700; color:#475569; cursor:pointer; }
.rtm-pill.active { background:#0f172a; color:#fff; border-color:#0f172a; }
.rtm-pill .n { opacity:.65; margin-left:5px; }
.rtm-pill-track { margin-left:auto; font-size:12px; color:#64748b; }
.rtm-alert { display:flex; align-items:center; gap:13px; background:#fff; border:1px solid #e9edf3; border-radius:12px; padding:13px 16px; margin-bottom:9px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.rtm-alert.sev-bad { border-left:4px solid #dc2626; }
.rtm-alert.sev-warn { border-left:4px solid #d97706; }
.rtm-alert.sev-info { border-left:4px solid #2563eb; }
.rtm-alert-ic { font-size:20px; flex-shrink:0; width:26px; text-align:center; }
.rtm-alert-bd { flex:1; min-width:0; }
.rtm-alert-t { font-weight:700; font-size:13.5px; color:#0f172a; }
.rtm-alert-c { font-size:12px; color:#64748b; margin-top:1px; }
.rtm-alert .rtm-btn, .rtm-alert .rtm-mini-btn { flex-shrink:0; }

/* Đợt 4 · Cấu hình dạng card nhóm */
.rtm-cfg { background:#fff; border:1px solid #e9edf3; border-radius:12px; margin-bottom:10px; box-shadow:0 1px 3px rgba(15,23,42,.04); overflow:hidden; }
.rtm-cfg > summary { cursor:pointer; padding:14px 16px; font-size:14px; font-weight:800; color:#0f172a; list-style:none; display:flex; align-items:center; gap:8px; }
.rtm-cfg > summary::-webkit-details-marker { display:none; }
.rtm-cfg > summary::after { content:'⌄'; margin-left:auto; color:#94a3b8; font-size:15px; }
.rtm-cfg[open] > summary { border-bottom:1px solid #f1f5f9; }
.rtm-cfg[open] > summary::after { content:'⌃'; }
.rtm-cfg > summary .rtm-sec-sub { font-weight:500; }
.rtm-cfg-bd { padding:14px 16px; }
.rtm-cfg-bd > .rtm-sec-sub:first-child { margin-top:0; }

/* Tab Tổng quan (Overview) */
.rtm-ovgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-bottom:14px; }
.rtm-ovgrid .rtm-card { margin:0; height:100%; }
.rtm-ovkpi { cursor:pointer; }
.rtm-ovrow { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
@media (max-width:920px){ .rtm-ovrow { grid-template-columns:1fr; } }
.rtm-ovcol { min-width:0; }
.rtm-rowlink { cursor:pointer; }
.rtm-rowlink:hover td { background:#f1f5f9; }

/* Overview command center · filter bar + drawer */
.rtm-filterbar { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; background:#fff; border:1px solid #e9edf3; border-radius:12px; padding:10px 14px; margin-bottom:14px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.rtm-fb-ti { font-weight:800; font-size:12px; color:#475569; align-self:center; }
.rtm-filterbar .rtm-f { gap:3px; }
.rtm-filterbar .rtm-f span { font-size:10px; color:#94a3b8; }
.rtm-filterbar select { padding:5px 8px; border:1px solid #e2e8f0; border-radius:7px; font-size:12px; }
.rtm-fb-note { margin-left:auto; font-size:11px; color:#94a3b8; align-self:center; }
.rtm-drawer-ov { justify-content:flex-end; align-items:stretch; }
.rtm-drawer { background:#fff; width:min(440px,94vw); height:100%; max-height:100%; overflow-y:auto; box-shadow:-4px 0 24px rgba(15,23,42,.18); animation:rtmSlide .18s ease; }
@keyframes rtmSlide { from{transform:translateX(30px);opacity:.6} to{transform:translateX(0);opacity:1} }
.rtm-kv-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid #f1f5f9; font-size:13px; }
.rtm-kv-row span { color:#64748b; }
.rtm-kv-row b { color:#0f172a; font-weight:700; text-align:right; }
.rtm-drawer-acts { display:flex; flex-direction:column; gap:8px; }
.rtm-dq-acts { display:flex; gap:8px; flex-shrink:0; flex-wrap:wrap; justify-content:flex-end; }

/* ════════════════════════════════════════════════════════════════
   MagnoliaX Design System v2 "Monday" — theme override RTM OS (light-first).
   Prefix #workspace-rtm-os (specificity cao → thắng style cũ, KHÔNG sửa dòng trên).
   Redesign thuần CSS: dark/đen → light/primary; radius→8; font Public Sans.
   ════════════════════════════════════════════════════════════════ */
#workspace-rtm-os {
  --primary:#0073EA; --primary-hover:#0060B9; --primary-soft:#CCE5FF; --focus-ring:rgba(0,115,234,.30);
  --done:#00C875; --done-bg:#E5F9F0; --working:#FDAB3D; --working-bg:#FFF4E5;
  --stuck:#E2445C; --stuck-bg:#FCE8EB; --info:#579BFC; --info-bg:#E9F2FF; --dark:#333;
  --surface:#fff; --surface-2:#F5F6F8; --app-bg:#F6F7FB;
  --text:#323338; --text-muted:#676879; --text-soft:#9699A6;
  --border:#E6E9EF; --border-2:#D0D4E4; --radius:8px; --radius-sm:4px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05); --shadow-md:0 4px 12px rgba(0,0,0,.08);
  --accent:var(--primary); --cobalt:#2563EB;
  background:var(--app-bg) !important;
  font-family:'Public Sans','Be Vietnam Pro','Figtree',system-ui,-apple-system,sans-serif;
}
#workspace-rtm-os .rtm-wrap { color:var(--text); }
#workspace-rtm-os .num, #workspace-rtm-os .rtm-card-num, #workspace-rtm-os .rtm-mdl-big,
#workspace-rtm-os .rtm-region-rr, #workspace-rtm-os .rtm-nudge-num { font-variant-numeric:tabular-nums; }

/* Header: bỏ gradient tối → bar trắng sạch */
#workspace-rtm-os .rtm-head { background:var(--surface); color:var(--text); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow-sm); margin:0 0 16px; padding:14px 18px; }
#workspace-rtm-os .rtm-title, #workspace-rtm-os .rtm-home-h1, #workspace-rtm-os .rtm-mdl-big,
#workspace-rtm-os .rtm-region-name, #workspace-rtm-os .rtm-sec, #workspace-rtm-os .rtm-rep-nm,
#workspace-rtm-os .rtm-home-h1, #workspace-rtm-os .rtm-scorebox { color:var(--text); }
#workspace-rtm-os .rtm-toolbar select { border:1px solid var(--border-2); border-radius:var(--radius-sm); color:var(--text); }

/* Cards: radius 8 + accent xanh + shadow nhẹ */
#workspace-rtm-os .rtm-card, #workspace-rtm-os .rtm-panel, #workspace-rtm-os .rtm-region-card,
#workspace-rtm-os .rtm-bd, #workspace-rtm-os .rtm-npp-card, #workspace-rtm-os .rtm-todo,
#workspace-rtm-os .rtm-rep, #workspace-rtm-os .rtm-alert, #workspace-rtm-os .rtm-cfg,
#workspace-rtm-os .rtm-nudge, #workspace-rtm-os .rtm-filterbar, #workspace-rtm-os .rtm-legend,
#workspace-rtm-os .rtm-beat-card, #workspace-rtm-os .rtm-velo-cell {
  border-radius:var(--radius); border-color:var(--border); box-shadow:var(--shadow-sm); }
#workspace-rtm-os .rtm-card::before { background:var(--primary); opacity:1; }
#workspace-rtm-os .rtm-card:hover { box-shadow:var(--shadow-md); }

/* Group header đen #0f172a → tint primary + accent trái (rule 11) */
#workspace-rtm-os .rtm-grp-h, #workspace-rtm-os .rtm-gh {
  background:var(--primary-soft); color:#0a4fa0; box-shadow:inset 3px 0 0 var(--primary); }
#workspace-rtm-os .rtm-grp-h span, #workspace-rtm-os .rtm-gh small { color:#1c5fb8; opacity:1; }
#workspace-rtm-os .rtm-grp, #workspace-rtm-os .rtm-table { border-radius:var(--radius); border-color:var(--border); }
#workspace-rtm-os .rtm-grp-s { background:var(--surface-2); color:var(--text); border-top-color:var(--border); }

/* Table → board (header trắng muted, hover sáng dòng) */
#workspace-rtm-os .rtm-table thead th { background:var(--surface); color:var(--text-muted);
  border-bottom:1px solid var(--border); font-weight:600; }
#workspace-rtm-os .rtm-drp thead .rtm-sticky-c { background:var(--surface); }
#workspace-rtm-os .rtm-table td { border-top:1px solid var(--border); color:var(--text); }
#workspace-rtm-os .rtm-table tbody tr:hover, #workspace-rtm-os .rtm-rowlink:hover td { background:var(--surface-2); }
#workspace-rtm-os .rtm-matrix .rtm-mx-tot, #workspace-rtm-os .rtm-me { background:var(--info-bg); }

/* Tabs / subtabs / pills / steps / chips active đen → primary */
#workspace-rtm-os .rtm-tab.active, #workspace-rtm-os .rtm-subtab.active,
#workspace-rtm-os .rtm-pill.active, #workspace-rtm-os .rtm-chip-2,
#workspace-rtm-os .rtm-step.active { background:var(--primary); border-color:var(--primary); color:#fff; }
#workspace-rtm-os .rtm-step.active .rtm-step-n { background:#fff; color:var(--primary); }
#workspace-rtm-os .rtm-step.done { background:var(--done-bg); color:#0a7a4a; }
#workspace-rtm-os .rtm-step.done .rtm-step-n { background:var(--done); }
#workspace-rtm-os .rtm-aseq { background:var(--primary); }
#workspace-rtm-os .rtm-rep-av { background:var(--primary-soft); color:var(--primary); }

/* Buttons: #2563eb → primary #0073EA + radius 8 */
#workspace-rtm-os .rtm-btn, #workspace-rtm-os .rtm-action-btn {
  background:var(--primary); border:1px solid var(--primary); border-radius:var(--radius); }
#workspace-rtm-os .rtm-btn:hover, #workspace-rtm-os .rtm-action-btn:hover { background:var(--primary-hover); }
#workspace-rtm-os .rtm-mini-btn, #workspace-rtm-os .rtm-prow button {
  color:var(--primary); border-color:var(--primary); background:var(--primary-soft); }
#workspace-rtm-os .rtm-action-btn.rtm-done, #workspace-rtm-os .rtm-mini-btn.rtm-done {
  background:var(--done); border-color:var(--done); color:#fff; }
#workspace-rtm-os .rtm-btn-2 { background:var(--info); border-color:var(--info); }
#workspace-rtm-os .rtm-btn-pri { background:var(--stuck); border-color:var(--stuck); }

/* Section heading + legend + accent xanh */
#workspace-rtm-os .rtm-sec { border-left-color:var(--primary); }
#workspace-rtm-os .rtm-legend summary { color:var(--primary); }
#workspace-rtm-os .rtm-region-more { color:var(--primary); }

/* Bars chart: indigo #6366f1 → cobalt (palette Codename) */
#workspace-rtm-os .rtm-inbar-fill, #workspace-rtm-os .rtm-bd-fill { background:linear-gradient(90deg,#60a5fa,var(--cobalt)); }
#workspace-rtm-os .rtm-bar2-fill.bf { background:var(--cobalt); }
#workspace-rtm-os .rtm-daybar-f { background:linear-gradient(180deg,#60a5fa,var(--cobalt)); }
#workspace-rtm-os .rtm-region-spark polyline { stroke:var(--cobalt); }

/* Badge mandatory/rec → status soft */
#workspace-rtm-os .rtm-mand { background:var(--stuck-bg); color:#c32e43; }
#workspace-rtm-os .rtm-rec { background:var(--info-bg); color:#1c5fb8; }
#workspace-rtm-os .rtm-badge, #workspace-rtm-os .rtm-chip { border-radius:var(--radius-pill,99px); }

/* Modal: radius 8 + top accent primary (rule 14) */
#workspace-rtm-os .rtm-modal { border-radius:var(--radius); border-top:3px solid var(--primary); }
@media (min-width:720px){ #workspace-rtm-os .rtm-modal { border-radius:var(--radius); } }
#workspace-rtm-os .rtm-fl select:focus, #workspace-rtm-os .rtm-fl input:focus,
#workspace-rtm-os .rtm-f select:focus { border-color:var(--primary); outline:none; box-shadow:0 0 0 3px var(--focus-ring); }

/* DS icon line (Phase 2) */
#workspace-rtm-os .ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
#workspace-rtm-os .ic.s14{width:14px;height:14px}#workspace-rtm-os .ic.s18{width:18px;height:18px}#workspace-rtm-os .ic.s20{width:20px;height:20px}

/* ════ Final polish RTM Overview: clearance khỏi sidebar + readability + Data Error tint ════ */
#workspace-rtm-os .rtm-wrap { padding-left: 26px; }
@media (min-width: 720px) { #workspace-rtm-os .rtm-wrap { padding-left: 46px; } }
#workspace-rtm-os .rtm-sec { font-size: 16px; }
#workspace-rtm-os .rtm-card-num { font-size: 30px; }
#workspace-rtm-os .rtm-table td { padding: 12px 12px; font-size: 13.5px; }
#workspace-rtm-os .rtm-table thead th { font-size: 11.5px; padding: 10px 12px; }
#workspace-rtm-os .rtm-nudge-row { padding: 9px 5px; }
/* Item 7: dòng tồn âm (Data Error) nền tím rất nhạt */
#workspace-rtm-os .rtm-row-de td { background: #f5f3ff; }


/* ── Tab 02 Territory & Distribution ── */
#workspace-rtm-os .rtm-page-h { display:flex; justify-content:space-between; align-items:flex-start; margin:4px 0 12px; }
#workspace-rtm-os .rtm-page-t { font-size:18px; font-weight:700; display:flex; align-items:center; gap:8px; }
#workspace-rtm-os .rtm-page-t .ic { width:20px; height:20px; }
#workspace-rtm-os .rtm-page-sub { font-size:13px; color:#64748b; margin-top:2px; }
#workspace-rtm-os .rtm-filterchip { font-size:13px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:8px; padding:6px 10px; margin:0 0 10px; display:flex; align-items:center; gap:8px; }
#workspace-rtm-os .rtm-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:4px; }
@media (max-width:1100px){ #workspace-rtm-os .rtm-grid2 { grid-template-columns:1fr; } }
#workspace-rtm-os .rtm-ag-grp { border:1px solid #eef2f7; border-radius:8px; overflow:hidden; margin-bottom:10px; }
#workspace-rtm-os .rtm-dq-row { display:flex; align-items:center; gap:10px; padding:8px 12px; border-top:1px solid #f1f5f9; }
#workspace-rtm-os .rtm-dq-main { flex:1; min-width:0; }
#workspace-rtm-os .rtm-dq-t { font-size:13px; font-weight:600; }
#workspace-rtm-os .rtm-dq-d { font-size:12px; color:#64748b; margin-top:2px; }


/* ── Tab 03 NPP & Supply: shipment optimizer ── */
#workspace-rtm-os .rtm-opt { border:1px solid #eef2f7; border-radius:8px; padding:10px 12px; background:#fff; }
#workspace-rtm-os .rtm-opt-best { border-color:#bbf7d0; background:#f0fdf4; }
#workspace-rtm-os .rtm-opt-h { font-weight:700; font-size:13px; margin-bottom:6px; display:flex; align-items:center; gap:6px; }


/* ── Tab 03 NPP & Supply: rich empty state ── */
#workspace-rtm-os .rtm-empty-rich { padding:16px; text-align:left; }
#workspace-rtm-os .rtm-empty-t { font-weight:700; font-size:13px; margin-bottom:8px; }
#workspace-rtm-os .rtm-empty-ck { margin:0 0 10px; padding-left:18px; color:#64748b; font-size:12px; }
#workspace-rtm-os .rtm-empty-ck li { margin:2px 0; }
#workspace-rtm-os .rtm-empty-btns { display:flex; gap:8px; flex-wrap:wrap; }


/* ── Tab 04 Sales Team Model: capacity config ── */
#workspace-rtm-os .rtm-cfg-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin:12px 0; }
#workspace-rtm-os .rtm-cfg-grid label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#475569; }
#workspace-rtm-os .rtm-cfg-grid input { padding:6px 8px; border:1px solid #d7dbe3; border-radius:6px; font-size:14px; }
@media (max-width:700px){ #workspace-rtm-os .rtm-cfg-grid { grid-template-columns:1fr; } }


/* ── Tab 05 Review & Action ── */
#workspace-rtm-os .rtm-focus-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#workspace-rtm-os .rtm-focus-cell { border:1px solid #eef2f7; border-radius:8px; padding:10px 12px; background:#fff; }
#workspace-rtm-os .rtm-focus-n { font-size:22px; font-weight:800; }
#workspace-rtm-os .rtm-focus-l { font-size:12px; color:#64748b; }
#workspace-rtm-os .rtm-modeswitch { display:flex; gap:6px; margin:12px 0; flex-wrap:wrap; }
#workspace-rtm-os .rtm-mode { padding:6px 14px; border:1px solid #d7dbe3; border-radius:99px; background:#fff; font-size:13px; cursor:pointer; }
#workspace-rtm-os .rtm-mode.active { background:#0073EA; color:#fff; border-color:#0073EA; }
#workspace-rtm-os .rtm-board-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
@media (max-width:1000px){ #workspace-rtm-os .rtm-board-grid { grid-template-columns:1fr 1fr; } }
#workspace-rtm-os .rtm-board-col { background:#f6f7fb; border-radius:8px; padding:8px; }
#workspace-rtm-os .rtm-board-h { font-weight:700; font-size:12px; text-transform:uppercase; color:#64748b; margin-bottom:8px; display:flex; justify-content:space-between; }
#workspace-rtm-os .rtm-board-card { background:#fff; border:1px solid #eef2f7; border-radius:6px; padding:8px; margin-bottom:6px; cursor:pointer; }
#workspace-rtm-os .rtm-board-t { font-size:12px; font-weight:600; margin-bottom:4px; }
#workspace-rtm-os .rtm-board-m { font-size:11px; color:#64748b; }


/* ── Tab 05 focus cell extra ── */
#workspace-rtm-os .rtm-focus-top { font-size:11px; color:#94a3b8; margin-top:2px; }
#workspace-rtm-os .rtm-focus-btn { font-size:12px; color:#0073EA; font-weight:600; margin-top:4px; }


/* ── Planning flow stepper ── */
#workspace-rtm-os .rtm-stepper { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:8px 10px; margin-top:6px; background:#f0f7ff; border:1px solid #cfe3ff; border-radius:8px; font-size:12px; }
#workspace-rtm-os .rtm-step-flow { font-weight:700; color:#475569; }
#workspace-rtm-os .rtm-step { padding:3px 10px; border-radius:99px; background:#fff; border:1px solid #d7dbe3; color:#475569; cursor:pointer; }
#workspace-rtm-os .rtm-step.active { background:#0073EA; color:#fff; border-color:#0073EA; font-weight:700; }
#workspace-rtm-os .rtm-step.done { background:#e6f7ee; border-color:#bbf7d0; color:#0e7a3e; }
#workspace-rtm-os .rtm-step-arr { color:#94a3b8; }
#workspace-rtm-os .rtm-step-next { margin-left:auto; }


/* ── Điều hàng refactor: scenario + footer + chip info ── */
#workspace-rtm-os .rtm-chip-info { background:#e0e7ff; color:#4338ca; }
#workspace-rtm-os .rtm-scnbar { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:8px 0; padding:8px 10px; background:#f6f7fb; border-radius:8px; }
#workspace-rtm-os .rtm-scn { padding:5px 12px; border:1px solid #d7dbe3; border-radius:99px; background:#fff; font-size:12px; cursor:pointer; }
#workspace-rtm-os .rtm-scn.active { background:#0073EA; color:#fff; border-color:#0073EA; font-weight:700; }
#workspace-rtm-os .rtm-drp-foot td { background:#f1f5f9; font-weight:700; border-top:2px solid #cbd5e1; }


/* ── Dự báo cầu refactor: row highlight ── */
#workspace-rtm-os tr.fc-ov td { background:#f5f3ff; }
#workspace-rtm-os tr.fc-risk .rtm-sticky-c { box-shadow: inset 3px 0 0 #fdab3d; }


/* ── Dự báo cầu polish: sticky thead ── */
#workspace-rtm-os .fc-tbl thead th { position:sticky; top:0; z-index:2; background:#fff; }
#workspace-rtm-os .fc-tbl thead th.rtm-sticky-c { z-index:3; }

/* ── Cảnh báo — Alert Center (Priority board) ── */
#workspace-rtm-os .rtm-albo{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:start;margin-bottom:8px}
#workspace-rtm-os .rtm-albo-col{background:#f8fafc;border:1px solid #e6eaf4;border-radius:8px;padding:8px}
#workspace-rtm-os .rtm-albo-h{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:2px 4px 8px;border-bottom:1px solid #e6eaf4;margin-bottom:8px}
#workspace-rtm-os .rtm-albo-h.bad{color:#dc2626}
#workspace-rtm-os .rtm-albo-h.warn{color:#d97706}
#workspace-rtm-os .rtm-albo-h.mut{color:#64748b}
#workspace-rtm-os .rtm-albo-h span{background:#fff;border:1px solid #e6eaf4;border-radius:99px;padding:0 8px;font-size:12px;color:#334155}
#workspace-rtm-os .rtm-albo-card{background:#fff;border:1px solid #e6eaf4;border-radius:6px;padding:8px;margin-bottom:8px;cursor:pointer;transition:box-shadow .12s}
#workspace-rtm-os .rtm-albo-card:hover{box-shadow:0 2px 8px rgba(15,23,42,.08)}
#workspace-rtm-os .rtm-albo-t{font-weight:700;font-size:13px;margin-bottom:2px}
#workspace-rtm-os .rtm-albo-m{font-size:11px;color:#64748b}
#workspace-rtm-os .rtm-albo-im{font-size:12px;color:#334155;margin:4px 0}
#workspace-rtm-os .rtm-albo-sa{font-size:12px;color:#0073EA;margin-bottom:6px}
#workspace-rtm-os .rtm-albo-ft{display:flex;justify-content:space-between;align-items:center;gap:6px}

/* Phase 1G — Dự báo cầu pagination */
#workspace-rtm-os .fc-tbl thead th { position: sticky; top: 0; z-index: 3; }
#workspace-rtm-os .fc-tbl thead th.rtm-sticky-c { z-index: 4; }
#workspace-rtm-os tr.fc-greg td { background: #f1f5f9; border-top: 2px solid #e2e8f0; padding: 6px 10px; }
#workspace-rtm-os tr.fc-greg .fc-greg-t { font-weight: 700; color: #0f172a; }
#workspace-rtm-os .rtm-fc-pgbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 8px 0; }
#workspace-rtm-os .rtm-fc-pgnav { display: flex; align-items: center; gap: 8px; margin-left: auto; }
