/* Suite IVyA R&R · Portal v0.2.40
   Arquitectura visual alineada con la guía R&R Herramientas v1.2. */

.rr-ivya-suite-page{
  margin:0;
  background:var(--rr-app);
}

.rr-ivya-suite-page .site-content,
.rr-ivya-suite-page .content-area,
.rr-ivya-suite-page .site-main,
.rr-ivya-suite-page .entry-content,
.rr-ivya-suite-page .ast-container{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.rr-ivya-suite-page .entry-content > .rr-ivya-suite-app,
.rr-ivya-suite-page .entry-content > .rr-ivya-access-shell{
  margin:0;
}

.rr-ivya-suite-app,
.rr-ivya-access-shell{
  box-sizing:border-box;
  color:var(--rr-ink);
  font-family:var(--rr-font);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

.rr-ivya-suite-app *,
.rr-ivya-suite-app *::before,
.rr-ivya-suite-app *::after,
.rr-ivya-access-shell *,
.rr-ivya-access-shell *::before,
.rr-ivya-access-shell *::after{
  box-sizing:border-box;
}

.rr-ivya-suite-app :where(h1,h2,h3,p,ul),
.rr-ivya-access-shell :where(h1,h2,h3,p,ul){
  margin-top:0;
}

.rr-ivya-suite-app :where(a,button,input,select,textarea),
.rr-ivya-access-shell :where(a,button,input,select,textarea){
  font:inherit;
}

.rr-ivya-suite-app :where(a,button,input,select,textarea,summary):focus-visible,
.rr-ivya-access-shell :where(a,button,input,select,textarea,summary):focus-visible{
  outline:0;
  box-shadow:var(--rr-focus);
}

.rr-ivya-suite-app{
  display:grid;
  grid-template-columns:var(--rr-rail-width) minmax(0,1fr);
  min-height:100vh;
  background:var(--rr-app);
}

/* Rail: navegación, no superficie de trabajo. */
.rr-ivya-rail{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100vh;
  padding:var(--rr-s5) var(--rr-s4);
  background:var(--rr-brand-900);
  color:var(--rr-surface);
}

.rr-ivya-rail-brand,
.rr-ivya-access-brand{
  display:flex;
  align-items:center;
  gap:var(--rr-s3);
  min-width:0;
}

.rr-ivya-rail-brand{
  padding:0 var(--rr-s2) var(--rr-s5);
  border-bottom:1px solid var(--rr-brand-800);
}

.rr-ivya-rail-brand strong,
.rr-ivya-access-brand strong{
  display:block;
  color:inherit;
  font-size:15px;
  font-weight:750;
  letter-spacing:-.01em;
  line-height:1.25;
}

.rr-ivya-rail-brand small,
.rr-ivya-access-brand small{
  display:block;
  margin-top:2px;
  color:var(--rr-brand-200);
  font-size:11px;
  line-height:1.35;
}

.rr-ivya-brand-mark{
  display:inline-grid;
  flex:0 0 38px;
  width:38px;
  height:38px;
  place-items:center;
  border:1px solid var(--rr-brand-500);
  border-radius:10px;
  background:var(--rr-brand-700);
  color:var(--rr-surface);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
}

.rr-ivya-nav{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:4px;
  padding-top:var(--rr-s5);
}

.rr-ivya-nav-item{
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:var(--rr-r-control);
  color:var(--rr-brand-100);
  text-decoration:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}

.rr-ivya-nav-item > span:first-child{
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  color:var(--rr-brand-300);
  font-size:14px;
  font-weight:800;
}

.rr-ivya-nav-item em{
  min-width:22px;
  padding:1px 6px;
  border-radius:var(--rr-r-pill);
  background:var(--rr-brand-800);
  color:var(--rr-brand-100);
  font-size:11px;
  font-style:normal;
  font-weight:700;
  text-align:center;
}

.rr-ivya-nav-item:hover{
  background:var(--rr-brand-800);
  color:var(--rr-surface);
}

.rr-ivya-nav-item.is-current{
  border-color:var(--rr-brand-600);
  background:var(--rr-brand-700);
  color:var(--rr-surface);
}

.rr-ivya-nav-item.is-current > span:first-child{
  color:var(--rr-brand-100);
}

.rr-ivya-rail-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--rr-s2);
  padding:var(--rr-s4) var(--rr-s2) 0;
  border-top:1px solid var(--rr-brand-800);
  color:var(--rr-brand-300);
  font-size:11px;
}

