.ribbon-bar { display: flex; background-color: var(--surface); border-bottom: var(--border-width) solid var(--border); padding: var(--spacing-xs) 0; min-height: 40px; align-items: center; } .ribbon-tab { display: flex; align-items: center; padding: var(--spacing-sm) var(--spacing-md); background: transparent; border: none; border-radius: var(--border-radius); cursor: pointer; color: var(--text); font-family: var(--font-family); font-size: var(--font-size-md); transition: background-color var(--transition-normal); margin: 0 var(--spacing-xs); } .ribbon-tab:hover { background-color: var(--hover); } .ribbon-tab.active { background-color: var(--primary); color: var(--background); } .tab-icon { margin-right: var(--spacing-sm); font-size: var(--font-size-lg); } .tab-label { font-weight: var(--font-weight-medium); } /* ── Divider ─────────────────────────────────────────────────── */ .ribbon-divider { width: 1px; height: 24px; background-color: var(--border); margin: 0 var(--spacing-sm); } /* ── Dropdown ────────────────────────────────────────────────── */ .ribbon-dropdown-wrapper { position: relative; display: flex; align-items: center; } .ribbon-dropdown { position: absolute; top: 100%; left: var(--spacing-xs); background-color: var(--surface); border: var(--border-width) solid var(--border); border-radius: var(--border-radius); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); z-index: 1000; min-width: 120px; padding: var(--spacing-xs) 0; margin-top: var(--spacing-xs); } .ribbon-dropdown-item { display: block; width: 100%; padding: var(--spacing-sm) var(--spacing-md); background: transparent; border: none; cursor: pointer; color: var(--text); font-family: var(--font-family); font-size: var(--font-size-md); text-align: left; transition: background-color var(--transition-normal); } .ribbon-dropdown-item:hover { background-color: var(--hover); } /* ── Status ──────────────────────────────────────────────────── */ .ribbon-status { margin-left: var(--spacing-md); font-size: var(--font-size-sm); color: var(--text-secondary, #888); font-family: var(--font-family); } /* Responsive design */ @media (max-width: 768px) { .ribbon-tab { padding: var(--spacing-sm); } .tab-label { display: none; } .tab-icon { margin-right: 0; } }