/* ============================================================
   Shared base styles for every /portal/ page — one source instead of the
   same rules copy-pasted into 7 files. Page-specific styles (e.g.
   machine.html's cabinet/drawer chrome) stay inline in that page.
   ============================================================ */

html { font-family: 'Inter', system-ui, sans-serif; }
.font-display { font-family: 'Fraunces', ui-serif, Georgia, serif; }

/* Shared loading spinner — see portal-shared.js's spinnerHtml(). Teal ring
   on the brand palette so it reads as "this page" rather than a generic
   browser loader; sized via inline width/height where used inline (e.g.
   next to button text) instead of a separate small-spinner variant. */
.spinner {
    width: 22px;
    height: 22px;
    border: 2.5px solid rgba(18,92,78,0.15);
    border-top-color: #125C4E;
    border-radius: 50%;
    animation: spin .7s linear infinite;
    flex-shrink: 0;
}
@keyframes spin { to { transform: rotate(360deg); } }