.rr-ivya-system-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--rr-ok-border);
  box-shadow:0 0 0 3px var(--rr-brand-800);
}

/* Área de trabajo. */
.rr-ivya-main{
  min-width:0;
  min-height:100vh;
}

.rr-ivya-topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  min-height:var(--rr-topbar-height);
  align-items:center;
  justify-content:space-between;
  gap:var(--rr-s4);
  padding:0 var(--rr-s6);
  border-bottom:1px solid var(--rr-border-soft);
  background:var(--rr-surface);
}

.rr-ivya-context{
  display:flex;
  min-width:0;
  align-items:center;
  gap:var(--rr-s3);
}

.rr-ivya-context-icon,
.rr-ivya-user-pill{
  display:inline-grid;
  flex:0 0 auto;
  place-items:center;
  border-radius:var(--rr-r-control);
  font-weight:750;
}

.rr-ivya-context-icon{
  width:34px;
  height:34px;
  background:var(--rr-tool-ivya-bg);
  color:var(--rr-tool-ivya-accent);
  font-size:12px;
}

.rr-ivya-context > span:last-child{
  min-width:0;
}

.rr-ivya-context strong{
  display:block;
  overflow:hidden;
  color:var(--rr-ink);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rr-ivya-context small{
  display:block;
  margin-top:2px;
  color:var(--rr-text-3);
  font-size:11px;
}

.rr-ivya-topbar-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:var(--rr-s2);
}

.rr-ivya-language-pill,
.rr-ivya-user-pill{
  min-height:30px;
  border:1px solid var(--rr-border-soft);
  background:var(--rr-surface-2);
  color:var(--rr-text-2);
  font-size:11px;
}

.rr-ivya-language-pill{
  padding:4px 9px;
  border-radius:var(--rr-r-pill);
  font-weight:700;
}

.rr-ivya-user-pill{
  width:32px;
  height:32px;
}

.rr-ivya-topbar-logout{
  padding:6px 2px;
  color:var(--rr-text-2);
  font-size:12px;
  font-weight:650;
  text-decoration:none;
}

.rr-ivya-topbar-logout:hover{
  color:var(--rr-brand-700);
  text-decoration:underline;
  text-underline-offset:3px;
}

.rr-ivya-content{
  width:min(100%,calc(var(--rr-content-max) + (var(--rr-s6) * 2)));
  margin:0 auto;
  padding:var(--rr-s6);
}

/* Jerarquía ejecutiva. */
.rr-ivya-suite-hero{
  position:relative;
  overflow:hidden;
  margin:0 0 var(--rr-s5);
  padding:var(--rr-s6);
  border:1px solid var(--rr-border-soft);
  border-top:3px solid var(--rr-tool-ivya-accent);
  border-radius:var(--rr-r-card);
  background:var(--rr-surface);
  box-shadow:var(--rr-shadow-sm);
}

.rr-ivya-suite-hero::after{
  position:absolute;
  top:-52px;
  right:-34px;
  width:176px;
  height:176px;
  border-radius:50%;
  background:var(--rr-tool-ivya-bg);
  content:"";
  opacity:.8;
}

.rr-ivya-suite-hero > *{
  position:relative;
  z-index:1;
}

