/* Rowgear shared primitives (docs/brand/02-components.md sections 7, 9, 10, 14, 15). Tokens only.
   Loaded after site.css. Wrapper-specific styles live in Components/Ui/*.razor.css. */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Status pills (section 9) */
.rg-status{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}
.rg-status.success{color:var(--status-success);background:rgba(var(--status-success-rgb),.15)}
.rg-status.warning{color:var(--status-warning-text);background:rgba(var(--status-warning-rgb),.2)}
.rg-status.error{color:var(--status-error);background:rgba(var(--status-error-rgb),.12)}
.rg-status.info{color:var(--status-info);background:rgba(var(--status-info-rgb),.12)}
.rg-status.neutral{color:var(--status-neutral);background:rgba(var(--status-neutral-rgb),.15)}
.rg-status.brand{color:var(--rowgear-primary-mid);background:rgba(var(--rowgear-primary-rgb),.12)}
.rg-status.sky{color:var(--rowgear-secondary-ink);background:rgba(var(--rowgear-secondary-rgb),.15)}
.rg-status.amber{color:var(--status-warning-on-amber);background:rgba(var(--rowgear-accent-rgb),.2)}
button.rg-pill{border:1px solid transparent;cursor:pointer;font-family:inherit;transition:var(--transition-ui)}
button.rg-pill:hover{transform:var(--lift-sm)}
button.rg-pill[aria-pressed="true"]{border-color:rgba(var(--rowgear-primary-rgb),.35);background:rgba(var(--rowgear-primary-rgb),.18)}
button.rg-pill:focus-visible{outline:2px solid var(--rowgear-primary);outline-offset:2px}

/* Buttons (section 10) */
.rg-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:.55rem 1.4rem;font:inherit;font-weight:var(--fw-semibold);
  text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-pill);transition:var(--transition-ui);background:transparent}
.rg-btn svg{width:1.15em;height:1.15em;fill:currentColor}
.rg-btn:focus-visible{outline:2px solid var(--rowgear-primary);outline-offset:2px}
.rg-btn:disabled,.rg-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
.rg-btn.primary{color:white;background:var(--grad-brand-hero);box-shadow:0 10px 30px rgba(var(--rowgear-primary-rgb),.3)}
.rg-btn.primary:hover:not(:disabled){transform:var(--lift-sm);box-shadow:0 14px 36px rgba(var(--rowgear-primary-rgb),.4)}
.rg-btn.ghost{color:var(--rowgear-primary)}
.rg-btn.ghost:hover{background:rgba(var(--rowgear-primary-rgb),.08)}
.rg-btn.outline{color:var(--rowgear-primary);border-color:rgba(var(--rowgear-primary-rgb),.5)}
.rg-btn.outline:hover{background:rgba(var(--rowgear-primary-rgb),.06)}
.rg-btn.small{min-height:32px;padding:.3rem .9rem;font-size:var(--text-sm)}
.rg-icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;color:inherit;background:transparent;border:0;border-radius:var(--radius-round);cursor:pointer;transition:var(--transition-ui)}
.rg-icon-btn:hover{background:rgba(var(--rowgear-primary-rgb),.1)}
.rg-icon-btn:focus-visible{outline:2px solid var(--rowgear-primary)}
.rg-icon-btn svg{width:20px;height:20px;fill:currentColor}

/* Table cells (section 7) */
.rg-person{display:flex;align-items:center;gap:var(--space-3)}
.rg-avatar-sq{width:40px;height:40px;flex:0 0 40px;border-radius:var(--radius-md);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:var(--text-md);color:white;background:var(--grad-brand-hero)}
.rg-progress{position:relative;width:100%;min-width:80px;height:20px;background:rgba(var(--black-rgb),.08);border-radius:10px;overflow:hidden}
.rg-progress-fill{height:100%;background:var(--grad-progress);border-radius:10px;transition:width var(--dur-base) var(--ease-standard)}
.rg-progress-text{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--mud-palette-text-primary)}

/* Empty, skeleton, alert (sections 13-15) */
.rg-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);text-align:center}
.rg-empty-ico{width:40px;height:40px;fill:rgba(var(--rowgear-primary-rgb),.5)}
.rg-skel{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:rgba(var(--black-rgb),.06)}
.rg-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(var(--white-rgb),.6),transparent);animation:rg-shimmer 1.4s infinite}
@keyframes rg-shimmer{to{transform:translateX(100%)}}
.rg-skel.line{height:1rem;margin:.5rem 0}.rg-skel.row{height:56px;border-radius:var(--radius-md);margin-bottom:var(--space-2)}
.rg-skel.block{width:100%;height:100%;min-height:120px;border-radius:var(--radius-lg)}
.rg-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-md)}
.rg-alert.error{color:var(--status-error);background:var(--status-error-tint)}
@media (prefers-reduced-motion:reduce){.rg-skel::after{animation:none}}
.mud-theme-dark .rg-table td{border-bottom-color:rgba(var(--white-rgb),.08)}
