/* Rasolex Referenssikartta — perii Kadencen väripaletin (--global-palette1..9) */
.rrm{
  --rrm-accent:    var(--global-palette1, #d8432c);
  --rrm-accent-2:  var(--global-palette2, #b53722);
  --rrm-text:      var(--global-palette3, #2b2b2b);
  --rrm-text-soft: var(--global-palette5, #6a6a6a);
  --rrm-line:      var(--global-palette6, #d9d9d9);
  --rrm-bg-soft:   var(--global-palette7, #f5f5f4);
  --rrm-bg:        var(--global-palette9, #ffffff);
  color:var(--rrm-text);
  background:var(--rrm-bg);
  border:1px solid var(--rrm-line);
  border-radius:6px;
  position:relative;overflow:hidden;
  max-width:1100px;margin:0 auto;
}
.rrm *{box-sizing:border-box}
.rrm-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:20px 22px 10px;border-bottom:1px solid var(--rrm-line)}
.rrm-title{font-weight:700;font-size:clamp(20px,3vw,26px);line-height:1.2;margin:0}
.rrm-sub{font-size:13px;color:var(--rrm-text-soft);margin-top:2px}
.rrm-total{font-size:13px;color:var(--rrm-text-soft);white-space:nowrap}
.rrm-total b{color:var(--rrm-accent);font-size:18px}
.rrm-stage{position:relative;background:
  repeating-linear-gradient(0deg,rgba(0,0,0,.025) 0 1px,transparent 1px 26px),
  repeating-linear-gradient(90deg,rgba(0,0,0,.025) 0 1px,transparent 1px 26px),
  var(--rrm-bg)}
.rrm-svg{display:block;width:100%;height:auto;cursor:grab;touch-action:none}
.rrm-svg:active{cursor:grabbing}
.rrm-muni{fill:var(--rrm-bg);stroke:var(--rrm-line);stroke-width:1;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;transition:fill .15s}
.rrm-muni:hover{fill:var(--rrm-bg-soft)}
.rrm-muni.has{fill:var(--rrm-accent);fill-opacity:.07}
.rrm-muni.has:hover{fill-opacity:.15}
.rrm-label{fill:var(--rrm-text-soft);text-transform:uppercase;letter-spacing:.06em;
  pointer-events:none;font-family:inherit}
.rrm-mk{cursor:pointer}
.rrm-mk .dot{fill:var(--rrm-accent);stroke:var(--rrm-bg);stroke-width:1.5;
  vector-effect:non-scaling-stroke}
.rrm-mk .halo{fill:var(--rrm-accent);fill-opacity:.18}
.rrm-mk text{font-weight:600;fill:#fff;text-anchor:middle;pointer-events:none;font-family:inherit}
.rrm-mk:hover .dot,.rrm-mk:focus .dot{stroke-width:2.5}
.rrm-mk:focus{outline:none}
.rrm-tip{position:absolute;pointer-events:none;background:var(--rrm-text);color:var(--rrm-bg);
  padding:7px 10px;font-size:12px;line-height:1.5;max-width:240px;display:none;z-index:5;
  border-radius:4px}
.rrm-tip b{color:var(--rrm-bg)}
.rrm-panel{position:absolute;top:0;right:0;bottom:0;width:min(320px,85%);
  background:var(--rrm-bg);border-left:1px solid var(--rrm-line);
  box-shadow:-6px 0 18px rgba(0,0,0,.08);padding:18px;
  transform:translateX(102%);transition:transform .25s;overflow-y:auto;z-index:6}
.rrm-panel.open{transform:none}
.rrm-panel h3{font-size:18px;font-weight:700;margin:0 0 2px;padding-right:60px}
.rrm-cnt{font-size:12px;color:var(--rrm-accent);font-weight:600;margin-bottom:12px}
.rrm-panel a.rrm-item{display:block;color:var(--rrm-text);text-decoration:none;font-size:13px;
  line-height:1.45;padding:8px 0;border-bottom:1px solid var(--rrm-bg-soft)}
.rrm-panel a.rrm-item:hover{color:var(--rrm-accent)}
.rrm-panel a.rrm-item .rg{color:var(--rrm-text-soft);font-size:11px;display:block}
.rrm-close{position:absolute;top:12px;right:14px;background:none;
  border:1px solid var(--rrm-line);color:var(--rrm-text-soft);border-radius:4px;
  font-size:12px;padding:3px 9px;cursor:pointer;line-height:1.4}
.rrm-close:hover{border-color:var(--rrm-accent);color:var(--rrm-accent)}
.rrm-zoom{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:4}
.rrm-zoom button{width:34px;height:34px;background:var(--rrm-bg);border:1px solid var(--rrm-line);
  border-radius:4px;color:var(--rrm-text);font-size:16px;cursor:pointer;line-height:1;
  box-shadow:0 1px 3px rgba(0,0,0,.06)}
.rrm-zoom button:hover{border-color:var(--rrm-accent);color:var(--rrm-accent)}
.rrm-note{padding:10px 22px 14px;font-size:11px;color:var(--rrm-text-soft);
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  border-top:1px solid var(--rrm-bg-soft)}
.rrm-note .warn{color:var(--rrm-accent)}
@media (prefers-reduced-motion:reduce){.rrm-panel,.rrm-muni{transition:none}}