.rr-ivya-suite-kicker{
  margin:0 0 var(--rr-s2);
  color:var(--rr-brand-700);
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  line-height:1.3;
  text-transform:uppercase;
}

.rr-ivya-suite-hero h1{
  max-width:780px;
  margin:0;
  color:var(--rr-ink);
  font-size:clamp(30px,4vw,43px);
  font-weight:760;
  letter-spacing:-.04em;
  line-height:1.04;
}

.rr-ivya-suite-hero p{
  max-width:820px;
  margin:var(--rr-s4) 0 0;
  color:var(--rr-text-2);
  font-size:16px;
  line-height:1.65;
}

.rr-ivya-suite-orgbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,auto);
  align-items:center;
  gap:var(--rr-s5);
  margin-bottom:var(--rr-s4);
  padding:var(--rr-s5);
  border:1px solid var(--rr-border-soft);
  border-radius:var(--rr-r-card);
  background:var(--rr-surface);
  box-shadow:var(--rr-shadow-sm);
}

.rr-ivya-suite-org-main h2{
  margin:0;
  color:var(--rr-ink);
  font-size:22px;
  font-weight:730;
  letter-spacing:-.025em;
  line-height:1.2;
}

.rr-ivya-suite-org-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:var(--rr-s2) var(--rr-s5);
  margin:var(--rr-s3) 0 0;
  color:var(--rr-text-2);
  font-size:13px;
}

.rr-ivya-suite-orgmeta{
  display:flex;
  min-width:200px;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  text-align:right;
}

.rr-ivya-suite-orgmeta > span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--rr-text-3);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}

.rr-ivya-suite-orgmeta > span::before{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--rr-neutral-border);
  content:"";
}

.rr-ivya-suite-orgmeta > span.is-ok::before{
  background:var(--rr-ok-border);
}

.rr-ivya-suite-orgmeta > span.is-warning::before{
  background:var(--rr-warn-border);
}

.rr-ivya-suite-orgmeta strong{
  color:var(--rr-ink);
  font-size:14px;
}

.rr-ivya-suite-orgmeta small{
  color:var(--rr-text-3);
  font-size:11px;
}

.rr-ivya-suite-license-detail{
  margin-top:var(--rr-s3);
}

/* Banda KPI: una única superficie conectada. */
.rr-ivya-kpi-band{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:var(--rr-s6);
  overflow:hidden;
  border:1px solid var(--rr-border-soft);
  border-radius:var(--rr-r-card);
  background:var(--rr-surface);
  box-shadow:var(--rr-shadow-sm);
}

.rr-ivya-kpi{
  min-width:0;
  padding:var(--rr-s4) var(--rr-s5);
}

.rr-ivya-kpi + .rr-ivya-kpi{
  border-left:1px solid var(--rr-border-soft);
}

.rr-ivya-kpi span,
.rr-ivya-kpi small{
  display:block;
  color:var(--rr-text-3);
  font-size:11px;
}

.rr-ivya-kpi span{
  margin-bottom:5px;
  font-weight:750;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.rr-ivya-kpi strong{
  display:block;
  overflow:hidden;
  margin-bottom:3px;
  color:var(--rr-ink);
  font-size:18px;
  font-weight:750;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Secciones y superficies. */
.rr-ivya-suite-sectionhead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--rr-s5);
  margin:var(--rr-s7) 0 var(--rr-s4);
}

.rr-ivya-suite-sectionhead:first-child{
  margin-top:0;
}

.rr-ivya-suite-sectionhead h2{
  margin:0;
  color:var(--rr-ink);
  font-size:24px;
  font-weight:740;
  letter-spacing:-.03em;
  line-height:1.18;
}

.rr-ivya-suite-sectionhead p{
  max-width:760px;
  margin:var(--rr-s2) 0 0;
  color:var(--rr-text-2);
  font-size:14px;
}

.rr-ivya-suite-sectionhead-compact{
  margin:0;
  align-items:center;
}

