/* =========================================================
   Rayos Buttons System — global action language
   One semantic button system for the whole application.
   ========================================================= */
:root{
  --rayos-btn-h:38px;
  --rayos-btn-h-sm:32px;
  --rayos-btn-radius:10px;
  --rayos-btn-gap:7px;
  --rayos-btn-font:12px;
  --rayos-btn-weight:800;
  --rayos-btn-primary:var(--rayos-primary,#18756b);
  --rayos-btn-primary-hover:var(--rayos-primary-hover,#126158);
  --rayos-btn-secondary:#fff;
  --rayos-btn-secondary-text:#35544f;
  --rayos-btn-secondary-border:#cfdedb;
  --rayos-btn-danger:#c9473e;
  --rayos-btn-danger-hover:#a93832;
  --rayos-btn-success:#17815c;
  --rayos-btn-warning:#a66c18;
  --rayos-btn-focus:0 0 0 3px rgba(var(--rayos-primary-rgb,24,117,107),.14);
}

.rayos-btn{
  box-sizing:border-box!important;
  min-height:var(--rayos-btn-h)!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--rayos-btn-gap)!important;
  padding:7px 14px!important;
  border:1px solid transparent!important;
  border-radius:var(--rayos-btn-radius)!important;
  font-family:Cairo,Arial,sans-serif!important;
  font-size:var(--rayos-btn-font)!important;
  font-weight:var(--rayos-btn-weight)!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.rayos-btn:hover:not(:disabled):not([aria-disabled="true"]){transform:translateY(-1px)!important}
.rayos-btn:focus-visible{outline:0!important;box-shadow:var(--rayos-btn-focus)!important}
.rayos-btn:disabled,.rayos-btn[aria-disabled="true"]{opacity:.52!important;cursor:not-allowed!important;transform:none!important}
.rayos-btn.is-action-busy{cursor:wait!important}
.rayos-btn>.ui-icon,.rayos-btn>i{
  width:18px!important;height:18px!important;min-width:18px!important;display:inline-grid!important;place-items:center!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;
}
.rayos-btn>.ui-icon *,.rayos-btn>i{color:inherit!important}

.rayos-btn-primary{
  background:var(--rayos-gradient,linear-gradient(135deg,#18756b,#103f40))!important;
  border-color:var(--rayos-btn-primary)!important;color:#fff!important;
  box-shadow:0 5px 13px rgba(var(--rayos-secondary-rgb,16,63,64),.14)!important;
}
.rayos-btn-primary:hover:not(:disabled){background:var(--rayos-gradient-hover,linear-gradient(135deg,#126158,#0b3032))!important;border-color:var(--rayos-btn-primary-hover)!important;color:#fff!important}

.rayos-btn-secondary{
  background:#fff!important;border-color:var(--rayos-btn-secondary-border)!important;color:var(--rayos-btn-secondary-text)!important;
}
.rayos-btn-secondary:hover:not(:disabled){background:var(--rayos-primary-soft,#e8f4f1)!important;border-color:var(--rayos-primary-border,#b9d9d3)!important;color:var(--rayos-primary-hover,#126158)!important}

.rayos-btn-danger{
  background:#fff5f4!important;border-color:#edc7c4!important;color:var(--rayos-btn-danger)!important;
}
.rayos-btn-danger:hover:not(:disabled){background:var(--rayos-btn-danger)!important;border-color:var(--rayos-btn-danger)!important;color:#fff!important}

.rayos-btn-success{
  background:#edf8f3!important;border-color:#b9dfcf!important;color:var(--rayos-btn-success)!important;
}
.rayos-btn-success:hover:not(:disabled){background:var(--rayos-btn-success)!important;border-color:var(--rayos-btn-success)!important;color:#fff!important}

.rayos-btn-warning{
  background:#fff7e9!important;border-color:#ecd6ae!important;color:var(--rayos-btn-warning)!important;
}
.rayos-btn-warning:hover:not(:disabled){background:var(--rayos-btn-warning)!important;border-color:var(--rayos-btn-warning)!important;color:#fff!important}

.rayos-btn-info{
  background:#eef5fb!important;border-color:#caddeb!important;color:#356d96!important;
}
.rayos-btn-info:hover:not(:disabled){background:#356d96!important;border-color:#356d96!important;color:#fff!important}

.rayos-btn-link{
  min-height:28px!important;padding:3px 5px!important;border:0!important;background:transparent!important;color:var(--rayos-primary,#18756b)!important;
  border-radius:6px!important;box-shadow:none!important;text-decoration:underline!important;text-underline-offset:3px!important;
}
.rayos-btn-link:hover:not(:disabled){background:var(--rayos-primary-soft,#e8f4f1)!important;color:var(--rayos-primary-hover,#126158)!important;transform:none!important}

.rayos-btn-icon{
  width:var(--rayos-btn-h)!important;min-width:var(--rayos-btn-h)!important;height:var(--rayos-btn-h)!important;min-height:var(--rayos-btn-h)!important;
  padding:0!important;border-radius:10px!important;
}
.rayos-btn-sm{min-height:var(--rayos-btn-h-sm)!important;padding:5px 10px!important;font-size:11px!important;border-radius:8px!important}
.rayos-btn-sm.rayos-btn-icon{width:var(--rayos-btn-h-sm)!important;min-width:var(--rayos-btn-h-sm)!important;height:var(--rayos-btn-h-sm)!important;min-height:var(--rayos-btn-h-sm)!important;padding:0!important}

/* Action bars all use the same rhythm. */
.form-actions,.section-actions,.table-command-center,.report-nav,.der-actions,.report-actions,.statement-actions{
  gap:8px!important;
}
.form-actions .rayos-btn,.section-actions .rayos-btn,.table-command-center .rayos-btn{margin:0!important}

/* Row actions stay compact but keep the same semantic language. */
.row-actions .rayos-btn,.status-actions .rayos-btn,.report-row-actions .rayos-btn,.statement-row-actions .rayos-btn,
.tabulator-cell .rayos-btn{
  --rayos-btn-h:32px;
  min-width:32px!important;
  padding:5px 9px!important;
  font-size:10px!important;
  border-radius:8px!important;
}
.row-actions .rayos-btn-icon,.status-actions .rayos-btn-icon,.report-row-actions .rayos-btn-icon,.statement-row-actions .rayos-btn-icon,
.tabulator-cell .rayos-btn-icon{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important}

/* Report hero icon actions use one consistent size regardless of page-specific legacy CSS. */
.report-actions .rayos-btn-icon,.statement-actions .rayos-btn-icon,.der-actions .rayos-btn-icon{
  width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:10px!important;
}

@media(max-width:620px){
  .rayos-btn{min-height:36px!important;padding-inline:11px!important;font-size:11px!important}
  .rayos-btn-icon{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important}
}

.rayos-report-new-tab{flex:0 0 auto!important}
@media print{.rayos-report-new-tab{display:none!important}}

/* Central enforcement: page-specific legacy CSS must not change ordinary action buttons. */
body button.rayos-btn,
body a.rayos-btn{
  min-height:var(--rayos-btn-h)!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--rayos-btn-gap)!important;
  padding:7px 14px!important;
  border-radius:var(--rayos-btn-radius)!important;
  font-family:Cairo,Arial,sans-serif!important;
  font-size:var(--rayos-btn-font)!important;
  font-weight:var(--rayos-btn-weight)!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
body button.rayos-btn-primary,body a.rayos-btn-primary{background:var(--rayos-gradient,linear-gradient(135deg,#18756b,#103f40))!important;border-color:var(--rayos-btn-primary)!important;color:#fff!important}
body button.rayos-btn-secondary,body a.rayos-btn-secondary{background:#fff!important;border-color:var(--rayos-btn-secondary-border)!important;color:var(--rayos-btn-secondary-text)!important}
body button.rayos-btn-danger,body a.rayos-btn-danger{background:#fff5f4!important;border-color:#edc7c4!important;color:var(--rayos-btn-danger)!important}
body button.rayos-btn-success,body a.rayos-btn-success{background:#edf8f3!important;border-color:#b9dfcf!important;color:var(--rayos-btn-success)!important}
body button.rayos-btn-warning,body a.rayos-btn-warning{background:#fff7e9!important;border-color:#ecd6ae!important;color:var(--rayos-btn-warning)!important}
body button.rayos-btn-info,body a.rayos-btn-info{background:#eef5fb!important;border-color:#caddeb!important;color:#356d96!important}
body button.rayos-btn-icon,body a.rayos-btn-icon{width:var(--rayos-btn-h)!important;min-width:var(--rayos-btn-h)!important;height:var(--rayos-btn-h)!important;min-height:var(--rayos-btn-h)!important;padding:0!important;border-radius:10px!important}
body button.rayos-btn-sm,body a.rayos-btn-sm{min-height:var(--rayos-btn-h-sm)!important;padding:5px 10px!important;font-size:11px!important;border-radius:8px!important}
body button.rayos-btn-sm.rayos-btn-icon,body a.rayos-btn-sm.rayos-btn-icon{width:var(--rayos-btn-h-sm)!important;min-width:var(--rayos-btn-h-sm)!important;height:var(--rayos-btn-h-sm)!important;min-height:var(--rayos-btn-h-sm)!important;padding:0!important}
