/* Core primitives. Flat surfaces, hairline borders, one amber action per screen. */
.rh-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-ui);font-weight:var(--weight-semibold);border:var(--border-width) solid transparent;border-radius:var(--radius-control);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-instant) var(--ease-standard)}
.rh-btn--lg{min-height:var(--control-h-lg);padding:0 var(--space-6);font-size:var(--size-body-lg)}
.rh-btn--md{min-height:var(--control-h);padding:0 var(--space-5);font-size:var(--size-body)}
.rh-btn--sm{min-height:var(--control-h-sm);padding:0 var(--space-4);font-size:var(--size-sm)}
.rh-btn--full{width:100%}
.rh-btn--primary{background:var(--action-primary);color:var(--text-on-amber)}
.rh-btn--primary:hover{background:var(--action-primary-hover)}
.rh-btn--primary:active{background:var(--action-primary-press);transform:scale(var(--press-scale))}
.rh-btn--secondary{background:transparent;color:var(--action-secondary-text);border-color:var(--action-secondary-border)}
.rh-btn--secondary:hover{background:var(--action-secondary-hover-bg)}
.rh-btn--secondary:active{background:var(--border-200);transform:scale(var(--press-scale))}
.rh-btn--ghost{background:transparent;color:var(--text-secondary)}
.rh-btn--ghost:hover{background:var(--surface-section);color:var(--text-heading)}
.rh-btn--ghost:active{transform:scale(var(--press-scale))}
.rh-btn--danger{background:transparent;color:var(--red-600);border-color:var(--red-600)}
.rh-btn--danger:hover{background:var(--red-100)}
.rh-btn:disabled{background:var(--action-disabled-bg);color:var(--action-disabled-text);border-color:transparent;cursor:not-allowed;transform:none}
.rh-btn__hint{font-weight:var(--weight-regular);opacity:.85}

.rh-iconbtn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:var(--border-width) solid transparent;border-radius:var(--radius-control);cursor:pointer;color:var(--text-heading);min-width:var(--tap-min);min-height:var(--tap-min);transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.rh-iconbtn--sm{min-width:var(--control-h-sm);min-height:var(--control-h-sm)}
.rh-iconbtn--outline{border-color:var(--border-hairline)}
.rh-iconbtn:hover{background:var(--surface-section)}
.rh-iconbtn--outline:hover{border-color:var(--border-strong)}
.rh-iconbtn:active{transform:scale(var(--press-scale))}
.rh-iconbtn:disabled{color:var(--action-disabled-text);cursor:not-allowed}

.rh-icon{display:inline-block;flex:none;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}

.rh-badge{display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-badge);font-family:var(--font-ui);font-weight:var(--weight-semibold);font-size:var(--size-xs);line-height:1;padding:7px var(--space-3);white-space:nowrap}
.rh-badge--emergency{background:var(--status-emergency-bg);color:var(--status-emergency-text)}
.rh-badge--success{background:var(--status-success-bg);color:var(--status-success-text)}
.rh-badge--error{background:var(--status-error-bg);color:var(--status-error-text)}
.rh-badge--neutral{background:var(--status-neutral-bg);color:var(--status-neutral-text)}
.rh-badge--info{background:var(--status-info-bg);color:var(--status-info-text)}
.rh-badge__dot{width:7px;height:7px;border-radius:var(--radius-pill);background:currentColor;flex:none}
.rh-badge__dot--live{animation:rh-pulse var(--pulse-duration) var(--ease-standard) infinite}
@keyframes rh-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.rh-card{background:var(--surface-card);border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--card-padding)}
.rh-card--lg{padding:var(--card-padding-lg)}
.rh-card--container{border-radius:var(--radius-container)}
.rh-card--quiet{background:var(--surface-card-quiet)}
.rh-card--accent{background:var(--surface-accent-soft);border-color:var(--border-on-tint)}
.rh-card--flush{padding:0;overflow:hidden}
.rh-card--interactive{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}
.rh-card--interactive:hover{border-color:var(--border-strong)}
.rh-card--interactive:active{transform:scale(var(--press-scale))}
.rh-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}
.rh-card__title{font-family:var(--font-display);font-size:var(--size-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);color:var(--text-heading);font-weight:var(--weight-semibold)}
.rh-card__meta{font-size:var(--size-sm);line-height:var(--lh-sm);color:var(--text-muted)}

.rh-tag{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-1);border:var(--border-width) solid var(--border-hairline);background:var(--surface-card);color:var(--text-secondary);font-size:var(--size-sm);line-height:1;padding:7px var(--space-3);font-weight:var(--weight-medium)}
.rh-tag--quiet{background:var(--surface-section);border-color:transparent}
.rh-tag--accent{background:var(--surface-accent-soft);border-color:var(--border-on-tint);color:var(--text-on-amber-tint)}