.rr-ivya-suite-card{
  padding:var(--rr-s5);
  border:1px solid var(--rr-border-soft);
  border-radius:var(--rr-r-card);
  background:var(--rr-surface);
  box-shadow:var(--rr-shadow-sm);
}

.rr-ivya-suite-card h2,
.rr-ivya-suite-card h3{
  color:var(--rr-ink);
  letter-spacing:-.02em;
}

.rr-ivya-suite-card h2{
  margin-bottom:var(--rr-s3);
  font-size:22px;
}

.rr-ivya-suite-card h3{
  margin-bottom:var(--rr-s3);
  font-size:17px;
}

.rr-ivya-suite-card p:last-child,
.rr-ivya-suite-card ul:last-child{
  margin-bottom:0;
}

.rr-ivya-suite-card p,
.rr-ivya-suite-card li{
  color:var(--rr-text-2);
}

.rr-ivya-suite-card ul{
  padding-left:20px;
}

.rr-ivya-suite-card li + li{
  margin-top:8px;
}

.rr-ivya-suite-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--rr-s4);
}

.rr-ivya-suite-compact-copy,
.rr-ivya-suite-muted-line{
  color:var(--rr-text-3);
  font-size:12px;
  line-height:1.55;
}

.rr-ivya-suite-number{
  font-variant-numeric:tabular-nums;
}

/* Herramientas: identidad en el acento; estado en el badge. */
.rr-ivya-suite-tools{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--rr-s4);
}

.rr-ivya-suite-tool{
  position:relative;
  display:flex;
  min-width:0;
  min-height:248px;
  flex-direction:column;
  padding:var(--rr-s5);
  overflow:hidden;
  border:1px solid var(--rr-border-soft);
  border-radius:var(--rr-r-card);
  background:var(--rr-surface);
  box-shadow:var(--rr-shadow-sm);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.rr-ivya-suite-tool::before{
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--rr-tool-ivya-accent);
  content:"";
}

.rr-ivya-suite-tool.is-available:hover{
  transform:translateY(-2px);
  border-color:var(--rr-brand-300);
  box-shadow:var(--rr-shadow-md);
}

.rr-ivya-suite-tool.is-not-deployed,
.rr-ivya-suite-tool.is-not-included,
.rr-ivya-suite-tool.is-license-blocked{
  background:var(--rr-surface-2);
}

.rr-ivya-suite-tool-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--rr-s3);
}

.rr-ivya-suite-tool h3{
  margin:0;
  color:var(--rr-ink);
  font-size:18px;
  font-weight:730;
  letter-spacing:-.025em;
  line-height:1.25;
}

.rr-ivya-suite-tool > p{
  margin:var(--rr-s4) 0;
  color:var(--rr-text-2);
  font-size:13px;
  line-height:1.6;
}

.rr-ivya-suite-tool-descriptor{
  display:block;
  margin-top:auto;
  padding-top:var(--rr-s3);
  border-top:1px solid var(--rr-border-soft);
  color:var(--rr-text-3);
  font-size:11px;
}

.rr-ivya-suite-tool-action{
  display:flex;
  min-height:40px;
  align-items:center;
  margin-top:var(--rr-s4);
}

.rr-ivya-suite-related-tool,
.rr-ivya-suite-consultant-note{
  margin-top:var(--rr-s4);
  padding:var(--rr-s3);
  border-radius:var(--rr-r-control);
  background:var(--rr-surface-2);
  color:var(--rr-text-2);
  font-size:12px;
}

/* Botones y acciones. */
.rr-ivya-suite-button,
.rr-ivya-suite-text-button,
.rr-ivya-suite-terms-toggle{
  appearance:none;
  border-radius:var(--rr-r-control);
  cursor:pointer;
  text-decoration:none;
}

