/* Redundancy Selection Matrix — tool-only rules on top of assets/tools/_kit/tool-kit.css */
.calc{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);}
.calc-in,.calc > .flip{min-width:0;}
.rs-step2{margin-top:30px;}
.rs-actions{margin-top:12px;}
.rs-jump{display:none;}
.tk-btn[disabled]{opacity:.5;cursor:not-allowed;}
.rs-limit{margin:8px 0 0;font-weight:700;color:var(--navy);}
.rs-limit:empty{display:none;}
.rs-evhelp{margin-top:10px;}
.rs-empty{padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--grey);font-size:14px;text-align:center;}

/* Step 1: one compact line per criterion under a single header row; labels stay for screen readers. */
.rs-crits{display:grid;gap:6px;}
.rs-crit,.rs-crit-head{display:grid;grid-template-columns:minmax(150px,1.6fr) minmax(150px,1fr) minmax(120px,auto) 44px;gap:6px;align-items:center;}
.rs-crit{background:#F7F8FC;border-radius:12px;padding:6px;}
.rs-crit-head{padding:0 6px 2px;font:700 10px 'Poppins',sans-serif;letter-spacing:.03em;text-transform:uppercase;color:var(--grey);}
.rs-crit .tk-field{gap:3px;}
.rs-crit .tk-field > label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.rs-crit .tk-input{min-height:44px;}
.rs-crit .tk-input input,.rs-crit .tk-input select{height:44px;font-size:14px;padding-left:10px;}
.rs-crit .tk-input select{padding-right:28px;background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px;}
.rs-ev{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;border-radius:10px;font:700 12.5px/1.25 'Lato',sans-serif;color:var(--navy);cursor:pointer;}
.rs-ev input,.rs-tick input{width:22px;height:22px;flex:none;margin:0;accent-color:#0C1C4D;cursor:pointer;}
.rs-ev:has(input:focus-visible),.rs-tick:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:1px;}
.rs-del{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:20px;cursor:pointer;flex:none;}
.rs-del:hover:not([disabled]){border-color:var(--pink);color:#C4004F;}
.rs-del[disabled]{opacity:.35;cursor:not-allowed;}
.rs-del:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}

/* Step 2: roles and the pool matrix. */
.rs-roles{max-width:330px;margin:0 0 16px;}
.rs-roles .tk-input input{text-align:center;}
/* contain:paint stops phones widening the whole page to the table's width (seen in Chrome mobile emulation). */
.rs-matrix-wrap,.rs-table-wrap{contain:paint;}
.rs-matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch;}
.rs-matrix{border-collapse:separate;border-spacing:0;min-width:100%;font-size:14px;}
.rs-matrix th,.rs-matrix td{padding:5px 4px;border-bottom:1px solid var(--line);vertical-align:middle;}
.rs-matrix tbody tr:last-child th,.rs-matrix tbody tr:last-child td{border-bottom:0;}
.rs-matrix thead th{font:700 11px/1.25 'Poppins',sans-serif;color:var(--navy);text-align:left;background:#F7F8FC;vertical-align:bottom;padding-top:9px;padding-bottom:7px;}
.rs-matrix thead th small{display:block;font:600 10px 'Poppins',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--grey);margin-top:2px;}
.rs-mh{min-width:70px;max-width:120px;}
.rs-mh-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;hyphens:auto;}
.rs-corner,.rs-pname{position:sticky;left:0;z-index:2;background:#fff;}
.rs-corner{background:#F7F8FC;padding-left:10px !important;font:700 10px 'Poppins',sans-serif !important;letter-spacing:.03em;text-transform:uppercase;color:var(--grey) !important;}
.rs-pname{min-width:130px;padding-left:6px !important;box-shadow:6px 0 8px -6px rgba(12,28,77,.18);}
.rs-pname input{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:700 14px 'Lato',sans-serif;color:var(--navy);background:#fff;}
.rs-pname input::placeholder{color:#6B7385;font-weight:400;}
.rs-pname input:focus-visible{outline:3px solid var(--cyan);outline-offset:1px;}
/* A level box shows the digit; the transparent native select on top carries the full Acas descriptors. */
.rs-cell .tk-field{gap:2px;}
.rs-lv{position:relative;min-width:62px;height:44px;min-height:44px;overflow:visible;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;padding:0 22px 0 12px;
  background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 14px) 20px,calc(100% - 9px) 20px;background-size:5px 5px;background-repeat:no-repeat;}
.rs-lv-v{font:700 16px 'Roboto Slab',serif;color:var(--navy);}
.rs-lv select,.tk-input.rs-lv select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;padding:0;}
.rs-lv:focus-within{outline:3px solid var(--cyan);outline-offset:1px;border-color:var(--cyan-d);}
.rs-cell .is-bad .rs-lv{border-color:#C4004F;box-shadow:0 0 0 3px rgba(248,1,104,.12);}
.rs-cell .tk-err{font-size:11.5px;line-height:1.25;max-width:110px;}
.rs-deltd{width:52px;}

.rs-scale{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:0 14px;}
.rs-scale summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:700 14px 'Lato',sans-serif;color:var(--cyan-d);}
.rs-scale summary:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px;}
.rs-scale-c h4{font:700 13px 'Poppins',sans-serif;color:var(--navy);margin:6px 0 6px;}
.rs-scale dl{display:grid;gap:4px;margin:0 0 12px;}
.rs-scale dl div{display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:14px;line-height:1.45;}
.rs-scale dt{font:700 14px 'Roboto Slab',serif;color:var(--navy);}
.rs-scale dd{margin:0;color:#3a4256;}
.rs-scale .tk-help{margin-bottom:12px;}

.rs-checks{display:grid;gap:8px;margin-top:18px;}
.rs-tick{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#F7F8FC;cursor:pointer;}
.rs-tick[hidden]{display:none;}
.rs-tick input{margin-top:1px;}
.rs-tick b{display:block;font:700 14.5px/1.35 'Lato',sans-serif;color:var(--navy);}
.rs-tick small{display:block;font-size:13px;line-height:1.45;color:var(--grey);margin-top:3px;}
.rs-legal{margin-top:16px;}

/* Result face */
.rs-hl-label{margin-top:14px;}
.rs-big{font-size:44px;}
.rs-big small{display:block;font:700 16px/1.3 'Lato',sans-serif;letter-spacing:.02em;color:rgba(255,255,255,.82);margin-top:4px;}
.rs-hl-sub{margin-top:10px;}
.rs-stale{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--yellow);}
.rs-stale[hidden]{display:none;}
#rs-band[data-c=yellow]{background:var(--yellow);color:var(--navy);}
.result .tk-kpis div:nth-child(even) b{color:#FF9EC4;}
.rs-focus{margin-top:18px;}
.rs-focus-h{font:700 11px 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 8px;}
.rs-focus-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.rs-focus-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;font-size:13.5px;line-height:1.35;color:#fff;}
.rs-fi{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 12px 'Roboto Slab',serif;}
.rs-focus-list li.is-critical .rs-fi{background:#C4004F;color:#fff;}
.rs-focus-list li.is-caution .rs-fi{background:var(--yellow);color:var(--navy);}
.rs-focus-list li.none,.rs-focus-list li.more{grid-template-columns:1fr;color:rgba(255,255,255,.82);}
#tk-face-front,#tk-flip{scroll-margin-top:96px;}

/* Detail */
.rs-wide{grid-column:1 / -1;}
.rs-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;font-size:13px;color:#3a4256;}
.rs-legend span,.rs-w-top{display:inline-flex;align-items:center;gap:6px;}
.rs-legend i,.rs-w-top i{width:14px;height:12px;border-radius:3px;display:inline-block;flex:none;}
.rs-chart{display:grid;gap:6px;}
.rs-row{display:grid;grid-template-columns:minmax(80px,170px) minmax(0,1fr) 40px 70px;gap:10px;align-items:center;}
.rs-row-n{font:700 13.5px 'Lato',sans-serif;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rs-row-bar svg{display:block;width:100%;height:18px;border-radius:5px;}
.rs-row-t{font:700 15px 'Roboto Slab',serif;color:var(--navy);text-align:right;}
.rs-row-tag{font:700 10.5px 'Poppins',sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase;}
.rs-row.is-selected .rs-row-tag{color:#C4004F;}
.rs-row.is-tied .rs-row-tag{color:#8A5A00;}
.rs-cut{position:relative;border-top:2px dashed #C4004F;margin:6px 0 10px;}
.rs-cut span{position:absolute;right:0;top:-11px;background:#fff;padding:0 0 0 8px;font:700 11px 'Poppins',sans-serif;letter-spacing:.04em;color:#C4004F;}
.rs-axis{display:flex;justify-content:space-between;margin-left:calc(min(170px,30%) + 10px);margin-right:130px;font:600 11px 'Poppins',sans-serif;color:var(--grey);}
.rs-sentence{font-size:14px;color:#3a4256;margin-top:12px;}
.rs-table-wrap{overflow-x:auto;margin-top:14px;-webkit-overflow-scrolling:touch;}
.rs-table{font-size:14px;}
.rs-table th small{display:block;font-size:10px;letter-spacing:.04em;margin-top:2px;}
.rs-table thead th{vertical-align:bottom;letter-spacing:.05em;font-size:10.5px;line-height:1.3;}
.rs-table thead th.rs-num{min-width:64px;max-width:120px;white-space:normal;}
.rs-table tbody th{font:700 14px 'Lato',sans-serif;color:var(--navy);text-transform:none;letter-spacing:0;white-space:nowrap;}
.rs-table .rs-num{text-align:right;white-space:nowrap;}
.rs-table .rs-tot{font-weight:700;color:var(--navy);}
.rs-table .rs-st{font-weight:700;min-width:96px;line-height:1.3;}
.rs-table tr.is-selected .rs-st{color:#C4004F;}
.rs-table tr.is-tied .rs-st{color:#8A5A00;}
.rs-table tr.is-selected td,.rs-table tr.is-selected th{background:#FFF4F8;}
.rs-table tr.is-tied td,.rs-table tr.is-tied th{background:#FFF8E1;}
.rs-cutrow td{border-bottom:2px dashed #C4004F;padding:6px 8px;font:700 11px 'Poppins',sans-serif;letter-spacing:.04em;color:#C4004F;}
.rs-h3{margin-top:22px !important;font-size:17px !important;}
.rs-flags{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;}
.rs-flags li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:start;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.5;color:#3a4256;background:#F4F6FB;border:1px solid var(--line);}
.rs-flags li b{display:block;color:var(--navy);}
.rs-flag-tag{display:inline-flex;justify-content:center;font:700 10.5px 'Poppins',sans-serif;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 0;margin-top:2px;background:#2A3A7A;color:#fff;}
.rs-flags li.is-critical{background:#FFF4F8;border-color:#FFD0E2;} .rs-flags li.is-critical .rs-flag-tag{background:#C4004F;}
.rs-flags li.is-caution{background:#FFF8E1;border-color:#FBE3A6;} .rs-flags li.is-caution .rs-flag-tag{background:var(--yellow);color:var(--navy);}
.rs-flags li.ok{display:block;background:#EFFBF5;border-color:#C5EFDA;}
.rs-weights{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:12px;}
.rs-w-top{display:flex;font-size:14px;color:var(--navy);}
.rs-w-n{font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere;}
.rs-w-top b{font:700 13px 'Roboto Slab',serif;white-space:nowrap;}
.rs-w-bar{display:block;height:8px;border-radius:999px;background:#EEF1F7;margin:6px 0 4px;overflow:hidden;}
.rs-w-bar span{display:block;height:100%;border-radius:999px;}
.rs-weights small{font-size:12.5px;font-weight:700;}
.rs-weights small.ev-yes{color:#0E7A4E;} .rs-weights small.ev-no{color:#8A5A00;}
.rs-sc-line{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:14px;}
.rs-sc-line a{font-weight:700;color:#C4004F;}

@media(max-width:1100px){.calc{grid-template-columns:minmax(0,1fr);} .rs-jump{display:inline-flex;}}
@media(max-width:720px){
  .rs-crit-head{display:none;}
  .rs-crit{grid-template-columns:minmax(0,1fr) 44px;padding:12px;gap:8px;}
  .rs-crit .tk-field > label{position:static;width:auto;height:auto;clip:auto;font:700 11px 'Poppins',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);}
  .rs-crit .rs-cname{grid-column:1;grid-row:1;}
  .rs-crit .rs-del{grid-column:2;grid-row:1;align-self:end;}
  .rs-crit .rs-cweight{grid-column:1 / 3;grid-row:2;} .rs-crit .rs-ev{grid-column:1 / 3;grid-row:3;padding:0 2px;}
  .rs-pname{min-width:110px;}
  .rs-row{grid-template-columns:minmax(64px,96px) minmax(0,1fr) 30px 58px;gap:6px;}
  .rs-row-n{font-size:12.5px;}
  .rs-row-tag{font-size:9.5px;}
  .rs-axis{margin-left:calc(min(96px,30%) + 6px);margin-right:100px;}
  .rs-flags li{grid-template-columns:1fr;gap:6px;} .rs-flag-tag{justify-self:start;padding:4px 10px;}
}
