.fos-module { position: relative; display: flex; flex-direction: column; min-height: 190px; padding: var(--fos-space-5); border: 1px solid var(--fos-color-border-subtle); border-radius: var(--fos-radius-lg); background: var(--fos-color-surface); color: var(--fos-color-text); box-shadow: var(--fos-shadow-sm); }
.fos-module--featured { min-height: 250px; grid-row: span 2; border-color: var(--fos-color-border-strong); background: linear-gradient(180deg, var(--fos-color-surface), var(--fos-color-accent-soft)); box-shadow: var(--fos-shadow-md); }
.fos-module--interactive { transition: transform var(--fos-motion-fast) var(--fos-ease-standard), border-color var(--fos-motion-fast) var(--fos-ease-standard), box-shadow var(--fos-motion-fast) var(--fos-ease-standard); }
.fos-module--interactive:hover { transform: translateY(-2px); border-color: var(--fos-color-border-strong); box-shadow: var(--fos-shadow-md); }
.fos-module-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--fos-space-4); margin-bottom: var(--fos-space-5); }
.fos-module-eyebrow { margin: 0 0 var(--fos-space-2); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--fos-color-text-muted); }
.fos-module-title { margin: 0; font-size: 1.125rem; line-height: 1.25; letter-spacing: -0.02em; color: var(--fos-color-text); }
.fos-module--featured .fos-module-title { font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -0.045em; }
.fos-module-status { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--fos-space-2); padding: 4px 8px; border-radius: var(--fos-radius-full); font-size: .75rem; font-weight: 900; line-height: 1; background: var(--fos-color-surface-muted); color: var(--fos-color-text-muted); }
.fos-module-status[data-state="live"] { background: var(--fos-color-success-soft); color: var(--fos-color-success); }
.fos-module-status[data-state="warning"] { background: var(--fos-color-warning-soft); color: var(--fos-color-warning); }
.fos-module-status[data-state="danger"] { background: var(--fos-color-danger-soft); color: var(--fos-color-danger); }
.fos-module-status[data-state="processing"] { background: var(--fos-color-info-soft); color: var(--fos-color-info); }
.fos-module-status[data-state="experimental"], .fos-module-status[data-state="monitoring"] { background: var(--fos-color-surface-muted); color: var(--fos-color-text-muted); }
.fos-module-body { flex: 1; color: var(--fos-color-text-soft); line-height: 1.6; }
.fos-module-body p { margin: 0; }
.fos-module-footer { margin-top: var(--fos-space-5); padding-top: var(--fos-space-4); border-top: 1px solid var(--fos-color-border-subtle); color: var(--fos-color-text-muted); font-size: .875rem; }
.fos-module-grid--product { grid-template-columns: minmax(260px, 1.15fr) minmax(220px, .85fr) minmax(220px, .85fr); }
@media (max-width: 980px) {
  .fos-module-grid--product { grid-template-columns: 1fr 1fr; }
  .fos-module--featured { grid-row: auto; grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .fos-module-grid--product { grid-template-columns: 1fr; }
}