.rr-ivya-suite-button{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  padding:9px 15px;
  border:1px solid var(--rr-brand-600);
  background:var(--rr-brand-600);
  color:var(--rr-surface);
  font-size:13px;
  font-weight:720;
  line-height:1.2;
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}

.rr-ivya-suite-button:hover{
  border-color:var(--rr-brand-700);
  background:var(--rr-brand-700);
  color:var(--rr-surface);
  transform:translateY(-1px);
}

.rr-ivya-suite-button-small{
  min-height:34px;
  padding:7px 11px;
  font-size:12px;
}

.rr-ivya-suite-button-disabled,
.rr-ivya-suite-button:disabled{
  border-color:var(--rr-neutral-border);
  background:var(--rr-neutral-bg);
  color:var(--rr-text-3);
  cursor:not-allowed;
  transform:none;
}

.rr-ivya-suite-text-action,
.rr-ivya-suite-text-button{
  color:var(--rr-brand-700);
  font-size:12px;
  font-weight:700;
}

.rr-ivya-suite-text-action{
  display:inline-flex;
  align-items:center;
  gap:5px;
  text-decoration:none;
}

.rr-ivya-suite-text-action:hover{
  color:var(--rr-brand-800);
  text-decoration:underline;
  text-underline-offset:3px;
}

.rr-ivya-suite-text-button{
  min-height:34px;
  padding:6px 8px;
  border:0;
  background:transparent;
}

.rr-ivya-suite-text-button:hover{
  background:var(--rr-brand-50);
}

.rr-ivya-suite-static-note{
  display:inline-flex;
  align-items:flex-start;
  gap:6px;
  color:var(--rr-text-2);
  font-size:12px;
  line-height:1.45;
}

.rr-ivya-suite-static-note.is-warning{
  color:var(--rr-warn-ink);
}

.rr-ivya-suite-static-note.is-quiet,
.rr-ivya-suite-static-note.is-muted{
  color:var(--rr-text-3);
}

/* Estados semánticos. */
.rr-ivya-suite-pill,
.rr-ivya-suite-mini-pill{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rr-neutral-border);
  border-radius:var(--rr-r-pill);
  background:var(--rr-neutral-bg);
  color:var(--rr-neutral-ink);
  font-weight:730;
  line-height:1.25;
  text-align:center;
}

.rr-ivya-suite-pill{
  padding:5px 9px;
  font-size:11px;
}

.rr-ivya-suite-mini-pill{
  padding:3px 7px;
  font-size:10px;
}

.rr-ivya-suite-pill-ok{
  border-color:var(--rr-ok-border);
  background:var(--rr-ok-bg);
  color:var(--rr-ok-ink);
}

.rr-ivya-suite-pill-warning{
  border-color:var(--rr-warn-border);
  background:var(--rr-warn-bg);
  color:var(--rr-warn-ink);
}

.rr-ivya-suite-pill-danger{
  border-color:var(--rr-danger-border);
  background:var(--rr-danger-bg);
  color:var(--rr-danger-ink);
}

.rr-ivya-suite-pill-muted,
.rr-ivya-suite-pill-neutral,
.rr-ivya-suite-pill-roadmap{
  border-color:var(--rr-neutral-border);
  background:var(--rr-neutral-bg);
  color:var(--rr-neutral-ink);
}

/* Avisos y condiciones. */
.rr-ivya-suite-notice,
.rr-ivya-suite-alert{
  margin:0 0 var(--rr-s4);
  padding:var(--rr-s4);
  border:1px solid var(--rr-info-border);
  border-left-width:4px;
  border-radius:var(--rr-r-control);
  background:var(--rr-info-bg);
  color:var(--rr-info-ink);
  font-size:13px;
}

.rr-ivya-suite-notice-ok{
  border-color:var(--rr-ok-border);
  background:var(--rr-ok-bg);
  color:var(--rr-ok-ink);
}

.rr-ivya-suite-notice-error{
  border-color:var(--rr-danger-border);
  background:var(--rr-danger-bg);
  color:var(--rr-danger-ink);
}

