/* Routing and service levels (module 23). Prefix rt-. */
.rt-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.rt-bulk select, .rt-bulk input { max-width: 280px; min-width: 0; }
.rt-saved { margin: 0; }
.rt-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 10px; }
.rt-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-grid2 > * { min-width: 0; }
.rt-actions { display: flex; gap: 8px; justify-content: flex-end; }
.rt-help { color: var(--muted); font-size: 12.5px; margin: 6px 0; }
.rt-note { margin-top: 4px; color: #334e68; }
.rt-list { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 13px; }
.rt-link { display: inline-flex; gap: 4px; align-items: center; margin-top: 8px; font-size: 12.5px; font-weight: 700; }
.rt-conds { display: grid; gap: 8px; }
.rt-cond { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1.6fr); gap: 6px; }
.rt-cond > * { min-width: 0; }
.rt-values summary { cursor: pointer; font-size: 12.5px; color: #2f5f88; font-weight: 700; }
.rt-valuelist { margin: 8px 0 0; display: grid; grid-template-columns: minmax(90px, 160px) minmax(0, 1fr); gap: 4px 10px; font-size: 12px; }
.rt-valuelist dt { color: var(--muted); }
.rt-valuelist dd { margin: 0; overflow-wrap: anywhere; }
.rt-skill { display: inline-block; background: #eef4fa; border: 1px solid #d3e0ec; border-radius: 3px; padding: 1px 6px; margin: 0 4px 3px 0; font-size: 11.5px; }
.rt-load { min-width: 110px; }
.rt-load .ct-meter { margin-top: 4px; }
.rt-load .ct-meter span.rt-full { background: linear-gradient(90deg, #ef8a96, #d6334b); }
.rt-mystatus { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; justify-content: space-between; }
.rt-mystatus > * { min-width: 0; }
.rt-statusform { display: grid; gap: 8px; flex: 1 1 320px; }
.rt-statusbtns { display: flex; gap: 6px; flex-wrap: wrap; }
.rt-big { font-size: 18px; font-weight: 700; }
.rt-mini { display: grid; gap: 8px; }
.rt-offers .ct-pbody { display: grid; gap: 8px; }
.rt-offer { display: flex; gap: 10px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; border: 1px solid #e0e7ed; border-left: 3px solid #d99a06; border-radius: 3px; padding: 8px 10px; }
.rt-offer-main { min-width: 0; flex: 1 1 220px; }
.rt-offer-main .sub { display: block; }
.rt-offer-act { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.rt-decline { display: flex; gap: 6px; flex-wrap: wrap; }
.rt-decline input { max-width: 170px; }
.rt-targets { display: grid; gap: 6px; }
.rt-tg-head { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: var(--muted); }
.rt-tg { display: flex; justify-content: space-between; gap: 8px; padding: 7px 9px; border: 1px solid #e0e7ed; border-left: 3px solid #1a7fe0; border-radius: 3px; flex-wrap: wrap; }
.rt-tg > * { min-width: 0; }
.rt-tg-l .sub, .rt-tg-r .sub { display: block; }
.rt-tg-r { text-align: right; }
.rt-tg.is-bad { border-left-color: #d6334b; background: #fdf3f4; }
.rt-tg.is-warn { border-left-color: #d99a06; background: #fff9ec; }
.rt-tg.is-paused { border-left-color: #8a9bb0; background: #f5f7f9; }
.rt-mark { font-weight: 700; display: inline-flex; gap: 4px; align-items: center; }
.rt-tg.is-bad .rt-mark { color: #b4233a; }
.rt-count.rt-big { font-size: 15px; }
.rt-count.rt-soon { color: #a86f00; font-weight: 700; }
.rt-count.rt-over { color: #b4233a; font-weight: 700; }
.rt-done summary { cursor: pointer; font-size: 12.5px; color: #2f5f88; }
.rt-done ul { margin: 6px 0 0; padding-left: 0; list-style: none; display: grid; gap: 4px; font-size: 12.5px; }
.rt-est { margin: 6px 0 0; font-size: 12.5px; }
.rt-est .sub { display: block; }
.rt-steps { margin-top: 10px; }
.rt-portal-est { display: flex; gap: 10px; align-items: flex-start; background: #eef6ff; border: 1px solid #c2d9f5; border-radius: 4px; padding: 10px 12px; }
.rt-portal-est .sub { display: block; margin-top: 2px; }
.rt-portal-est i { font-size: 20px; color: #1a7fe0; }
.rt-targets-grid { display: grid; grid-template-columns: minmax(110px, 1.2fr) repeat(7, minmax(64px, 1fr)); gap: 4px; align-items: center; }
.rt-targets-grid > * { min-width: 0; }
.rt-targets-grid .h { font-size: 11.5px; font-weight: 700; color: var(--muted); }
.rt-targets-grid input { width: 100%; }
.rt-test-row.on td { background: #eefaf4; }
.rt-hours { display: grid; grid-template-columns: minmax(90px, 140px) minmax(0, 1fr); gap: 6px 10px; align-items: center; }
.rt-hours > * { min-width: 0; }
.rt-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 12px; max-height: 220px; overflow: auto; position: relative; padding: 4px; border: 1px solid #e0e7ed; border-radius: 3px; }
@media (max-width: 760px) {
    .rt-grid2 { grid-template-columns: minmax(0, 1fr); }
    .rt-cond { grid-template-columns: minmax(0, 1fr); }
    .rt-tg-r { text-align: left; }
    .rt-targets-grid { grid-template-columns: minmax(90px, 1fr) repeat(2, minmax(60px, 1fr)); }
}

/* Dashboard panels and list polish */
.rt-db .ct-tablewrap + .rt-dbstats, .rt-db .ct-pbody > .rt-dbstats { margin-top: 12px; }
.rt-db.ct-panel .ct-tablewrap + .rt-dbstats { padding: 0 12px 12px; }
.rt-db .rt-dbmeters { margin-top: 14px; }
.rt-db .rt-dbstats.rt-top { margin-bottom: 14px; }
.rt-dbtbl td, .rt-dbtbl th { padding-left: 8px; padding-right: 8px; }
.rt-ref a, .rt-ref b, td.rt-ref { white-space: nowrap; }
.rt-count { font-weight: 600; }
.rt-metcell { min-width: 130px; }
.rt-bar { display: inline-block; width: 70px; height: 6px; border-radius: 3px; background: #e6edf3; overflow: hidden; vertical-align: middle; margin-right: 6px; }
.rt-bar i { display: block; height: 100%; background: linear-gradient(90deg, #13b985, #04955d); border-radius: 3px; }
.rt-bar i.warn { background: linear-gradient(90deg, #f5a524, #e08a00); }
.rt-bar i.bad { background: linear-gradient(90deg, #ef8a96, #d6334b); }
.ct-tbl td.rt-clip { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.rt-kpis { margin-bottom: 14px; }
.rt-anstats { margin-top: 14px; }
.ct-tbl td.rt-wrap { white-space: normal; min-width: 130px; }
