/* 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:152px; }
.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; }

/* Logistics 2 luồng */
.rtm-flowbox{border:1px solid #e6eaf4;border-radius:12px;padding:12px 16px 4px;margin:14px 0;background:#fff}
.rtm-flow-a{border-left:4px solid #2563eb;background:linear-gradient(180deg,#f5f8ff 0,#fff 70px)}
.rtm-flow-b{border-left:4px solid #16a34a;background:linear-gradient(180deg,#f2fbf5 0,#fff 70px)}
.rtm-flow-h{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}
.rtm-flow-a .rtm-flow-h{color:#1d4ed8}
.rtm-flow-b .rtm-flow-h{color:#15803d}

.rtm-badge-a{border-left:4px solid #2563eb!important;background:#f5f8ff!important}
.rtm-badge-b{border-left:4px solid #16a34a!important;background:#f2fbf5!important}
/* RTM_DASH_CSS_V1 */
/* ── RTM OS · tab Dashboard (rtm-dash.js) ────────────────────────────────
   Palette "Codename" của MagnoliaX DS v2: ink #18181B · cobalt #2563EB ·
   teal #3FC9BA · red #DC2626 · lime #E8EC13. Radius 4/8/99, thang cách 4px. */
.rtm-dash-head { margin: 4px 0 16px; }
.rtm-dash-h1 { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; color: #18181B; }
.rtm-dash-h1 .ic { width: 18px; height: 18px; }
.rtm-dash-sub { margin-top: 4px; font-size: 12px; line-height: 1.5; color: #6B6B72; }
.rtm-dash-sub b { color: #334155; font-weight: 700; }

.rtm-dash-note { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  background: #fff; border: 1px solid #E6EAF4; border-left: 4px solid #F59E0B;
  border-radius: 8px; padding: 12px 16px; margin: 12px 0; font-size: 12.5px; color: #334155; }
.rtm-dash-note .ic { width: 16px; height: 16px; color: #B45309; flex: 0 0 auto; }
.rtm-dash-note button { margin-left: auto; }

.rtm-dash-toggle { display: flex; align-items: center; gap: 8px; margin: 16px 0 8px;
  font-size: 12px; font-weight: 700; color: #6B6B72; }
.rtm-dash-toggle .rtm-mini-btn.on { background: #2563EB; border-color: #2563EB; color: #fff; }

.rtm-dash-chart { position: relative; height: 260px; background: #fff; border: 1px solid #E6EAF4;
  border-radius: 8px; padding: 12px; margin-bottom: 12px; }
.rtm-dash-chart-sm { height: 200px; }

/* 4 thẻ KPI phải nằm ĐÚNG 1 hàng. Không sửa .rtm-cards-4 dùng chung (đang là 3 cột cho
   dashboard cũ có 6 thẻ) — chỉ nâng riêng cho tab này. */
@media (min-width: 1000px) {
  .rtm-cards.rtm-cards-4.rtm-dash-kpi4 { grid-template-columns: repeat(4, 1fr); }
}

/* ── bảng phân cấp đóng/mở ───────────────────────────────────────────── */
.rtm-dh-table td { padding: 9px 12px; }
.rtm-dh-name { white-space: nowrap; }
.rtm-dh-lb { font-weight: 600; color: #1e293b; }
.rtm-dh-mut { color: #9AA2B6; font-weight: 400; margin-left: 6px; font-size: 11px; }
.rtm-dh-table td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }

.rtm-dh-caret { display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; margin-right: 4px; vertical-align: -3px; cursor: pointer;
  color: #9AA2B6; transform: rotate(-90deg); transition: transform .15s, color .15s; }
.rtm-dh-caret .ic { width: 13px; height: 13px; }
.rtm-dh-caret.open { transform: rotate(0deg); color: #2563EB; }
.rtm-dh-caret-none { cursor: default; opacity: 0; }
.rtm-dh-row[data-kids] { cursor: pointer; }
.rtm-dh-row[data-kids]:hover .rtm-dh-caret { color: #2563EB; }

/* cấp 0 = nhóm lớn (nền tint + accent trái), cấp sâu dần thì thụt vào */
.rtm-dh-d0 > td { background: #F6F7FB; font-weight: 700; border-top: 1px solid #E6EAF4; }
.rtm-dh-d0 > td:first-child { box-shadow: inset 3px 0 0 #2563EB; }
.rtm-dh-d0 .rtm-dh-lb { color: #18181B; font-weight: 700; }
.rtm-dh-d1 > td:first-child { padding-left: 30px; }
.rtm-dh-d1 > td { background: #FCFDFF; }
.rtm-dh-d2 > td:first-child { padding-left: 54px; }
.rtm-dh-d3 > td:first-child { padding-left: 78px; }
.rtm-dh-d2 .rtm-dh-lb, .rtm-dh-d3 .rtm-dh-lb { font-weight: 400; color: #475569; }

/* huy hiệu top-3 tỉ trọng — #1 lime "vương miện", #2/#3 cobalt nhạt dần */
.rtm-dh-rank { display: inline-flex; align-items: center; justify-content: center;
  width: 17px; height: 17px; margin-right: 6px; border-radius: 99px; vertical-align: -3px;
  font-size: 10.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rtm-dh-rank-1 { background: #E8EC13; color: #3F3F00; }
.rtm-dh-rank-2 { background: #2563EB; color: #fff; }
.rtm-dh-rank-3 { background: #BFD3FA; color: #1D4ED8; }
.rtm-dh-top1 > td:first-child { box-shadow: inset 3px 0 0 #E8EC13; }

.rtm-dh-share { position: relative; height: 8px; min-width: 90px; width: 90px;
  background: #F1F5F9; border-radius: 99px; overflow: hidden; display: inline-block; vertical-align: middle; }
.rtm-dh-share-fill { height: 100%; border-radius: 99px; transition: width .2s; }

@media (max-width: 820px) {
  .rtm-dash-chart { height: 220px; }
  .rtm-dh-d1 > td:first-child { padding-left: 22px; }
  .rtm-dh-d2 > td:first-child { padding-left: 38px; }
  .rtm-dh-d3 > td:first-child { padding-left: 54px; }
  .rtm-dh-share { min-width: 56px; width: 56px; }
}

/* ══════════════════════════════════════════════════════════════════════
   RTM OS — tab "Bàn làm việc" (js/rtm-os.js, khối dk*). Bảng rtm_tasks.
   Scope dưới #workspace-rtm-os: khối này nằm CUỐI file nên đã thắng về thứ tự,
   nhưng phần đầu file có selector .rtm-* trần dùng chung — scope để chắc chắn
   không rò sang workspace khác và để đè được .rtm-subtab/.rtm-btn dùng lại ở đây.
   ══════════════════════════════════════════════════════════════════════ */
#workspace-rtm-os .ic.s12{width:12px;height:12px}

/* ── thanh 2 sub-tab ── */
#workspace-rtm-os .rtm-dk-subbar{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}

/* ── KPI ── */
#workspace-rtm-os .rtm-dk-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
#workspace-rtm-os .rtm-dk-kpi{position:relative;flex:1;min-width:128px;background:#fff;border:1px solid #e9edf3;border-radius:12px;padding:10px 14px 10px 16px;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.05)}
#workspace-rtm-os .rtm-dk-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,#0f172a)}
#workspace-rtm-os .rtm-dk-kpi .k-l{font-size:10.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
#workspace-rtm-os .rtm-dk-kpi .k-v{font-size:23px;font-weight:800;margin-top:2px;color:#0f172a;font-variant-numeric:tabular-nums}

/* ── thanh công cụ ── */
#workspace-rtm-os .rtm-dk-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#workspace-rtm-os .rtm-dk-search{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:0 10px;height:34px;min-width:220px;color:#94a3b8}
#workspace-rtm-os .rtm-dk-search input{border:none;outline:none;background:none;font-size:13px;width:100%;color:#0f172a}
#workspace-rtm-os .rtm-dk-tbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 11px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:12.5px;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap}
#workspace-rtm-os .rtm-dk-tbtn:hover{background:#f8fafc}
#workspace-rtm-os .rtm-dk-tbtn.on{background:#0f172a;border-color:#0f172a;color:#fff}
#workspace-rtm-os .rtm-dk-viewsw{display:inline-flex;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}
#workspace-rtm-os .rtm-dk-vbtn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 11px;border:none;background:none;font-size:12.5px;font-weight:600;color:#64748b;cursor:pointer;white-space:nowrap}
#workspace-rtm-os .rtm-dk-vbtn.active{background:#0f172a;color:#fff}
#workspace-rtm-os .rtm-dk-scope{font-size:11.5px;font-weight:600;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:99px;padding:4px 10px;white-space:nowrap}
#workspace-rtm-os .rtm-dk-toolbar .rtm-btn{height:34px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;font-size:13px}

/* ── kanban ── */
#workspace-rtm-os .rtm-dk-board{display:flex;gap:12px;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding-bottom:6px;-webkit-overflow-scrolling:touch}
#workspace-rtm-os .rtm-dk-col{flex:0 0 272px;width:272px;display:flex;flex-direction:column;background:#f1f5f9;border:1px solid #e5e9f2;border-radius:12px;padding:8px;min-height:0}
#workspace-rtm-os .rtm-dk-chead{display:flex;align-items:center;gap:7px;padding:2px 4px 8px;font-size:12.5px;font-weight:800;color:#0f172a}
#workspace-rtm-os .rtm-dk-chead .kh-dot{width:9px;height:9px;border-radius:50%;background:var(--kc,#94a3b8);flex:0 0 auto}
#workspace-rtm-os .rtm-dk-chead .kh-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workspace-rtm-os .rtm-dk-chead .kh-n{background:#fff;border:1px solid #e2e8f0;border-radius:99px;padding:0 7px;font-size:11px;color:#64748b;font-weight:700}
#workspace-rtm-os .rtm-dk-chead .kh-add{margin-left:auto;cursor:pointer;color:#94a3b8;display:inline-flex;padding:2px;border-radius:5px}
#workspace-rtm-os .rtm-dk-chead .kh-add:hover{background:#e2e8f0;color:#0f172a}
#workspace-rtm-os .rtm-dk-chint{font-size:11.5px;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;padding:7px 9px;margin-bottom:7px;cursor:pointer;text-align:center}
#workspace-rtm-os .rtm-dk-chint:hover{border-color:#94a3b8;color:#0f172a}
#workspace-rtm-os .rtm-dk-cempty{font-size:11.5px;color:#94a3b8;text-align:center;padding:14px 8px;border:1px dashed #cbd5e1;border-radius:8px;margin-bottom:7px}
#workspace-rtm-os .rtm-dk-drop{flex:1;min-height:40px;overflow-y:auto;display:flex;flex-direction:column;gap:7px}
#workspace-rtm-os .rtm-dk-card{background:#fff;border:1px solid #e5e9f2;border-left:3px solid var(--pc,#cbd5e1);border-radius:9px;padding:9px 10px;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.05)}
#workspace-rtm-os .rtm-dk-card:hover{box-shadow:0 4px 12px rgba(15,23,42,.10)}
#workspace-rtm-os .rtm-dk-card.done{opacity:.6}
#workspace-rtm-os .rtm-dk-card.done .kc-t{text-decoration:line-through}
#workspace-rtm-os .rtm-dk-card .kc-t{font-size:13px;font-weight:700;color:#0f172a;line-height:1.35;margin-bottom:6px;word-break:break-word}
#workspace-rtm-os .rtm-dk-card .kc-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px}
#workspace-rtm-os .rtm-dk-card .kc-chip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:#475569;background:#f1f5f9;border-radius:99px;padding:2px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#workspace-rtm-os .rtm-dk-card .kc-chip.none{color:#94a3b8}
#workspace-rtm-os .rtm-dk-card .kc-foot{display:flex;align-items:center;gap:6px}
#workspace-rtm-os .rtm-dk-card .kc-date{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:#475569;background:#f1f5f9;border-radius:5px;padding:2px 6px}
#workspace-rtm-os .rtm-dk-card .kc-date.over{background:#fee2e2;color:#b91c1c}
#workspace-rtm-os .rtm-dk-ghost{opacity:.4;background:#e0e7ff}

/* ── bảng dòng-cột ── */
#workspace-rtm-os .rtm-dk-tablewrap{overflow:auto;background:#fff;border:1px solid #e9edf3;border-radius:12px;-webkit-overflow-scrolling:touch}
#workspace-rtm-os .rtm-dk-table{width:100%;min-width:880px;border-collapse:collapse;table-layout:fixed;font-size:13px}
#workspace-rtm-os .rtm-dk-table th{position:sticky;top:0;z-index:2;background:#f8fafc;border-bottom:1px solid #e5e9f2;text-align:left;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;padding:9px 10px;white-space:nowrap}
#workspace-rtm-os .rtm-dk-table td{border-bottom:1px solid #f1f5f9;padding:7px 10px;vertical-align:middle;overflow:hidden}
#workspace-rtm-os .rtm-dk-row:hover td{background:#f8fafc}
#workspace-rtm-os .rtm-dk-row.t-done{opacity:.62}
#workspace-rtm-os .rtm-dk-row.t-done .rtm-dk-title{text-decoration:line-through}
#workspace-rtm-os .rtm-dk-grp > td{padding:0;background:#fff}
#workspace-rtm-os .rtm-dk-grp .gbar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafc;border-top:1px solid #e5e9f2;border-bottom:1px solid #e5e9f2;border-left:4px solid var(--gc,#cbd5e1);font-size:12.5px;font-weight:800;color:#0f172a;cursor:pointer}
#workspace-rtm-os .rtm-dk-grp .gdot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
#workspace-rtm-os .rtm-dk-grp .gtog{display:inline-flex;color:#64748b;transition:transform .15s}
#workspace-rtm-os .rtm-dk-grp.collapsed .gtog{transform:rotate(-90deg)}
#workspace-rtm-os .rtm-dk-grp .gcount{background:#fff;border:1px solid #e2e8f0;border-radius:99px;padding:0 7px;font-size:11px;color:#64748b;font-weight:700}
#workspace-rtm-os .rtm-dk-grp .gadd{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#94a3b8;padding:2px 7px;border-radius:6px}
#workspace-rtm-os .rtm-dk-grp .gadd:hover{background:#e2e8f0;color:#0f172a}

/* ── ô trong bảng (bấm để sửa tại chỗ) ── */
#workspace-rtm-os .rtm-dk-title{font-weight:600;color:#0f172a;cursor:text;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#workspace-rtm-os .rtm-dk-title:hover{text-decoration:underline dotted #cbd5e1}
#workspace-rtm-os .rtm-dk-status{display:inline-block;width:100%;text-align:center;color:#fff;font-size:11.5px;font-weight:700;border-radius:6px;padding:4px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workspace-rtm-os .rtm-dk-person{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:12.5px;color:#0f172a;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#workspace-rtm-os .rtm-dk-person .muted{color:#94a3b8}
#workspace-rtm-os .rtm-dk-av{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:800;flex:0 0 auto;letter-spacing:.02em}
#workspace-rtm-os .rtm-dk-date{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 8px;cursor:pointer}
#workspace-rtm-os .rtm-dk-date.over{background:#fee2e2;color:#b91c1c}
#workspace-rtm-os .rtm-dk-date.empty{color:#94a3b8;background:none;font-weight:500}
#workspace-rtm-os .rtm-dk-prio{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#334155;cursor:pointer}
#workspace-rtm-os .rtm-dk-prio::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pc,#cbd5e1);flex:0 0 auto}
#workspace-rtm-os .rtm-dk-prio.sm{font-size:10.5px;font-weight:700;color:#475569}
#workspace-rtm-os .rtm-dk-rg{font-size:12px;font-weight:600;color:#334155;cursor:pointer;border-bottom:1px dashed #cbd5e1}
#workspace-rtm-os .rtm-dk-rg.empty{color:#94a3b8;font-weight:500}
#workspace-rtm-os .rtm-dk-note{font-size:12.5px;color:#475569;cursor:text;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#workspace-rtm-os .rtm-dk-note.empty{color:#cbd5e1}
#workspace-rtm-os .rtm-dk-edit{display:inline-flex;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px}
#workspace-rtm-os .rtm-dk-edit:hover{background:#e2e8f0;color:#0f172a}
/* Ô nhập nổi khi sửa tại chỗ — position:fixed do JS đặt, nên KHÔNG scope selector này
   dưới #workspace-rtm-os: nó được append vào <body>, ngoài cây workspace. */
.rtm-dk-inline{border:2px solid #2563eb;border-radius:6px;padding:3px 7px;font-size:13px;font-family:inherit;outline:none;background:#fff;color:#0f172a;box-shadow:0 4px 14px rgba(15,23,42,.18)}

/* ── popover chọn (append vào body → không scope) ── */
.rtm-dk-pop{position:fixed;z-index:10000;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:5px;min-width:210px;max-width:330px;max-height:320px;overflow-y:auto}
.rtm-dk-pop .opt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;font-size:13px;color:#0f172a;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rtm-dk-pop .opt:hover{background:#f1f5f9}
.rtm-dk-pop .opt .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.rtm-dk-pop .rtm-dk-av{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:800;flex:0 0 auto}
.rtm-dk-popsearch{display:flex;align-items:center;gap:6px;padding:5px 8px;margin-bottom:3px;border-bottom:1px solid #eef2f7;color:#94a3b8;position:sticky;top:-5px;background:#fff}
.rtm-dk-popsearch input{border:none;outline:none;background:none;font-size:13px;width:100%;color:#0f172a}
.rtm-dk-popsearch .ic{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.75;flex-shrink:0}
.rtm-dk-popempty{padding:9px 10px;font-size:12.5px;color:#94a3b8}

/* ── lịch tháng ── */
#workspace-rtm-os .rtm-dk-calbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
#workspace-rtm-os .rtm-dk-leg{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#64748b}
#workspace-rtm-os .rtm-dk-leg i{width:11px;height:11px;border-radius:3px;display:inline-block}
#workspace-rtm-os .rtm-dk-calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
#workspace-rtm-os .rtm-dk-dow{font-size:10.5px;font-weight:800;color:#64748b;text-transform:uppercase;text-align:center;padding:4px 0}
#workspace-rtm-os .rtm-dk-cell{min-height:0;background:#fff;border:1px solid #e9edf3;border-radius:9px;padding:5px 6px;overflow-y:auto}
#workspace-rtm-os .rtm-dk-cell.empty{background:transparent;border:none}
#workspace-rtm-os .rtm-dk-cell.today{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}
/* Ngày đã qua: làm nhạt NỀN + SỐ NGÀY, KHÔNG đặt opacity lên cả ô — opacity trên cha kéo mờ
   luôn chip quá hạn nằm bên trong, mà quá hạn là thứ cần nổi nhất trên lịch. */
#workspace-rtm-os .rtm-dk-cell.past{background:#f1f5f9}
#workspace-rtm-os .rtm-dk-cell.past .rtm-dk-dnum{color:#a8b3c2}
#workspace-rtm-os .rtm-dk-dnum{font-size:11.5px;font-weight:800;color:#64748b;margin-bottom:4px}
#workspace-rtm-os .rtm-dk-ev{font-size:11px;color:#fff;padding:3px 6px;border-radius:5px;margin-bottom:3px;cursor:pointer;line-height:1.25}
#workspace-rtm-os .rtm-dk-ev:hover{opacity:.88}
#workspace-rtm-os .rtm-dk-ev .ev-h{font-size:9.5px;font-weight:800;opacity:.92}
#workspace-rtm-os .rtm-dk-ev .ev-b{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workspace-rtm-os .rtm-dk-ev .ev-p{font-size:10px;font-weight:500;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workspace-rtm-os .rtm-dk-ev.done{opacity:.55}
#workspace-rtm-os .rtm-dk-ev.done .ev-b{text-decoration:line-through}

/* ── toast (append vào body → không scope) ── */
.rtm-dk-toastbox{position:fixed;right:16px;bottom:16px;z-index:10001;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}
.rtm-dk-toast{background:#0f172a;color:#fff;font-size:13px;font-weight:600;padding:11px 15px;border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.28);opacity:1;transform:translateY(0);transition:opacity .25s,transform .25s}
.rtm-dk-toast.bad{background:#b91c1c}
.rtm-dk-toast.out{opacity:0;transform:translateY(8px)}

/* ── mobile: sales xem trên điện thoại khi đi tuyến ── */
@media (max-width:719px){
  #workspace-rtm-os .rtm-dk-kpi{min-width:calc(50% - 5px)}
  #workspace-rtm-os .rtm-dk-search{min-width:100%}
  #workspace-rtm-os .rtm-dk-col{flex:0 0 84vw;width:84vw}
  /* Lịch 7 cột trên màn hẹp là ô bé xíu không đọc nổi → cho cuộn ngang, giữ bề rộng tối thiểu. */
  #workspace-rtm-os .rtm-dk-cal{overflow-x:auto;-webkit-overflow-scrolling:touch}
  #workspace-rtm-os .rtm-dk-calgrid{min-width:660px}
  .rtm-dk-toastbox{right:10px;left:10px;bottom:10px;max-width:none}
}