.rr-ivya-suite-alert-warning{
  border-color:var(--rr-warn-border);
  background:var(--rr-warn-bg);
  color:var(--rr-warn-ink);
}

.rr-ivya-suite-terms-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,360px);
  gap:var(--rr-s5);
  margin-bottom:var(--rr-s6);
  padding:var(--rr-s5);
}

.rr-ivya-suite-terms-panel h2{
  margin:0 0 var(--rr-s3);
  color:var(--rr-ink);
  font-size:23px;
  letter-spacing:-.025em;
}

.rr-ivya-suite-terms-panel p{
  color:var(--rr-text-2);
}

.rr-ivya-suite-terms-accordion{
  margin-top:var(--rr-s4);
  overflow:hidden;
  border-radius:var(--rr-r-control);
  background:var(--rr-surface);
}

.rr-ivya-suite-terms-toggle{
  display:flex;
  width:100%;
  min-height:44px;
  align-items:center;
  justify-content:space-between;
  gap:var(--rr-s4);
  padding:10px var(--rr-s4);
  border:0;
  background:var(--rr-surface);
  color:var(--rr-brand-700);
  font-size:13px;
  font-weight:730;
  text-align:left;
}

.rr-ivya-suite-terms-toggle:hover{
  background:var(--rr-surface-2);
}

.rr-ivya-suite-terms-toggle span{
  font-size:19px;
  line-height:1;
}

.rr-ivya-suite-terms-body{
  padding:0 var(--rr-s4) var(--rr-s4);
}

.rr-ivya-suite-terms-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--rr-s3);
  padding-top:var(--rr-s3);
  border-top:1px solid var(--rr-border-soft);
}

.rr-ivya-suite-terms-grid article{
  padding:var(--rr-s3);
  border-radius:var(--rr-r-control);
  background:var(--rr-surface-2);
}

.rr-ivya-suite-terms-grid h3{
  margin:0 0 6px;
  color:var(--rr-ink);
  font-size:13px;
}

.rr-ivya-suite-terms-grid p{
  margin:0;
  color:var(--rr-text-2);
  font-size:12px;
}

.rr-ivya-suite-terms-form{
  align-self:start;
  padding:var(--rr-s4);
  border-radius:var(--rr-r-control);
  background:var(--rr-surface);
  color:var(--rr-ink);
}

.rr-ivya-suite-terms-help{
  margin-bottom:var(--rr-s3);
  color:var(--rr-text-2);
  font-size:12px;
}

.rr-ivya-suite-check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:var(--rr-s4);
  color:var(--rr-text-2);
  font-size:12px;
  line-height:1.5;
}

.rr-ivya-suite-check.is-disabled{
  opacity:.58;
}

.rr-ivya-suite-check input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin-top:2px;
  accent-color:var(--rr-brand-600);
}

.rr-ivya-suite-check-plain{
  margin:0;
  align-self:center;
}

/* Equipo y formularios. */
.rr-ivya-team-anchor{
  scroll-margin-top:calc(var(--rr-topbar-height) + var(--rr-s4));
}

.rr-ivya-suite-users-panel{
  margin-top:var(--rr-s7);
  padding:0;
  overflow:hidden;
}

.rr-ivya-suite-users-summary{
  display:block;
  padding:var(--rr-s5);
  cursor:pointer;
  list-style:none;
}

.rr-ivya-suite-users-summary::-webkit-details-marker{
  display:none;
}

.rr-ivya-suite-users-summary:hover{
  background:var(--rr-surface-2);
}

.rr-ivya-suite-users-summary-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--rr-s2);
}

.rr-ivya-suite-toggle-pill{
  display:inline-flex;
  padding:5px 9px;
  border:1px solid var(--rr-border-soft);
  border-radius:var(--rr-r-pill);
  background:var(--rr-surface-2);
  color:var(--rr-text-2);
  font-size:11px;
  font-weight:700;
}

