.ro-modal[aria-hidden="true"] { display:none; }
.ro-modal[aria-hidden="false"] { display:block; }

.ro-modal__backdrop{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 9998;
}

.ro-modal__dialog{
  position: fixed;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  width: min(680px, calc(100vw - 24px));
  max-height: min(80vh, 720px);
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
}

.ro-modal__header, .ro-modal__footer{
  padding: 14px 16px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.ro-modal__footer{
  border-bottom: 0;
  border-top: 1px solid rgba(0,0,0,.08);
  justify-content: flex-end;
}

.ro-modal__body{
  padding: 16px;
  overflow: auto;
}

.ro-iconbtn{
  border:0;
  background: transparent;
  cursor:pointer;
  font-size: 18px;
  width: 40px; height: 40px;
  border-radius: 12px;
}

.ro-step-eval{ display:none; }
.ro-step-eval.is-active{ display:block; }

/* Segmented cards */
.ro-seg{ display:flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.ro-seg--row{ flex-direction: row; flex-wrap: wrap; }

.ro-seg__card{
  width:100%;
  text-align:left;
  padding: 12px 14px;
  border-radius: 14px;
  border: 2px solid rgba(0,0,0,.12);
  background: #fff;
  cursor:pointer;
}

.ro-seg__card.is-selected{
  border-color: var(--ro-accent, #4b7);
  background: rgba(75,183,120,.10);
}

/* Mobile = bottom sheet */
@media (max-width: 680px){
  .ro-modal__dialog{
    left: 0; right: 0; bottom: 0; top: auto;
    transform: none;
    width: 100vw;
    max-height: 82vh;
    border-radius: 18px 18px 0 0;
  }
}