.rr-ivya-suite-users-panel:not([open]) .rr-ivya-suite-toggle-pill .is-open,
.rr-ivya-suite-users-panel[open] .rr-ivya-suite-toggle-pill .is-closed{
  display:none;
}

.rr-ivya-suite-users-content{
  padding:var(--rr-s5);
  border-top:1px solid var(--rr-border-soft);
  background:var(--rr-surface-2);
}

.rr-ivya-suite-user-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid var(--rr-border-soft);
  border-radius:var(--rr-r-control);
  background:var(--rr-surface);
}

.rr-ivya-suite-user-table{
  width:100%;
  min-width:790px;
  border-collapse:collapse;
  color:var(--rr-text-2);
  font-size:12px;
}

.rr-ivya-suite-user-table th,
.rr-ivya-suite-user-table td{
  padding:11px 12px;
  border-bottom:1px solid var(--rr-border-soft);
  text-align:left;
  vertical-align:middle;
}

.rr-ivya-suite-user-table th{
  background:var(--rr-surface-2);
  color:var(--rr-text-3);
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.rr-ivya-suite-user-table tbody tr:last-child td{
  border-bottom:0;
}

.rr-ivya-suite-user-table tbody tr:hover td{
  background:var(--rr-brand-50);
}

.rr-ivya-suite-user-table select,
.rr-ivya-suite-user-create-form input,
.rr-ivya-suite-user-create-form select{
  width:100%;
  min-height:38px;
  padding:7px 10px;
  border:1px solid var(--rr-border);
  border-radius:var(--rr-r-control);
  background:var(--rr-surface);
  color:var(--rr-ink);
}

.rr-ivya-suite-user-actions{
  white-space:nowrap;
}

.rr-ivya-suite-inline-form{
  display:inline-flex;
  margin:2px 4px 2px 0;
}

.rr-ivya-suite-create-user-box{
  margin-top:var(--rr-s5);
  padding:var(--rr-s5);
  border-radius:var(--rr-r-control);
  background:var(--rr-surface);
}

.rr-ivya-suite-create-user-box h3{
  margin-bottom:var(--rr-s2);
  color:var(--rr-ink);
  font-size:17px;
}

.rr-ivya-suite-user-create-form{
  display:grid;
  grid-template-columns:1.2fr 1fr .8fr auto auto;
  align-items:end;
  gap:var(--rr-s3);
  margin-top:var(--rr-s4);
}

.rr-ivya-suite-user-create-form label{
  color:var(--rr-text-2);
  font-size:11px;
  font-weight:700;
}

/* Criterios y principio rector. */
.rr-ivya-guidance{
  scroll-margin-top:calc(var(--rr-topbar-height) + var(--rr-s4));
}

.rr-ivya-suite-principle{
  margin-top:var(--rr-s4);
  border-left:4px solid var(--rr-tool-ivya-accent);
  background:var(--rr-tool-ivya-bg);
  color:var(--rr-brand-800);
}

/* Estados de acceso sin sesión/contexto. */
.rr-ivya-access-shell{
  display:grid;
  min-height:100vh;
  grid-template-rows:auto 1fr;
  gap:var(--rr-s6);
  padding:var(--rr-s6);
  background:var(--rr-app);
}

.rr-ivya-access-brand{
  width:min(100%,920px);
  margin:0 auto;
  color:var(--rr-brand-900);
}

.rr-ivya-access-brand small{
  color:var(--rr-text-3);
}

.rr-ivya-access-card{
  width:min(100%,920px);
  margin:0 auto;
}

.rr-ivya-access-card .rr-ivya-suite-state{
  margin-top:var(--rr-s4);
}

.rr-ivya-suite-state h2{
  margin-top:var(--rr-s4);
}

/* Anchors under a sticky top bar. */
#rr-ivya-tools,
#rr-ivya-suite-terms-panel,
#rr-ivya-guidance{
  scroll-margin-top:calc(var(--rr-topbar-height) + var(--rr-s4));
}

@media (max-width:1180px){
  .rr-ivya-suite-app{
    grid-template-columns:220px minmax(0,1fr);
  }

  .rr-ivya-suite-tools{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rr-ivya-suite-user-create-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rr-ivya-suite-user-create-form .rr-ivya-suite-button{
    width:max-content;
  }
}

@media (max-width:900px){
  .rr-ivya-suite-app{
    display:block;
  }

  .rr-ivya-rail{
    position:sticky;
    display:grid;
    height:auto;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    padding:var(--rr-s3) var(--rr-s4);
  }

  .rr-ivya-rail-brand{
    padding:0 var(--rr-s4) 0 0;
    border:0;
  }

  .rr-ivya-rail-brand small,
  .rr-ivya-rail-foot{
    display:none;
  }

  .rr-ivya-nav{
    flex-direction:row;
    justify-content:flex-end;
    gap:2px;
    padding:0;
    overflow:auto;
  }

  .rr-ivya-nav-item{
    display:inline-flex;
    flex:0 0 auto;
    min-height:38px;
    padding:8px 10px;
  }

  .rr-ivya-nav-item > span:first-child{
    display:none;
  }

  .rr-ivya-topbar{
    top:62px;
  }

  .rr-ivya-content{
    padding:var(--rr-s5);
  }

  .rr-ivya-kpi-band{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rr-ivya-kpi:nth-child(3){
    border-left:0;
    border-top:1px solid var(--rr-border-soft);
  }

  .rr-ivya-kpi:nth-child(4){
    border-top:1px solid var(--rr-border-soft);
  }

  .rr-ivya-suite-terms-panel{
    grid-template-columns:1fr;
  }
}

@media (max-width:680px){
  .rr-ivya-rail{
    display:block;
    padding:var(--rr-s3);
  }

  .rr-ivya-rail-brand{
    padding:0 0 var(--rr-s3);
  }

  .rr-ivya-nav{
    justify-content:flex-start;
  }

  .rr-ivya-topbar{
    top:108px;
    padding:0 var(--rr-s4);
  }

  .rr-ivya-context small,
  .rr-ivya-topbar-logout{
    display:none;
  }

  .rr-ivya-content{
    padding:var(--rr-s4);
  }

  .rr-ivya-suite-hero{
    padding:var(--rr-s5);
  }

  .rr-ivya-suite-hero h1{
    font-size:30px;
  }

  .rr-ivya-suite-orgbar{
    grid-template-columns:1fr;
    align-items:start;
  }

  .rr-ivya-suite-orgmeta{
    align-items:flex-start;
    text-align:left;
  }

  .rr-ivya-kpi-band,
  .rr-ivya-suite-tools,
  .rr-ivya-suite-columns,
  .rr-ivya-suite-terms-grid,
  .rr-ivya-suite-user-create-form{
    grid-template-columns:1fr;
  }

  .rr-ivya-kpi + .rr-ivya-kpi{
    border-top:1px solid var(--rr-border-soft);
    border-left:0;
  }

  .rr-ivya-suite-sectionhead,
  .rr-ivya-suite-sectionhead-compact{
    align-items:flex-start;
    flex-direction:column;
  }

  .rr-ivya-suite-users-summary-actions{
    justify-content:flex-start;
  }

  .rr-ivya-access-shell{
    padding:var(--rr-s4);
  }
}

@media (prefers-reduced-motion:reduce){
  .rr-ivya-suite-app *,
  .rr-ivya-suite-app *::before,
  .rr-ivya-suite-app *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

.rr-ivya-nav-label{
  margin:var(--rr-s4) 10px 3px;
  color:var(--rr-brand-400);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.rr-ivya-suite-terms-content{
  min-width:0;
}
